O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

ArcGIS Blueprints

Book Description

Explore the robust features of Python to create real-world ArcGIS applications through exciting, hands-on projects

About This Book

  • Get to grips with the big world of Python add-ins and wxPython in GUI development to implement their features in your application
  • Integrate advanced Python libraries, ArcPy mapping, and data access module techniques to develop a mapping application
  • Construct a top-notch intermediate-to-advanced project by accessing ArcGIS Server and ArcGIS Online resources through the ArcGIS REST API using a project-based approach

Who This Book Is For

If you have prior experience building simple apps with ArcGIS and now have a fancy for developing a more challenging and complex desktop application in ArcGIS, then this book is ideal for you.

What You Will Learn

  • Automate the creation of creative output data visualizations including maps, charts, and graphs
  • Explore ways to use the ArcPy Mapping module and Data-driven Pages to automate the creation of map books in your own project
  • Develop applications that use the Plotly platform and library to create stunning charts and graphs that can be integrated into ArcGIS Desktop
  • Build tools that access REST services and download data to a local geodatabase
  • Design, build, and integrate advanced GUIs with wxPython and ArcGIS Desktop in ArcGIS
  • Get clued up about constructing applications that export data to Google Earth Pro to automate time-consuming complex processes
  • Maximize the access of ArcGIS Server and ArcGIS Online using the ArcGIS REST API with Python

In Detail

This book is an immersive guide to take your ArcGIS Desktop application development skills to the next level

It starts off by providing detailed description and examples of how to create ArcGIS Desktop Python toolboxes that will serve as containers for many of the applications that you will build. We provide several practical projects that involve building a local area/community map and extracting wildfire data. You will then learn how to build tools that can access data from ArcGIS Server using the ArcGIS REST API. Furthermore, we deal with the integration of additional open source Python libraries into your applications, which will help you chart and graph advanced GUI development; read and write JSON, CSV, and XML format data sources; write outputs to Google Earth Pro, and more. Along the way, you will be introduced to advanced ArcPy Mapping and ArcPy Data Access module techniques and use data-driven Pages to automate the creation of map books.

Finally, you will learn advanced techniques to work with video and social media feeds. By the end of the book, you will have your own desktop application without having spent too much time learning sophisticated theory.

Style and approach

This is an easy-to-follow, project-based guide that guides you through the whole ArcGIS theme with practical, real-world examples and a systematic approach.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. ArcGIS Blueprints
    1. Table of Contents
    2. ArcGIS Blueprints
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Downloading the color images of this book
        3. Errata
        4. Piracy
        5. Questions
    8. 1. Extracting Real-Time Wildfire Data from ArcGIS Server with the ArcGIS REST API
      1. Design
      2. Creating the ArcGIS Desktop Python Toolbox
        1. Working with tool parameters
        2. Tool execution
      3. Populating the feature class
        1. Installing pip and the requests module
        2. Requesting data from ArcGIS Server
        3. Inserting data in a feature class with the ArcPy data access module
      4. Summary
    9. 2. Tracking Elk Migration Patterns with GPS and ArcPy
      1. Design
      2. Creating migration patterns for Python toolbox
      3. Creating the Import Collar Data tool
      4. Reading data from the CSV file and writing to the feature class
      5. Making the data frame and layer time-enabled
      6. Coding the VisualizeMigration tool
      7. Summary
    10. 3. Automating the Production of Map Books with Data Driven Pages and ArcPy
      1. Design
      2. Setting up the Data Frame
      3. Creating the Grid Index Features
      4. Enabling Data Driven Pages
      5. Creating the Locator Map
      6. Adding dynamic text to the layout
      7. Exporting the map series with ArcPy mapping
      8. Summary
    11. 4. Analyzing Crime Patterns with ArcGIS Desktop, ArcPy, and Plotly(Part 1)
      1. Design
      2. Creating the Import Records tool
      3. Creating the Aggregate Crimes tool
      4. Building the Create Map tool
      5. Performing Spatial Statistical Analysis
      6. Summary
    12. 5. Analyzing Crime Patterns with ArcGIS Desktop, ArcPy, and Plotly(Part 2)
      1. Design
      2. Getting to know Plotly
      3. Creating the Neighborhood Bar Chart tool
      4. Creating the Create Line Plot tool
      5. Creating the output
      6. Summary
    13. 6. Viewing and Querying Parcel Data
      1. Design
      2. Creating a user interface with wxPython
      3. Creating the ArcGIS Python add-in
      4. Summary
    14. 7. Using Python with the ArcGIS REST API and the GeoEnrichment Service for Retail Site Selection
      1. Design
      2. Creating the Census Block Group selection tool
      3. Creating the Define Potential Stores tool
      4. Creating the Enrich Potential Stores tool
      5. Summary
    15. 8. Supporting Search and Rescue Operations with ArcPy, Python Add-Ins, and simplekml
      1. Design
      2. Creating the Last Known Position tool
      3. Creating the Search Area Buffers tool
      4. Creating the Search Sector tool
      5. Creating the Convert to Google Earth tool
      6. Summary
    16. 9. Real-Time Twitter Mapping with Tweepy, ArcPy, and the Twitter API
      1. Design
      2. Extracting Tweet geographic coordinates with tweepy
      3. Scheduling the script
      4. Creating the heatmap
      5. Summary
    17. 10. Integrating Smartphone Photos with ArcGIS Desktop and ArcGIS Online
      1. Design
      2. Taking photos
      3. Converting iPhone photos to a feature class
      4. Creating a Web Map
      5. Summary
    18. A. Overview of Python Libraries for ArcGIS
      1. Overview of Arcpy
        1. The ArcPy classes
          1. FeatureSets and Recordsets
          2. Fields
          3. The geometry
          4. Graphing
          5. General
        2. The ArcPy functions
          1. The data store
          2. Describing the data
          3. Environment variables
          4. Fields
          5. General
          6. Geodatabase administration
          7. Geometry
          8. Getting and setting parameters
          9. Licensing and installation
          10. Listing data
          11. Messaging and error handling
          12. The progress dialog
          13. Publishing
          14. Raster
          15. Tools and toolboxes
      2. Overview of the ArcPy mapping module
        1. ArcPy mapping classes
          1. Mapping documents and associating dataset classes
            1. The MapDocument class
            2. DataFrame
            3. The Layer class
            4. The TableView object
          2. Data Driven Pages classes
          3. Classes related to managing time layers
            1. The DataFrameTime class
            2. The LayerTime class
          4. Element classes associated with the layout view
            1. The LegendElement class
            2. The GraphicElement class
            3. MapsurroundElement
            4. PictureElement
            5. TextElement
          5. PDF document creation and editing
            1. PDFDocument
          6. Symbology
            1. GraduatedColorsSymbology
            2. GraduatedSymbolsSymbology
            3. RasterClassifiedSymbology
            4. UniqueValuesSymbology
        2. Arcpy mapping functions
          1. Exporting and printing maps
          2. Managing map documents and layers
            1. Creating lists
            2. Managing layers and tables
            3. Working with pdf Files
            4. Working with ArcGIS Server services
      3. Overview of the Arcpy data access module
        1. ArcPy data access classes
        2. Arcpy data access functions
          1. List functions
          2. NumPy Array conversion functions
      4. An overview of the ArcGIS REST API
        1. Basics of using the ArcGIS REST API
        2. Esri services
          1. Your own services
            1. Service-related functionality
            2. Utility functions
          2. Managing your organization
          3. Administering your server
          4. Administering Portal
          5. Administering ArcGIS Online hosted services
      5. Conclusion
    19. Index