BOOK REVIEW: Programming with ArcGIS 10.1

Wednesday, June 26, 2013 at 15:04:44

It’s been on my “to-do” list for a while, but I finally got around to taking a more detailed look at Programming with ArcGIS 10.1 with Python Cookbook…… I was sent a review copy of the PDF, but as I regularly dip in-and-out of Python programming, and we teaching it as part of the MSc in GIS at Kingston University, it would have been on my list of resources to check out. And having done both the Esri Python and a longer, generic Python, course I was interested to see what it covered.

Subtitled “Over 75 recipes to help you automate geoprocessing tasks, create solutions, and solve problems for ArcGIS with Python” and at over 300 pagse long its not a slim tome and has a lot in it. The chapter headings go thus:

Chapter 1: Fundamentals of the Python Language for ArcGIS
Chapter 2: Writing Basic Geoprocessing Scripts with ArcPy
Chapter 3: Managing Map Documents and Layers
Chapter 4: Finding and Fixing Broken Data
Chapter 5: Automating Map Production and Printing
Chapter 6: Executing Geoprocessing Tools from Scripts
Chapter 7: Creating Custom Geoprocessing Tools
Chapter 8: Querying and Selecting Data
Chapter 9: Using the ArcPy Data Access Module to Select, Insert, and Update Geographic Data and Tables
Chapter 10: Listing and Describing GIS Data
Chapter 11: Customizing the ArcGIS Interface with Add-Ins
Chapter 12: Error Handling and Troubleshooting
Appendix A: Automating Python Scripts
Appendix B: Five Things Every GIS Programmer Should Know

Off-the-bat it’s written in an easy and accessible style that isn’t particularly technical - yes, its an introductory book targeted at those less familiar with programming, not too surprising given its likely audience of ArcGIS desktop users wanting to delve under the hood a little more. It’s also pleasingly typeset - it hasn’t had a pile of money ploughed in to design, but it is pleasantly produced with a reasonable use of clearly flagged titles and figures. The style is clearly practical based and wouldn’t look out of place in a university of user training course - there is informative writing and it flows quite well. There are “information” sections in square brackets which highlight key information and there is support in the form of downloadable code examples.

Chapter 1 provides a light and easy introduction to Python within the ArcGIS environment - it is firmly aimed at 10.1. And whilst no assumption of programming experience is made, there are references to other languages. There is then a short and swift run through modules, variables, datatypes (strings, numbers, lists, tuples, doctionaries), classes/objects and statements. And if there is a rush to get to statements then there is probably good reason as they allow you to develop the core-critical aspects of an algorithm - that is conditional statements and looping statements. These two things along turn a script in to a useful iterative function. That brings in to last element of the chapter: input/output (aka get data in, spit data out). If it feels like a whirlwind then it is, but readers will want to be through this introduction and diving in to running scripts straight away.

Chapter 2 then feels more like a practical - after your intro in Chapter 1 you’ll be itching to get going and this is precisely what this “practical style” chapter does based upon availble scripts/MXDs that you can download. It covers the use of the Python window in ArcGIS, loading a script and running it. It then moves on to getting you to write and run a simple buffering script and using the online help system. The chapter then moves on to the use of variables and adding modules. Its a gentle introduction but flows nicely from the introduction.

Now that you are gently eased in to the driving seat of scripting, the book takes a fairly even path in working with ArcGIS: Ch3 deals with managing map documents (disk access, data frame, layers, tables, symbology), Ch4 looks at fixing broken data links (dealt with early on as its a “gotcha” when someone on your network sends you an MXD and it doesnt work; brilliant use of scripting to automate the fix process…. although Esri shouldnt put us in this positionin the first place!), with Ch6 moving on to automating the production of maps (and their printing). With these essential tasks covered, many users will be happy to stop at this point safe in the knowledge that their lives are suddenly much easier!! But onwards….

….because Python and geoprocessing runs much deeper! Ch6 deals with running geoprocessing tools, surely the bread-and-butter of Python work. Develop your geoprocessing workflow then automate it in Python….then create your own geoprocessing tool (Ch7) so you (and other users) can access it over and over. Ch8 and 9 then branch on to the more complex stuff…. querying and selecting data, then updating and inserting new data. This requires a more intricate knowledge of cursors and then variables, conditional statements and looping. But is incredibly useful. Ch 10, 11 and 12 then mop up with listing data, add-ins and error handling.

As an introduction its accessible and easy to follow with well worked examples. It does feel like one long practical and it is…. its designed for users new to scripting who need hands-on experience. Its not a text book or a reference book…. you’ll need to go elsewhere for those. But for getting a first foot on the ladder of scripting and expanding your toolset of CPD its a good place to start and well priced.

Long live the king…..

Monday, June 24, 2013 at 18:45:12

Landsat 5 is no more……

On June 5, 2013, the U.S. Geological Survey Flight Operations Team transmitted the last command to the Landsat 5 satellite, effectively terminating the mission 29 years, 3 months and 4 days after its launch by NASA from Vandenberg Air Force Base on March 1, 1984. The Landsat program is a joint effort between USGS and NASA.

Landsat 5 had orbited the planet over 150,000 times while transmitting over 2.5 million images of land surface conditions around the world, long outliving its original three-year design life. In December 2012, USGS announced that Landsat 5 would be decommissioned. The durable satellite is recognized by the Guinness Book of Records as the longest-operating Earth-observing satellite mission in history.

Landsat 5 beamed its last image down to the USGS Earth Resources Observation and Science (EROS) Center in Sioux Falls, SD, on January 6, 2013. Nine days later, Mission Operations began the methodical process of maneuvering the satellite from its 438 mile-high operational orbit into a lower disposal orbit. With Landsat 5’s fuel reserve completely depleted, the Operations team issued commands on June 5 to shut off all moving mechanisms and hobble the spacecraft’s ability to generate and store power from its solar arrays. The final command shut down Landsat 5’s transmitter, silencing the mission permanently.

Nook Simple Touch

Friday, June 21, 2013 at 09:09:14

Over the last wee while I’ve written sporadically about the Kindle ebook reader, with a wide range of posts. Well the BIG news in the ebook reader world was the complete CRASH in prices of the Nook range, making the Nook Simple Touch a staggering 29!! This uses the same 6” e-ink screen as the Kindle and comes with wifi and 2Gb of onboard memory, but also has a microSD card slot taking up to a further 32Gb.

That, on its own, for 29 is a real steal. However what marks the Nook out is its amazing hackability!!! The first thing to note is that the Nook runs a fairly vanilla version of Android 2.1 which is new enough to remain a very useful base OS. What needs to be done is to gain root access and then allow installation of other apps. After a bit of headscratching this is the route I went down:

1. DOWNGRADE the firmware: the current Nooks ship with firmware v1.2. The existing access to root doesnt seem to work with this, however this site uses a version of ClockworkMod to install v1.1 from the microSD card

2. Install TouchNooter: great steps over at this site to install TouchNooter which not only gets root access but installs some very useful utilities.

3. Setup the Nook: there are a variety of things that will make life easier:
a. You MUST set up your GMail account in order to link the device to Googe Play and so allow you to download apps. Play might need 24 hours before it loads.
b. Install Search Market: as this is Android 2.1, the “new” Play doesnt work. Marketplace allows you to download apps, but one drawback is you cant search for apps. This app, lets you do that!
c. Nook Color Tools (installed) allows you to “sideload” apps from the SD card
d. ES File Explorer (Play) allows you to roam the entire file system, get FTP access and move files around
e. Nook Touch Tools (installed) allows you to modify the functions of the buttons on the Nook. I have the “n” button access the Nook menu, the TL button goes “home” and the “TR” goes “back”. Long-press on the “n” button switches between portrait and landscape.
r. Opera Classic (Play) makes a good lightweight web browser
g. K9 Email (Play) makes a great fully functional email client
h. The NoRefresh app mentioned in the article in (2) allows higher refresh rates on a per-app basis which is great for apps where you have more dynamic content
i. Button Savior: this app comes pre-installed but might pass you by. It actually mimics hardware buttons (home/back particularly) in software allowing you to access them from within any app. You will see a faint button halfway up the screen on the right. Tap that and a faint menu will appear giving you access to these functions. Very useful!
j. Other useful apps: Quickboot (quickly reboot), AdFree (remove ads), Aldiko (PDF/ebook reader), Kindle (which of course lets you sync to your Kindle account!). Some more great apps listed here

Does this make the Nook the greatest mobile platform around??? I don’t know, but for size of screen, battery life, apps and cost its pretty darn amazing!

Journal of Maps Impact Factor

Thursday, June 20, 2013 at 14:37:10

Just a quick note…. the notional “ranking” of journals through impact factors are out for the 2012 publishing year. Good news for authors and readers of the Journal of Maps which sees the Impact Factor rise to 0.769….. maps are important and this emphasises that, even with us publishing more articles, there is a significant increase in citations demonstrating their relevance to contemporary research.

This is no better demonstrated than through our Best Map award winner last year which is currently available for a free download from Taylor and Francis and also available in print form for purchase.

Top of Page