Category Archives: Python

Top 10 Improvements I’d Like to See in ArcGIS 10.2 for Desktop #10: Grids & Graticules

For about the last decade John Calkins, and more recently Joe Holubar, have been counting down what they see as the Top 10 Improvements in the latest release of ArcGIS for Desktop during the Plenary of the Esri International User Conference.  For me it is always one of the UC highlights and I greatly appreciate the efforts of the developers and presenters that lead up to it.

With July 8, ArcGIS 10.2 and this year’s UC fast approaching I thought I would help them out with what I would like to see Esri include in ArcGIS for Desktop 10.2 (and maybe demonstrated during that session).

Coming in at #10 are Grid and Graticule Improvements:

If you are keen to see these too, then follow the links to find corresponding ArcGIS Ideas awaiting your vote.

ANZMapS and Story Maps from ArcGIS for Desktop

ANZMapS_logoAs much as I would have liked to attend the Surveying & Spatial Sciences Conference in Canberra last week, I decided instead to attend for two days and present at the ANZMapS Conference in Melbourne at the end of the previous week.  It was a decision I did not regret because I found it to be an event full of interesting presentations and attended by a very welcome and enthusiastic society of mainly cartographers.

SLIGHT_James SLIGHT_William_(c1830-1887)

My presentation was primarily about my great-great-great-grandfather William Slight (pictured at left) who was highly regarded as an engraver of maps in Victoria during the period from 1855-1887.  Upon his death in 1887, his eldest son James Slight (1855-1930; pictured at right) succeeded him as Chief Engraver and Draughtsman for the Crown Lands Department of Victoria.  James (better known as Jim) was an all rounder who also played for Australia in the first Test Cricket match on English soil in 1880 after having umpired the first inter-colonial Australian Rules football match between South Australia and Victoria in 1879.

I had hoped to tell their tale using an Online Story Map but in the end decided on a different approach.  One of my main requirements was to be able to use William Slight’s best known map called Continental Australia (see below) as a basemap.  I purchased a high resolution image of the map from the National Library of Australia and it was easy to georeference using ArcGIS for Desktop.  However, to make it available as a basemap in the ArcGIS.com map viewer or ArcGIS Explorer Online would have required me to publish it to ArcGIS for Server for which I do not have licensing.  Consequently, I opted to do my presentation using ArcGIS for Desktop alone.

SLIGHT_William_(Continental_Australia_map)

To move between slides I used a Python Add-in to add a toolbar with 26 buttons (one for each “slide”).  With these I was able to step through various extents from Scotland, England, Australia, USA and Colombia and turn layers and labels on and off according to my narrative with one click per “slide”.  I used HTML popups to examine photos and documents like marriage certificates, death notices, a will, and newspaper articles along the way.

I would not advocate ArcGIS for Desktop for more than a subset of story maps, but if you have a license (perhaps ArcGIS for Home Use) and some intermediate Python skills, not every story map needs to be online.

What I have been up to

PolyGeo has now been trading for almost 6 months, so I thought it was time to blog about its business to date.  It has made what I believe to be a solid start, based on a strategy to raise its profile first, before increasing its billable hours and product development.

Profile raising has been achieved by presenting two workshops (OpenStreetMap and OGC Web Service Interoperability) and a joint paper on the Online Environmental Mapping Service at the Queensland Surveying and Spatial Conference in Brisbane (September), and then a similar paper with more emphasis on Python in the developer stream at the Esri Asia-Pacific User Conference in Auckland (November).  These conferences have been complemented by active participation in the Stack Exchange GIS, Brisbane GeoRabble and Brisbane Geospatial Network communities, along with some micro-blogging via Twitter.

Along the way I have undertaken a number of training assignments in Queensland and internationally for NGIS Australia who have proven to be a very valuable partner.

NGIS logo

In the background, I have been developing some advanced ArcGIS training courses and the first of these, Advanced ArcPy (and Python) for Geoprocessing, is now ready for release.  This, and subsequent courses and workshops, will be available direct from PolyGeo, but also via NGIS Australia and PolyGeo’s newest partner, GIS People.  GIS People has been in existence only two years but has quickly established itself as a major provider of GIS consulting and training in Queensland.

GIS_People_logo

ArcGIS for Desktop 10.1 Service Pack 1 and 64bit Background Geoprocessing

Today I installed ArcGIS for Desktop 10.1 Service Pack 1 and decided to do a quick performance test of background geoprocessing before I installed the new 64bit Background Geoprocessing on top of it.

The test I ran, using the Python script below, creates just over a million polygons, and was put behind a Python script tool called test (which had no parameters).

import arcpy

arcpy.env.overwriteOutput = True

arcpy.CreateFileGDB_management("C:/Support/Geoprocessing","test","CURRENT")

arcpy.CreateFishnet_management("C:/Support/Geoprocessing/test.gdb/testsquares","0 0","0 1","0.01","0.01","100","100","#","LABELS","#","POLYGON")

arcpy.Buffer_analysis("C:/Support/Geoprocessing/test.gdb/testsquares_label","C:/Support/Geoprocessing/test.gdb/testcircles","0.0125 Unknown","FULL","ROUND","NONE","#")

arcpy.Union_analysis("C:/Support/Geoprocessing/test.gdb/testcircles #;C:/Support/Geoprocessing/test.gdb/testsquares #","C:/Support/Geoprocessing/test.gdb/testunion","ALL","#","GAPS")

The result prior to installing 64bit Background Geoprocessing was a very respectable 2 minutes 43 seconds, but I was hoping for even better after the upgrade.

The result after installing 64bit Background Geoprocessing was 2 minutes 27 seconds.

So, based on this very quick and dirty test, it looks like about a 10% performance gain can be expected from installing 64bit Background Geoprocessing.  This is not as much as I had hoped for, but I admit that I have not read up on the benefits 64bit background geoprocessing should bring and so am happy that it works and is at least a bit quicker!

For the record my Windows 7 system specification is as below: