Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building an online tool for spatial joins using open source software Karsten Vennemann Seattle.

Similar presentations


Presentation on theme: "Building an online tool for spatial joins using open source software Karsten Vennemann Seattle."— Presentation transcript:

1 Building an online tool for spatial joins using open source software Karsten Vennemann Seattle

2 Building an online tool for spatial joins - - - - Why this tool ? What does it do ? - - - - Steps to retrieve results - - - - Tool live demo - - - - How does it work ? - - - - How can you build your own ? Talk Overview Who, Why and What Tool Workflow Definitions and Examples Technical Background Resources

3 Building an online tool for spatial joins Why this online tool ? Why open source software ? Finding the Legal District in which a member of an organization lives is important information for many environmental voter advocacy groups. While this easily can be accomplished using commercial GIS tools, most of those Non-Profit organizations lack the resources and/or technical staff to support the use of such software. Adding Legislative District information is usually done manually. In Washington State there is the online district finder tool available: http://apps.leg.wa.gov/ DistrictFinder/Default.aspx http://apps.leg.wa.gov/ DistrictFinder/Default.aspx Can find single addresses Who, Why and What

4 Building an online tool for spatial joins About this tool Windows and Linux server platforms based on open source software any type of spatial join based on street address in WA state (US) and a polygon layer For simplicity we will focus on a technical overview on how a web based tool can allow users with little or no GIS knowledge to attach legislative district information for Washington State to their membership lists. Who, Why and What

5 Building an online tool for spatial joins Workflow for the tool can be broken up into four main parts 1)File upload to the server (text or Excel file containing address list via web interface ) 2)Geocoding - Retrieval of coordinates (latitude/longitude) for the address (geocoded using 2006 Tiger line data, PHP and Perl) 3)Spatial Join - Matching the Legislative District information (Query onto a PostGIS Database) 4) Transfer result information (streaming the results to the client computer text or MS Excel file) Tool Workflow

6 Building an online tool for spatial joins Workflow for the tool can be broken up into four main parts 1)File upload to the server (text or Excel file via web interface ) 2)Geocoding - Retrieval of coordinates (latitude/longitude) for the address (geocoded using 2006 Tiger line data, PHP and Perl) 3)Spatial Join - Matching the Legislative District information (Query onto a PostGIS Database) 4) Transfer result information (streaming the results to the client computer text or MS Excel file) Tool Workflow

7 Building an online tool for spatial joins What is Geocoding ? Interpolation of real world coordinates for a given location Most geocoders use address information to interpolate (estimate) the real world position along streets using blocks and intersections as landmarks Variety of free tools available - most popular: Google and Yahoo maps API, geocoder.us Also Tiger line geocoder for Post GIS => Geocoder::US a Perl module Open source can download source code and install on your own server uses Berkeley DB format to store Tiger data - high compression fro data - whole US Street data 750 MB (24 GB of uncompressed Tiger data) Definitions and Examples

8 Building an online tool for spatial joins What is a Spatial Join ? A spatial join operation adds information based on the geographical location of one feature to another IDprecinct 352BEL 48-2776 Definitions and Examples

9 Building an online tool for spatial joins Spatial Join A spatial join operation adds information based on the geographical location of one feature to another IDaddress 22342816089 Northrup Way IDprecinct 352BEL 48-2776 Definitions and Examples

10 Building an online tool for spatial joins Spatial Join A spatial join operation adds information based on the geographical location of one feature to another IDaddress 22342816089 Northrup Way IDprecinct 352BEL 48-2776 IDaddressprecinct 22342816089 Northrup WayBEL 48-2776 Definitions and Examples

11 Building an online tool for spatial joins Spatial Join Definitions and Examples

12 Building an online tool for spatial joins Spatial Join Definitions and Examples

13 Building an online tool for spatial joins Live Tool Demo Definitions and Examples

14 Building an online tool for spatial joins Live Tool Demo Definitions and Examples

15 Building an online tool for spatial joins Live Tool Demo Definitions and Examples

16 Building an online tool for spatial joins Live Tool Demo Definitions and Examples

17 Building an online tool for spatial joins Live Tool Demo Definitions and Examples

18 Building an online tool for spatial joins Technical Overview Technical Background

19 Building an online tool for spatial joins Technical Overview 1.Text or Excel file is read with php 2.Get user input to select address fields 3.Address is concatenated and feed into the geocoder::US Perl module from within php 4.lat/long returned 5.Spatial query using lat/long results from geocoding => in Post GIS one simple SQL query is called to retrieve the LD number 6.Output of results Sample sql queries select ndistrict from Leg_districts_2001 where Leg_districts_2001.the_geom && (setsrid((MakePoint(-122.206834, 47.611421)),4326)) and intersects (Leg_districts_2001.the_geom,setsrid((MakePoint(-122.206834, 47.611421)),4326)); select ndistrict from Leg_districts_2001 where Leg_districts_2001.the_geom && transform(((setsrid((MakePoint(-122.206834, 47.611421)),4326))),2285) and intersects (Leg_districts_2001.the_geom,transform(((setsrid((MakePoint(-122.206834, 47.611421)),4326))),2285)); Technical Background

20 Building an online tool for spatial joins Code Technical Background

21 Building an online tool for spatial joins Perl integration for Geo::Coder::US Technical Background

22 Building an online tool for spatial joins Query in PostGIS Technical Background

23 Building an online tool for spatial joins Source: “Introduction to PostGIS”, Paul Ramsey, Refractions Research Spatial Indexes

24 Building an online tool for spatial joins How can you build your own tool ? Install Apache I or II Webserver (or IIS) PHP (php_Perl.dll, php_pgsql.dll etc.) Perl (5.8 or higher, geocoder::US module and several others from CPAN) PostgreSQL PostGIS, load polygon data Obtain US Census Tiger Line data for states in question Load Tiger data into BerkeleyDB (utility comes with Geo::Coder::US) author some PHP/Perl scripts Technical Background

25 Building an online tool for spatial joins Open source utilities and websites Geocoder scriptshttp://geocoder.us Census Tiger Line files http://www.census.gov/geo/www/tiger/ PHPhttp://www.php.net/downloads.php Perl (Active State)http://www.activestate.com/Products/ActivePerl php_perl Extensionhttp://devzone.zend.com/node/view/id/1712 PostgreSQLhttp://www.postgresql.org PostGIShttp://postgis.refractions.net BerkeleyDBhttp://www.oracle.com/database/berkeley-db/index.html Resources

26 Building an online tool for spatial joins Articles Build Your Own Geocoding Solution with Geo::Coder::US By Jason Gilmore http://www.developer.com/tech/article.php/3557171 Retrieving Map Location Coordinates By Jason Gilmore http://www.developer.com/tech/article.php/3548171 Resources

27 Building an online tool for spatial joins Free and Open Source Software for Geospatial 2007 http://www.foss4g2007.org/ Resources

28 Building an online tool for spatial joins New local GIS user group: “Cascadia Users of Geospatial Open Source” http://groups.google.com/group/cugos http://groups.google.com/group/cugos Next meeting today April 25 th, 5:30 pm In the LizardTech offices, located near Pioneer Square: The National Building Suite 200 1008 Western Avenue Seattle, WA 98104 Resources


Download ppt "Building an online tool for spatial joins using open source software Karsten Vennemann Seattle."

Similar presentations


Ads by Google