Book Corner: Programming ArcGIS 10.1 with Python Cookbook

My fairly constant position now-a-days is “late to the game” and in this case that means that there are plenty of folks who have already shared their thoughts on Programming ArcGIS 10.1 with Python Cookbook by Eric Pimpler from Packt Publishing. Robin Wilson, with his wife, summarized by saying

Overall, the book is a very useful addition to a GIS library for people who are new to automating ArcGIS using Python, and particularly those who want to find out quickly how to automate a particular operation.

James Fee wrapped up his review by saying

So the bottom line here is this is a great introduction to ArcPy with ArcGIS 10.1. But if you’ve already started using either Python or ArcPy, you’d be best to use your time/money elsewhere.

These reviews, and others, indirectly highlight the issue of audience with each of the ArcGIS and Python books that have come out in 2012 and 2013. The books are intended for an introductory audience, but each is for a different introductory audience. Nate Jennings’ A Python Primer for ArcGIS has a strong focus on what I would consider a community college/professional development audience. Esri Press’s own Python Scripting for ArcGIS by Paul Zandbergen is geared toward an upper-level undergrad or grad course to get students who already have a strong(ish) ArcGIS background up and running with Python.
Continue reading “Book Corner: Programming ArcGIS 10.1 with Python Cookbook”

Book Review – Python Scripting for ArcGIS

PrintPython Scripting for ArcGIS is a new text from Esri Press by Paul A. Zandbergen (2013). It isn’t the first Python book for the geospatial community or even focused on ArcGIS, but it is the first that has the Esri logo on it. Much like other recent books on Geo/Python we have seen, it focuses on integrating an introduction to Python with the industry specific materials. As Frank mentioned when he highlighted the book in a previous podcast, this allows users to gain exposure to Python, but it doesn’t fall back on the (in my opinion) bad habit of most programming texts of spending half of the book on the language and concepts before even getting to the application in the specific area. There is a time and place for that approach in Python specific books. When you add another software library to a book, then use it from the get go.

The text is broken into four parts including 1) learning fundamentals, 2) writing scripts, 3) carrying out specialized tasks, and 4) creating and using scripting tools. As you can imagine each of these parts builds on the previous through the book fourteen chapters. Early chapters take advantage of Model Builder to help the reader get into Python through geoprocessing tools, but by Chapter 4 the focus is on building and running code. The book comes with a DVD which includes data and code samples so that you can use the same data and code that the authors are running.

If you are looking to learn Python for use with your ArcGIS workflow, or a reference on the topic, this book is a good option for a growing bookshelf on the topic. The fact that you are using both Python and ArcGIS all the way through the book gets our support. With an MSRP of $79.95 and a current Amazon price of $48.45 the cost puts it in the range of similar books.

Lost in the Virtual Fog – …And a Lean to the Right

lvfJan2013image2In the first half of my column a while back on the changing ways in which we interact with our computers, I focused on touch and its increasing adoption as an interface of choice, driven by the rapidly growing use of smartphones and other mobile devices. But as computers and digital information weave themselves deeper into the fabric of our daily lives, there is growing interest in new ways to interact with them, and an equally growing number of research projects, prototypes and even consumer products that are focused on making these interfaces a reality.

Microsoft’s Kinect is a great example of a new user interface device that is picking up traction, first in the gaming console space, but increasingly getting attention in the broader computing world. The Kinect interface is based on tracking the user’s body and movements, which Microsoft refers to as a Natural User Interface (NUI) or Human Interface. So far, there have been a number of commercial and indie video games that have utilized the Kinect, with varying degrees of success, but the real excitement, I think, with the Kinect is that Microsoft is not only allowing, but encouraging, the community of users and developers to come up with new ways of using the Kinect to interact with the computer by offering an API to allow anyone to develop an application that uses the Kinect sensor. I’ve begun working with the Kinect API myself, and can already envision lots of ways that the interface could be used for virtual world navigation and interaction.

At this year’s recent E3 Conference, Microsoft gave more detail on their vision for how our human-computer interaction mechanisms will evolve with their presentation on Project SmartGlass, which includes Kinect navigation for Xbox Live entertainment in addition to the use of the Kinect as a game controller. Now, you don’t need to hold an interface device, like a controller or mouse, in your hand, and your body itself becomes the mechanism for you to interact with your computer. Now you can use hand motions, head movements, and yes, even a lean to the right or left, to execute commands on your computer.

In addition, some might not know that the Kinect offers audio input capabilities as well, meaning that you can create a custom voice commands for interacting with your computer, your game console, or really any other computing device. This can be a powerful interface combo, as you can use voice commands to navigate menus, for example, and combine that with gestures or tracking hand movements to create a complex navigation scheme for a wide range of software applications.

There are limitations, of course, including the sensitivity of interface devices like the Kinect. How does it know whether I want to lean forward to move my avatar or whether I just sneezed and fell forward? There is still a lot of work to be done in the areas of ergonomics, gesture libraries, and other technical issues that can negatively affect a user’s experience with natural interfaces and lead to their rejection as a preferred alternative to the comforting familiarity of the keyboard and mouse. And audio input can suffer from similar issues of precision, as a multitude of users have experienced with that iPhone-encased voice vixen Siri.

And then there’s the issue of how to change people’s perceptions and habits, especially in the working world. Kinect for Windows, a Kinect device which is calibrated to allow the NUI to work for desktop computing applications, is designed to encourage developers and users to think about incorporating gesture-based interfaces and audio into everyday software applications, including productivity software like word processing programs and data and spreadsheet tools. But the complex software interfaces full of menus, buttons, and text will be a tough nut to crack for broad adoption. But, think of all of the advantages if it can. With all of those studies that suggest spending our days sitting down in front of a computer is shortening our lifespans, think about how a natural user interface could get us up on our feet and make collaborating around a computer or working together with our mobile devices projecting on to all kinds of surfaces. Minority Report, Total Recall, you name it, we’re seeing the tech in prototypes from projects all over the world.

Why should we in the geography and geospatial community be interested in what’s going on with these new technologies in human-computer interaction? On a general level, there is an inexorable movement toward the demise of the mouse and keyboard as the monopolistic gateways to our relationship with our computer. As a familiar analogue to the typewriter, the keyboard has served us well as we have grown up and into our professional lives in front of a computer. But its analog physicality is now limiting in a world where there’s a race to build and distribute faster, lighter, thinner, smaller, more powerful computing devices that can travel with us anywhere. It’s also limiting when new interfaces like an NUI mean that we could gather around our monitor or projection screen with our GIS open and have discussions, with multiple users moving the map view around, adding and removing layers, performing analyses, etc., all while comfortably interacting and not tied to a physical input device. With that visual of the geospatial collaboration lab I now want to build for my teaching and research, I’ll sign off for now and wander off into the virtual fog until next time.

Focusing on the New GIS End-User

We’ve talked in this blog about how mapping in the cloud has gone mainstream. How cloud computing has turned the world of GIS on its head, bringing a flood of new users who don’t even know what GIS stands for, to our websites and desktop applications. It’s more critical than ever to pay attention to these end users and their needs, because they’re dramatically different from the traditional GIS user, and if we don’t understand how our customers are changing, we run the risk of losing them, just as they’re getting to know the virtues of mapping.

A decade ago, the typical GIS user worked in a fairly large organization that had specially trained GIS staff to service the organization’s spatial requests. All this began to change as more and more industries saw the power of spatial technology and innovated by making intuitive mapping technology widely available to their organization. Then, when GIS moved to the cloud a few years ago, another huge shift took place – GIS moved beyond corporations and into our everyday lives with Google Earth™, Bing© Maps and Google Maps mashups. People were suddenly interacting with maps everywhere: on their mobile phones, iPads and other devices.

This is incredibly exciting for the GIS world, but these new users bring a whole new set of expectations that geo-developers and GIS companies need to heed.

  • While the new user likes maps, he couldn’t care less about GIS. These users know how to navigate and interact with consumer maps and expect all their interactions with spatial technology to be this simple. They don’t, in any way, want to “see” GIS or have to learn a new vocabulary of terms like vectors, georeference, buffer, and shapefile. They don’t want to wait, even a few seconds, for a map to load. Basically, they want to get to the information they’re seeking in a few clicks and without any training.
  • They are hungry for new apps. The new user expects a constant stream of new functionality. They spend copious amounts of time on their tablets or smartphones searching for new apps and app updates. If you are not delivering regular new features and data, they might go elsewhere.
  • Listen to your user, not other GIS experts. The paradox in GIS technology today is, as developers have made great strides in advanced geo-features and data, the end users’ needs have become more basic. Not only does your user not want to have to figure out how to use an application, he or she is increasingly accessing your app via a smartphone or tablet. Leave off the bells and whistles; keep the interface as simple as possible.
  • Focus your energy on the user interface. The user interface is where you will find the biggest bang for the buck in satisfying these new users. Traditionally, GIS developers have not spent that much time thinking about the user interface. It was hard enough to get GIS working and by the time it was humming along smoothly, there was little time left for the UI. The bar for easy to use applications has been raised and investing in the interface will pay off handsomely.
  • Be obsessed with performance: Your spatial application can never be fast enough. Perhaps more important than building in new features is doing all you can to keep things running smoothly and quickly. That means using every trick in the book to optimize data display and performance.
  • Pay attention to visualization. Today’s end users like pretty, well-designed spatial technology. Using an intuitive color scheme like this one will help users immediately grasp what is going on with the data. And stick to a reasonable number of classes when you are summarizing your data. Once again, sleek and simple is the key.
  • We’ve put a lot of emphasis on map performance and regular updates in the observations above, but don’t be intimidated. Spatial technology is actually getting easier to use every day, and more and more niche companies have come on the scene to help you with continuously updated data streams, speedy mapping functions, and robust and reliable spatial infrastructures. That frees you up to concentrate on those end users in a bigger way than ever before.

    Learn More:
    Webinar: The New Rules for GIS Success
    http://www.digmap.com/Resources/CloudGISChangingTheRules.html

    Think Spatial With Us: Digital Map Products Blog
    http://digmap.com/blog/

    About Digital Map Products
    http://www.digmap.com/company/default.htm

    Book Review – The Complete Guide to Simulations and Serious Games

    As I have gone down the road in researching and writing about virtual worlds and serious games, one of the biggest issues for me has been the lack of a comprehensive source for a lot of the terminology and concepts I’m having to learn about and understand. That’s why I was pretty excited when I found out about Clark Aldrich’s The Complete Guide to Simulations and Serious Games: how the most valuable content will be created in the age beyond Gutenberg to Google, which was just published this month (October 2009) by Wiley. I immediately had to get my hands on a copy, and I have been using it almost daily since it arrived.
    Continue reading “Book Review – The Complete Guide to Simulations and Serious Games”

    Teaching geospatial today…

    mapandglassesI have had a chance to crash a few classes this semester both out of town and here on campus and I have used this as an opportunity to rethink what I would want students to walk away from one of my classes with. The plans for the intro to GIS, advanced undergrad GIS, and graduate level geovisualization class I taught this year began with an existing syllabus and PowerPoint decks that I had from when I previously taught these classes, but VerySpatial, PlanetGeospatial, and Twitter have changed my perspective since I first taught the undergrad classes. As a first time lecturer in the undergrad classes (aka my first preps) I grabbed everything I had access to from when I took the class, liberally used the PPT the publishers provide for the text to build my own PPT decks, and generally stuck to what was in the book. Sure, after 2005 I added a lecture on neogeo, Google/MS/Yahoo/…, and generally tried to give current examples related to various topics, but the content was basically the same a decade ago.
    Continue reading “Teaching geospatial today…”

    GIS for Web Developers write up

    GIS for Web Developers: Adding Where to your Web Applications
    by Scott Davis
    The Pragmatic Publisher, Raleigh, NC
    ISBN-10: 0-9745140-9-8
    ISBN-13: 978-0-9745140-9-3
    October 2007

    The book GIS for Web Developers: Adding Where to your Web Applications by Scott Davis offers a hands-on and free (in terms of software and data) approach to getting started with geospatial technologies and the web. From the first page, Davis set out on his mission to get web developers quickly up and running with many of the open source geospatial software packages, and at least a few of the geographic concepts that can help you make a better mapping application. Several apps and sites are used throughout this book including OpenMap, ArcGIS Explorer, QGIS, OpenLayers, and uDig with significant focus on getting PostGRE/PostGIS and GeoServer (v1.4) set up.

    For the most part I would guess that many in our audience can skip Chapters 2-4 discussing Vectors, Projections, and Rasters respectively in terms of concept, but even in these early chapters there are still informative hands-on examples to follow. Chapter 5 offers a crash course in PostGRE/PostGIS that will be of use to many who are new users of this Open Source spatial database. Chapters 6-8 discuss Creating, Using and Viewing OGC Web Services respectively and offer a heaping helping of GeoServer installation and implementation information. Chapter 9 comes along and wraps everything up with an example project that walks you through data finding through implementation.

    All that being said, when going through the text I did find a few topics that made me scratch my head since they were just kind of there. The section (4.4) on Temporal Analysis is the best example as change detection isn’t necessarily a common process in GIS. It can be done, but is more often performed by Remote Sensing software, which isn’t the focus even though the chapter focused on raster imagery. There are a few things I would add, but that may be the Geographer in me adding information and spatial concepts to the ‘neogeography’ perspective of the book (not sure it is neogeo but that is what the author calls it).

    I had the PDF version which offers tons of links to the web and related pages in the book. Unfortunately the associated web site at http://www.mapmap.org is down currently. I have to think that is a short term outage, but it means I can’t really talk about the associated materials for the book.

    Overall, I think Scott Davis did what he set out to do, write a GIS book for web devs, and in the process made it accessible to folks coming at the content from the other side, a web dev book for GIS folks. There is some content that you can fly through or even skip over, but there are a few gems that offer up the always sought ‘a-ha’ moment of realization when you realize how to do something that you just hadn’t thought of. You can check it out at the Pragmatic Bookshelf site or your favorite online bookseller.

    Uses of Geography

    Time to wrap it all up with Element 6: The Uses of Geography. That’s right it is the last day people and it is time to consider how we can apply Geography and spatial thinking to help us understand what has happened in the past, what is happening around us now, and how we can use that information to plan for the future.

    Standard 17 – How to Apply Geography to Interpret the Past, is the standard that is closest to my own background and the research that I work on. Historical Geography is a subdiscipline of Geography that focuses on understanding how people in the past created and modified the cultural landscapes around them, as well as identifying and interpreting the spatial aspects of historical events and processes. Within the last decade, a number of geographers and historians have begun to develop the subfield of Historical GIS, which utilizes GIS as a tool in understanding historical problems.

    However, Geography can also be a powerful conceptual framework for understanding the present, as Standard 18 – How to Apply Geography to Interpret the Present and Plan for the Future, is trying to highlight. Geographers work on problems and issues in a wide range of topics from urban planning, to social and community issues, to hazards research. In each case, understanding how people utilize and inhabit space and place, as well as understanding their interactions with the physical environment around them, helps us to develop interpretations of these processes. Taking these interpretations a step further, we can actually begin to develop long-range models and plans to help us meet future challenges, such as global warming, population pressures, pollution, and disaster planning.

    Hopefully you have taken some time to consider these 6 elements and 18 standards during this Geography Awareness Week. From our overviews and the materials available from National Geographic and the NCGE you hopefully have an idea of how these standards might impact Geography education in K-12 and beyond to college and university. They can not only support education but to create a better prepared geospatial workforce.

    Environment and Society

    Element 5: Environment and Society is tied to human-environment interaction and the first two standards are essentially mirror images.

    How Human Actions Modify the Physical Environment

    How Physical Systems Affect Human Systems

    16) The Changes That Occur in the Meaning, Use, Distribution, and Importance of Resources

    The goal of Standard 14 is to consider the impact of how we, the human species, affect, change, and/or modify the physical environment. Perhaps the most telling example of this impact is the increasing evidence that the planet is warming, and that warming is being accelerated by human processes and resource usage. Global warming became center stage when the Nobel committee recognized Al Gore and the Intergovernmental Panel on Climate Change for the 2007 Nobel Peace Prize. However, global warming is only one example of how humans impact the physical environment around them every day. For example, water is one of the most vital resources on Earth, and human population pressures and pollution are seriously threatening people’s access to fresh water.

    Standard 15 is the mirror of 14 with a focus on how physical systems affect humans. One of the more obvious examples of this can be seen in natural disasters (hurricanes, floods, avalanches, etc). Beyond the extreme events of natural disasters, there are everyday examples of how physical processes impact the way we live our lives. To take the example of water again, access to fresh water plays a crucial role in where people can live. In fact, the combination of weather patterns over the last few years and increased consumption from rising populations has led to drought and conflicts over water in both the southeastern and southwestern United States.

    We close the day out with Standard 16, in which the role of natural resources is considered. To use our water example from above, the increasing populations in warm areas of the United States have magnified the importance of water as a valuable commodity due to its scarceness. However, in other areas of the world such as the monsoon areas of Southeast Asia, where the climate and weather patterns are different and rainfall is overabundant, water can actually be a hindrance to local human populations. It is important for students to recognize the importance in not only managing natural resources but also in understanding the differences in meaning, use, and distribution of those resources in different contexts.

    Human Systems

    We are back with day four of the Geography Standards which brings us to the humans. Element 4: Human Systems contains 5 standards on its own, which makes sense since the standards are focused on K-12 education, which includes Geography in Social Studies. This generally covers history, political and economic geography, and other humanities content. Here are the 5 standards of Element 4.

    9) The Characteristics, Distribution, and Migration of Human Population on Earth’s Surface

    10) The Characteristics, Distribution, and Complexity of Earth’s Cultural Mosaics

    11) The Patterns and Networks of Economic Interdependence on Earth’s Surface

    12) The Processes, Patterns, and Functions of Human Settlement

    13) How the Forces of Cooperation and Conflict Among People Influence the Division and Control of Earth’s Surface

    Quite a bit to go through in just one column so I am just going to touch on them briefly (and hopefully finish by the time we land in Chicago). Standard 9 is fairly broad and actually encompasses aspects of each of the other 4 standards in this element, especially with its focus on characteristics, distribution and migration of human populations. These processes play crucial roles in determining the cultural, social, economic and political make up of our world, where as Standard 10 begins to narrow it down a bit with a focus on cultures. How cultures are formed, the impact they have on how we live and interact, and the relationships between cultures are often thought of as the focus of Anthropology, but the spatial patterns and impacts of cultures are more important aspects of understanding our human species and are squarely within the realm of Geography.

    One of my standard answers for “what is Geography” is to talk about it as a series of connections that go beyond location to show larger relationships that include spatial patterns of human and physical systems. Standard 11 focuses on those relationships as networks of economic interdependence. While this network has always been important, the trend towards globalization has brought it to the fore as we no longer have the weeks or months that it used to take to exchange goods over long distances. Instead we live in a world where information is exchanged in seconds and materials can make it around the world in a day or possibly even less.

    Standards 12 and 13 are often interrelated. Standard 12’s focus on human settlement considers how and why people put down roots in places. Standard 13 looks at the interactions between groups that determine how the world is divided, primarily politically, but also culturally and economically. Where people settle often defines the boundaries and interactions between groups. While often these interactions lead to cooperation and positive benefits, in some cases, disputes arise due to conflicts in various beliefs.

    This was definitely a dash through these 5 standards, but they truly do lay the basis for a lot of what is taught in middle schools and high schools in Social Studies classes in the US.