A Geoprocessing Framework using Python and ESRI SDE Howard Butler Center for Survey Statistics & Methodology Iowa State University Beginning Middle End.

Slides:



Advertisements
Similar presentations
Intro to Python Welcome to the Wonderful world of GIS programing!
Advertisements

1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
1 THE NATIONAL RESOURCES INVENTORY Wayne A. Fuller Sarah Nusser and Jeff Goebel Roles of Statistics in 21 st Century Monitoring and Assessment Systems.
June 11, 2008West Virginia GIS Conference 2008 Integration of Mobile GIS Technologies in the West Virginia Department of Environmental Protection Bond.
Introduction to.NET Technology Marcello Benati Software Engineer.NET Architect.
Identification, Selection, and Appraisal within the North Carolina Geospatial Data Archiving Project (NCGDAP) NCSU Libraries Steve Morris Head of Digital.
NATIONAL STATES GEOGRAPHIC INFORMATION COUNCIL 2105 Laurel Bush Rd. Suite 200 Bel Air, MD GIS Inventory powered by Ramona.
ArcGIS Geodatabase Miles Logsdon Spatial Information Technologies, UW Garry Trudeau - Doonesbury.
Introduction to the 176A labs and ArcGIS Acknowledgement: Slides by David Maidment, U Texas-Austin and Francisco Olivera (TAMU)
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
1 Alternate Title Slide: Presentation Name Goes Here Presenter’s Name Infrastructure Solutions Division Date GIS Perfct Ltd. Autodesk Value Added Reseller.
Esri International User Conference | San Diego, CA Technical Workshops | Migrating Custom Desktop Solutions from 9.3 to 10 John Hauck and Ralf Gottschalk.
ArcGIS Technology Update Introducing ArcGIS 10 Natalie Culpepper Account Executive ESRI -Atlanta.
ArcServer Kris Lander Central Region HQ RFC GIS Workshop July 2007.
A Data Management Life-Cycle By David Ferderer Project Chief Chris SkinnerContractor Greg GuntherContractor
WisFIRS Wisconsin Forest Inventory & Reporting System
Open and save files directly from Word, Excel, and PowerPoint No more flash drives or sending yourself documents via Stop manually merging versions.
Benjamin Post Cole Kelleher. Encyclopedia Articles: PostGIS, C. Strobl, pp Oracle Spatial, Geometries, R. Kothuri and S. Ravada, page
Overview of Database Access in.Net Josh Bowen CIS 764-FS2008.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS for Server Road Ahead Ismael Chivite, Anne Reuland.
Spatial Data Model: Basic Data Types 2 basic spatial data models exist vector: based on geometry of points lines Polygons raster: based on geometry of.
Open Source Geospatial software for the the Army Corps of Engineers Wetlands Regulatory program FOSS4G2007 Victoria, B.C. Canada Michael Smith Engineer.
Com Port API Karl Riehl
MapServer and SDE Howard Butler Center for Survey Statistics & Methodology Iowa State University Beginning Middle End.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Antigone Engine Kevin Kassing – Period
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Introduction to .Net Framework
Implementing Geodatabase Technology
7 Nov Geospatial Interoperability Summit Iowa Environmental Mesonet: Using Open Source GIS Tools and Web Services to Disseminate Environmental.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Jeremy D. Bartley Kansas Geological Survey An Introduction to an Index of Geospatial Web Services.
Environmental Information System Framework for Pantex Plant
ALMA Integrated Computing Team Coordination & Planning Meeting #2 Santiago, January 2014 ASDM relational database Rafael Hiriart / Jorge Avarias.
material assembled from the web pages at
U.S. Department of the Interior U.S. Geological Survey CDI Webinar Series 2013 Metadata Wizard: An Easy-to-Use Tool for Creating FGDC-CSDGM Metadata in.
How do we represent the world in a GIS database?
LOJIC Online Map: An Inside Perspective by Brian Meyers, Jane Poole & Julie Price, LOJIC.
Inventory & Monitoring Program Data Management Update 2009 Data Management Conference Tucson.
CHAPTER TEN AUTHORING.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
Fish and Wildlife Service’s Wetlands Geodatabase Mitch Bergeson Cartographic Applications and Processing Program Water Resources Division, US Geological.
Esri UC 2014 | Technical Workshop | Esri Roads and Highways: Integrating and Developing LRS Business Systems Tom Hill.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Developing.NET Applications.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
What’s new? Update on Netrics Matching Engine V4.0 and V4.1 Dave Chamberlain
N atural R esource I nformation S ystems. ObjectivesObjectives  NRIS Water Overview  Spatial Data in NRIS Water  Integration of NHD data.
1© Beta Systems Software AG and Intergraph (Deutschland) GmbH 2008 Geospatial Census Solutions Spatial Data Infrastrutures and Mobile Data Collection Dr.-Ing.
PHP Workshop ‹#› PHP Data Object (PDO). PHP Workshop ‹#› What is PDO? PDO is a PHP extension to formalise PHP's database connections by creating a uniform.
LBR & WS LAB 1: INTRODUCTION TO GIS.
Benjamin Post Cole Kelleher.  Availability  Data must maintain a specified level of availability to the users  Performance  Database requests must.
GLite build and integration system Building and Packaging Robert HARAKALY
Managing Enterprise GIS Geodatabases
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Jill McElroy Semahgn A. Belew Sami J. Alsahhar Yoseph A. Getachew GIS in Public Health Technical Assessment GISC-6383 Management and Implementation October.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
GIS Software Applications in Epidemiology Marcus Liscombe Brent Croft GISC GIS MANAGEMENT AND IMPLEMENTATION.
CONVERSION OF CAD DATA TO GIS LAYERS Challenges and Techniques Compiled by: Tope Bello Summer 2005 Instructor POEC 6387 GIS Workshop Professor Ronald Briggs.
Developing Hydrology Mashups with ArcGIS Server 9.3 by Alper Dinçer M.Sc. Civil Engineer Geo Web Developer State Hydraulic Works (DSI) TURKEY
Managing GIS Data for Large EIS Projects
Development Environment
How to Contribute to System Testing and Extract Results
Spatial Data Model: Basic Data Types
CE-105 Spring 2007 Engr. Faisal ur Rehman
PHP / MySQL Introduction
Developing applications using Chromium
SDMX IT Tools Data Structure Wizard
Running C# in the browser
JTLS-GO 6.0 PostgreSQL Information
Presentation transcript:

A Geoprocessing Framework using Python and ESRI SDE Howard Butler Center for Survey Statistics & Methodology Iowa State University Beginning Middle End

National Resources Inventory National longitudinal survey of multiple natural resources Estimates of status and change over time on nonfederal lands –Land cover/use changes –Soil erosion trends –Urbanization and loss of prime farmland –Wetland dynamics Beginning Middle End

National Resources Inventory

> 300,000 area segments –160 acres each –70,000 samples / year –Low altitude photography Beginning Middle End

National Resources Inventory

1/3 digital -- 2/3 analog > 18 gb of support data –Federal land –Water –Sample location layers –Support imagery Beginning Middle End

History ESRI Arc/Info coverage format Migrating toward ESRI SDE Oracle database for tabular data Changes/edits tracked with paper Beginning Middle End

Impetus NRI is a panel (time series) survey –Tracks spatial data changes through time Federal land and water layers must be updated annually File system-based solution is messy and inflexible for time-series geospatial data Beginning Middle End

Impetus Must be able to interoperate with existing Oracle data Campus licensing agreement makes ESRI software a cost-effective solution Beginning Middle End

2001 Survey year Survey edits Revision edits Frozen edit state N 2002 version of the 2000 control data Version tracking of survey data

Why not PostGIS? PostGIS currently limited to PostgreSQL Inertia of existing data in ESRI formats is high Campus agreement No support for versions or edit states Beginning Middle End

Why Python? Functionality required by NRI only exists in the C API C API is complex, cryptic, and obscures the task at hand Beginning Middle End

Why Python? (cont) Our GIS team has limited C experience –dynamic/scripting languages –AML, Avenue, VB Easy transition to Python from these languages Beginning Middle End

Advantages of Python Elementary data structures included –Lists, sets, strings, and hashes –Debugged and optimized by many folks Interpreted –Speeds up the wash-rinse-repeat cycle –Run-time type checking (but not compile time) Rapid development –Wield more power per line of code Beginning Middle End

SWIG to the rescue ~ 3k lines of template -> 13k lines of wrapper A Python SDE API built upon the wrapper code Beginning Middle End

Why not just the wrapper? ESRI changes APIs frequently – changes at the C level don’t have to be reflected at the Python level Allows for coherent exception handling and error reporting Allows for add-ons like Python DB-API 2.0 and pyshapelib support to be developed in Python Beginning Middle End

What it currently supports Most of the shape handling functions Versioning and states Projection operations DB query operations Beginning Middle End

Platforms Python 2.2 and greater Windows 2k/XP Solaris 9 Linux 2.4? Beginning Middle End

Sticky parts Not thread safe Leaks memory like the Titanic Assumes GIS programming experience Docs are very thin Still in flux – not quite beta but a bit better than alpha Beginning Middle End

Future developments Would like clean integration with pyshapelib Python DB API 2.0 support Thread safety and memory issues cleanup Beginning Middle End

Conclusion Cost of learning the C API is only incurred once Clearer code that addresses the problem instead of how to store the data, how to open a connection, how to loop through an array……….. High performance but still easily programmed interface Beginning Middle End

Where to download hobu.stat.iastate.edu/py sde Beginning Middle End