This post almost didn’t happen. For over seven years I’ve been comparing GIS software in the hope that someone would be reading and take it upon themselves to fix a few of the issues that we all run into on a daily basis. With the new releases someone told me something, and it almost stopped it all from happening …
“Esri is the Apple Inc., and QGIS is the Google.”
As painful as it is to hear, it’s true. Even though I’ve been a hardcore user of QGIS for over five years, I find myself falling back into using the ArcMap tools just to save myself rummaging through lists of plugins, and I especially like that I can just drag and drop my data into the data frame and it just works.
As powerful as ArcMap/Arcscene/ArcGIS Pro/ArcGlobe/ArcGIS Explorer/ArcServer/Arc*add your own term here* is, it feels old and a little clunky, like using Windows XP. For a decade it has had the same comfy interface, the same basic functions, and the same symbology. This is by no means a bad thing, but the cartographic capabilities of QGIS are far superior, and let’s not mention the true 64bit processing.
This year, there is a new contender from Esri that I feel I need to discuss, ArcGIS Pro 1.2. Although it is in beta, it is already proving itself a worthy successor to ArcMap. Unfortunately, until it is out of beta, I won’t be testing it as I feel it is unfair to compare an unfinished software.
Before we get to the crux of things, I’d just like to add that there have been no major interface changes to either software, and I am GIS neutral. I just want a GIS that works and is reliable; I have no bias as to one or the other.
What is new in QGIS 2.14?
The most talked-about is the inclusion of a 2.5D renderer (covered in earlier blogs), but what you may not have noticed are the subtle changes, changes to the processing, caching, labeling, and legend. Here is a full list that links to the QGIS changelog
- Feature: Changed behavior of strpos function
- Feature: Zoom to feature with right-click in attribute table
- Feature: Speed and memory improvements
- Feature: More expression variables
- Feature: Better control over placement of map elements
- Feature: Paid bugfixing programe
- Feature: Field calculator can be used to update feature’s geometry
- Feature: New expression functions in 2.14
- Feature: Cache WMS capabilities
- Feature: Curved geometry support expanded
- Feature: Better handling of time and datetime fields
- Feature: Z/M support in delimited text provider
- Feature: Transaction groups for postgres editing
- Feature: Postgres provider PKI authentication
- Feature: Virtual layers
- Feature: More file extensions for GDAL and OGR providers file selectors
- Feature: Use ST_RemoveRepeatedPoints for server-side simplification with PostGIS 2.2 (or newer) layers
- Feature: Removal of SPIT plugin
- Feature: DXF export: option to use title instead of name as DXF layer name in application and server
- Feature: Geometry type can be overridden in the vector save as dialog
- Feature: Vector joins are now saved within QLR layer-definition-files
- Feature: External Resource widget
- Feature: N:M relation editing
- Feature: Redesign expression function editor
- Feature: Store python init code into the project
- Feature: New filtering and sorting options for QgsFeatureRequest
- Feature: Custom feature form Python code options
- Feature: New PyQGIS classes in 2.14
- New core classes
- New GUI classes
- Feature: Size assistant for varying line width
- Feature: Support for transparency in SVG color parameters
- Feature: Easy duplication of symbol layers
- Feature: 2.5D Renderer
- Feature: Allow definition of rendering order for features
- Feature: Geometry generator symbols
What’s new in ArcMap 10.4?
There are quite a few new raster types available for the software, some of which I have to admit that I had never heard of, but it’s interesting to see that you can now export topology errors in the ArcMap Basic license. For those wondering why I haven’t listed all the changes, please remember that this is a comparison of the basic GIS software.
Data Management toolbox
|Add Rasters To Mosaic Dataset||Two new parameters added:|
|Alter Mosaic Dataset Schema||The raster_type_names parameter has 12 new options:|
|Analyze Control Points||The out_overlap_table parameter is now Optional.|
|Apply Block Adjustment||New parameter added: DEM.|
|Compute Control Points||
Three new parameters added:
|Compute Tie Points||
Two new parameters added:
Two new parameters added:
|Create Database Connection||The database_platform parameter has a new option: DAMENG.|
|Create Database User||When the tool is run against a geodatabase in Oracle or PostgreSQL, it now creates shared log file tables for the user. With the log file tables already created, the database administrator can remove privileges to create tables from the user, if needed, without negatively affecting the user’s ability to create large selection sets, edit data, or reconcile versioned data.|
|Create Enterprise Geodatabase||When you run the tool on an Oracle 12c database, the sde user is granted privileges required to import data using Oracle Data Pump. This allows you to complete your Oracle Data Pump export and import workflows without having to separately grant these privileges.|
|Create Feature Class||The geometry_type parameter has a new option: MULTIPATCH.|
|Create LAS Dataset||New parameter added: create_las_prj.|
|Create Map Tile Package||New parameter added: extent.|
|Create Mosaic Dataset||The product_definition parameter has nine new options:|
|Create Pansharpened Raster Dataset||The sensor parameter has seven new options:|
|Detect Feature Changes||New parameter added: compare_line_direction.|
|Export Topology Errors||You can now run this tool with an ArcGIS for Desktop Basic license.|
|Feature Compare||The ignore_options parameter has a new option: IGNORE_FIELDALIAS.|
|Generate Tile Cache Tiling Scheme||The tile_format parameter has a new option: LERC.|
|Project||New parameter added: vertical.|
|Register Raster||The transformation_type parameter has a new option: POLYSIMILARITY.|
|Synchronize Mosaic Dataset||New parameter added: estimate_statistics.|
|Table Compare||The ignore_options parameter has a new option: IGNORE_FIELDALIAS.|
|Warp||The transformation_type parameter has a new option: POLYSIMILARITY.|
|Warp From File||The transformation_type parameter has a new option: POLYSIMILARITY.|
Python and ArcPy
ArcGIS 10.4 has been upgraded to include Python 2.7.10. Additional third-party libraries including SciPy, pandas, Sympy, and nose have been included, and existing third-party libraries including NumPy and matplotlib have been upgraded to more current releases.
The GetPackageInfo function has been added to return a dictionary about packages.
The topology edit tool now supports additional commands and keyboard shortcuts for selecting and moving nodes and edges.
- Press the N key to select topology nodes.
- Press the E key to select topology edges.
- Move and Move To commands are now available on the topology edit tool context menu.
The parcel Merge dialog box now has additional options for managing parent parcels. Parent parcels can be deleted, flagged as historic, or remain as current, active parcels.
When dividing parcels into equal areas, the number of parts on the Parcel Division dialog box can be set to 1. Set the number of equal area parts to 1 when a deed calls for a specific area to be divided from the parcel, leaving a remainder parcel.
Performance improvements have been made to the Mean Points tool. Furthermore, the tool now always stays active and can be used repeatedly without the need to specify a tolerance.
Collinear line sequences in the same plan are straightened during adjustment postprocessing if they lie within the specified Straighten Collinear Line Sequences tolerances. These tolerances are available on the Adjust Coordinates dialog box.
Geodatabases and databases
- A new advanced option—All records for Tables—has been added to the Create Replica wizard. Checking this option allows you to designate the inclusion of all data from all tables in your replica. In earlier releases, you had to set the option to include data for each table individually.
- Beginning with ArcGIS 10.4, you must set an additional option (Return Output Parameters As ResultSet) when you configure the ODBC driver to connect to Teradata.
- ArcGIS now supports connections to Dameng databases. You can connect to view and analyze data in ArcMap. You can also publish map and feature services to ArcGIS for Server.
- If you use SAP HANA 1.0 SPS10, you can now use ArcGIS to load data that contains z and m values and you can view and analyze existing data that contains z and m values.
- There is a new scrollable LAS point profile view. Using the mouse/keyboard keys the area-of-interest profile window will move or rotate and update immediately in the profile window.
- Location of the cursor in point profile window is displayed in ArcMap inside the profile area-of-interest.
- Elevation is now displayed and updated when moving cursor around in point profile window
There have been five improvements for raster types.
- The SPOT-7 raster type is now supported.
- The UAV/UAS raster type is now supported.
- The WorldView-3 raster type now supports the SWIR bands.
- Support netCDF and HDF data stored as irregularly spaced arrays is now supported.
- There have also been improvements within Chinese raster types.
There are several improvements with raster geoprocessing.
- The Segmentation and Classification toolset has a new Train Random Trees Classifier tool. New parameters were added to the Train ISO Cluster Classifier tool.
- The Add Rasters To Mosaic Dataset tool supports two new parameters: Auxiliary input and Estimate mosaic dataset statistics.
- The Copy Raster tool supports two new parameters: Format and Apply transformation.
- The Compute Tie Points and Compute Control Points tools both have two new parameters: Point Distribution and Point Density.
- The Make Mosaic Layer tool supports the Processing template.
- The Generate Tile Cache Tiling Scheme tool now supports LERC compression.
- There are two new geoprocessing environment settings added: LERC compression and parallel processing server.
The Georeferencing toolbar now has three new first-order transformations available: Only rotation and shift, Only shift and scale, Only rotation and scale.
A lot has changed since I last ran this; I no longer have the 8 core 32GB RAM “beast” anymore for starters. I expect that times will be changed, but by how much?
For those who want the spec of the machine I am using:
Although it is more home computer spec, I am reliably told that this is should be more than adequate for running ArcMap and QGIS.
1. Load Time
As this is a comparison of the two new updates. Rather that witter on about my personal views, I thought it better to provide some test results.
To make the test equal, the method I use was to start up the software being tested, leave it for 10 minutes (to ensure all elements have loaded), and the add ALL 2010 AIS from a folder in the root – C:\GIS\. If you wish to test the data yourself, it can be downloaded from here. The timer was started from the moment that the data is added to the data frame (through the add data button). The timer is stopped when all data has finished loading, indicated in ArcGIS by the globe in the bottom right not spinning and in QGIS by watching the windows processes and seeing when the CPU demand dropped to zero again.
For those who wish to go further down the rabbit hole, I categorized the data for both QGIS and ArcGIS and saved the styles. The AIS was categorized using standard deviation (n0) with eight categories. Data was loaded directly from the qml/lyr.
The time given is the average of the five runs which were made.
ArcGIS 10.2 = 27.27 seconds
ArcGIS 10.3 = 38.5 seconds
ArcGIS 10.4 = 24.04 seconds
QGIS 2.6 = 9.103 seconds
QGIS 2.8 = 8.201 seconds
QGIS 2.14 = 5.08 seconds
On average QGIS was 20 seconds faster to load the data; furthermore, there was a slight speed increase for QGIS from 2.8 to the newer 2.14
2. Testing – Analysis
What use is your software if you spend your days waiting for it to finish a process? The amount of time I must have lost due to running processes is immense, so what if I could save some time? Because of this, I ran a viewshed test. I put a single point down. Then, using standard settings (and OS Terrain50), I ran a viewshed (ensuring the output raster resolutions are identical).
ArcGIS 10.2 = 42 minutes
ArcGIS 10.3 = 4 failed attempts & gave up*
ArcGIS 10.4 = 12m 55s
QGIS 2.6 = 58 minutes
QGIS 2.8 = 1hr 16min
QGIS 2.14 = 26.86s
It looks like either this machine is far superior to the old desktop OR both software has made significant improvements in its calculation algorithms. To confirm, both outputs were identical and can be obtained through the link at the end of the article.
5. Testing – Map Export
I seem to lose days exporting PDF files from GIS, so for me, this test is one of the most relevant so that I can compare the amount of time consumed by the simple “PDF Export.”
For this test, the same EFH shapefiles used previously were loaded, no styles applied, then the bathymetric contours (also from the Marine Cadastre website) and the Esri world countries shapefile. I then opened the layout/composer and set the orientation to landscape and the size to A3. Scale was set to 1:50000,000 then centered on the EFH data.
Once loaded and left to settle of 10mins, I set the PDF export to 500dpi and then made sure that both the QGIS and ArcGIS settings were the same* (no layers, no georeferencing etc). This is the average times for five runs.
The results were as follows:
ArcGIS 10.2 = 3mins 18s – File size 795MB
ArcGIS 10.3 = 3mins 30s – File size 903MB
ArcGIS 10.4 = 7.04s – File size 1.9MB
QGIS 2.6 = 37.4s – File size 72MB
QGIS 2.8 = 35.5s – File size 69MB
QGIS 2.14 = 10.3s – File size 18.16MB
*Just to be clear, ArcGIS and QGIS were run separately
This is a new category, as a few comments I have had asked how many crashes I have had whilst testing. I am please to say on this occasion NONE.
As well as comparing the times above, I also ran through both software by opening a list of tools which are used within the office on a regular basis to ensure that the software is safe to be used.
As stated previously, it would be unfair to compare the tools as some tools are unique or paid-for plugins. Needless to say, I found no issues in my testing.
In this comparison, I think that, although ArcGIS 10.3 has released a HUGE number of new tools and updates, they are, in large part, for specialists. These tools are unlikely to get used on a regular basis by people like you and me.
QGIS has shown some muscle and has, in this testing, shown itself to be much faster. Furthermore, one of my “niggles” from the last article has been dealt with: the shadows for points and fonts. Although there are only a handful of updates and new features, the tools (for me) are more likely to be used.
Again, as before, there is no clear winner as they are both great systems and suited to different professionals in different way. For basic use or an introduction to the world of GIS, you wouldn’t go wrong whichever you choose.