Building an online tool for spatial joins using open source software

Slides:



Advertisements
Similar presentations
A Roadmap of Open Source components for GI Web Services and Clients A Paul R Cooper MAGIC.
Advertisements

| imodules.com RE Adapter for Encompass (v2.0) Encompass and The Raiser's Edge® Integrated Data Solution CONFIDENTIAL.
RE Adapter for Encompass (v1.0)‏ Encompass and The Raiser's Edge® Integrated Data Solution.
Building an online tool for spatial joins using open source software Karsten Vennemann Seattle.
A Web Mapping Approach to Visualize Submarine Cable Routes Penn State University By: Mansour Arab Advisor: Dr. Alexander Klippel.
By Liqiang Cheng, Naiqi Jin and Jason Yap. Project Description Project summary: A Geo-spatial search system that collects and combines data from various.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
AgriDrupal - a “suite of solutions” for agricultural information management and dissemination, built on the Drupal CMS; - the community of practice around.
Presented by Mina Haratiannezhadi 1.  publishing, editing and modifying content  maintenance  central interface  manage workflows 2.
Confidential ODBC May 7, Features What is ODBC? Why Create an ODBC Driver for Rochade? How do we Expose Rochade as Relational Transformation.
SYST Web Technologies SYST Web Technologies Installing a Web Server (XAMPP)
Lecture 4 Geodatabases. Geodatabases Outline  Data types  Geodatabases  Data table joins  Spatial joins  Field calculator  Calculate geometry 
Mobile Mapping Systems (MMS) for infrastructural monitoring and mapping are becoming more prevalent as the availability and affordability of solutions.
Web-Based Tool and Why Cross Platform Support Multi-User No special software to install… just a browser Offload real work to server No worrying about versions.
Intranet and internet based software components. 2 Overview  What are intranet and internet based map applications?  System Requirements  Architecture.
GIS technologies and Web Mapping Services
What is IIS? IIS (Internet Information Server) is a group of Internet servers (including a Web or Hypertext Transfer Protocol server and a File Transfer.
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.
IDK0040 Võrgurakendused I harjutus 06: PHP: Introduction Deniss Kumlander.
Karsten Vennemann, Seattle Free and Easy Web Mapping.
Introduction to ArcGIS for Environmental Scientists Module 1 – Data Visualization Chapter 1 – GIS Basics.
Using PostGIS and MapServer in the Census Interaction Data Service Presentation to AGI Technical SIG 'Open-Source in GIS' British Antarctic Survey, Cambridge,
Implementing Web GIS Solutions using open source software Karsten Vennemann Seattle.
GIS Tutorial 1 Lecture 4 Geodatabases. Outline  Data types  Geodatabases  Data table joins  Spatial joins  Field calculator  Calculate geometry.
The 2000 Decennial Census School District Project: Using Census Data for the School District Mapping System **** Development and Implementation Tai A.
University of Illinois at Urbana-Champaign A Unified Platform for Archival Description and Access Christopher J. Prom, Christopher A. Rishel, Scott W.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
MAKANI ANDROID APPLICATION Prepared by: Asma’ Hamayel Alaa Shaheen.
PHP, Databases, and Cookies Dave Pease IDS496 12/2/2003
PHP Introduction PHP is a server-side scripting language.
Don’t Duck Metadata March 2005 Introducing Setting Up a Clearinghouse Node Topic: Introduction to Setting Up a Clearinghouse Node Objective: By.
Presented by: Marianne Cardwell, Woolpert, Inc. Cheryl Spencer, City of Indianapolis February 23, 2010 Voter Information Portal.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Web Page Designing With Dreamweaver MX\Session 1\1 of 9 Session 1 Introduction to PHP Hypertext Preprocessor - PHP.
Introducing the new SWITRS GIS Map application in TIMS Safe Transportation Research and Education Center University of California, Berkeley
Hydroinformatics Lecture 15: HydroServer and HydroServer Lite The CUAHSI HIS is Supported by NSF Grant# EAR CUAHSI HIS Sharing hydrologic data.
MESA A Simple Microarray Data Management Server. General MESA is a prototype web-based database solution for the massive amounts of initial data generated.
Presented By Sushil K. Chaturvedi Assistant Professor SRCEM,Banmore 1.
Drupal Basics May 30, 2012 By Sean Fitzpatrick. Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty.
 Joomla provides the free and open source content management system for publishing web content.  It is build on model-view- controller web application.
2nd year Computer Science & Engineer
Web Database Programming Using PHP
Introduction Most samples in Household Travel Surveys (HTS) complete via web Geocoding is an important element in HTS collection Online geocoding services.
Key Terms Attribute join Target table Join table Spatial join.
SharePoint Broken Link Manager
GIS Institute Center for Geographic Analysis
GIS Basic Training June 7, 2007 – ICIT Midyear Conference
Harry Williams, Cartography
Web Database Programming Using PHP
CUAHSI HIS Sharing hydrologic data
Steering Group Member, Link Digital
Created by Kamila zhakupova
PHP / MySQL Introduction
Attribute Extraction.
Geographic Information Systems
Spatial Data Processing
Using QGIS, GRASS and PostGIS to answer some difficult questions
Queen’s University Library
Voter Information Portal
Dynamic Data Access and Dynamically Generated WMS Layers
Overview of big data tools
SharePoint Broken Link Manager
GIS Institute Center for Geographic Analysis
Introduction to PHP.
Geographical information system: Definition and components
BIOPAMA Data Management
Web Application Development Using PHP
Dynamic Data Access and Dynamically Generated WMS Layers
JTLS-GO 6.0 PostgreSQL Information
Presentation transcript:

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

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

Why this online tool ? Why open source software ? Who, Why and What 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 Can find single addresses Building an online tool for spatial joins

About this tool Windows and Linux server platforms Who, Why and What 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. Building an online tool for spatial joins

Workflow for the tool can be broken up into four main parts Tool Workflow Workflow for the tool can be broken up into four main parts File upload to the server (text or Excel file containing address list via web interface ) Geocoding - Retrieval of coordinates (latitude/longitude) for the address (geocoded using 2006 Tiger line data, PHP and Perl) 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) Building an online tool for spatial joins

Workflow for the tool can be broken up into four main parts Tool Workflow Workflow for the tool can be broken up into four main parts File upload to the server (text or Excel file via web interface ) Geocoding - Retrieval of coordinates (latitude/longitude) for the address (geocoded using 2006 Tiger line data, PHP and Perl) 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) Building an online tool for spatial joins

Definitions and Examples 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) Building an online tool for spatial joins

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

Definitions and Examples Spatial Join A spatial join operation adds information based on the geographical location of one feature to another ID address 223428 16089 Northrup Way ID precinct 352 BEL 48-2776 Building an online tool for spatial joins

Definitions and Examples Spatial Join A spatial join operation adds information based on the geographical location of one feature to another ID address 223428 16089 Northrup Way ID precinct 352 BEL 48-2776 ID address precinct 223428 16089 Northrup Way BEL 48-2776 Building an online tool for spatial joins

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

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

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

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

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

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

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

Technical Overview Technical Background Building an online tool for spatial joins

Technical Overview Text or Excel file is read with php Technical Background Technical Overview Text or Excel file is read with php Get user input to select address fields Address is concatenated and feed into the geocoder::US Perl module from within php lat/long returned Spatial query using lat/long results from geocoding => in Post GIS one simple SQL query is called to retrieve the LD number 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)); Building an online tool for spatial joins

Technical Background Code Building an online tool for spatial joins

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

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

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

How can you build your own tool ? Technical Background 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 Building an online tool for spatial joins

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

Articles Build Your Own Geocoding Solution with Geo::Coder::US Resources 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 http://www.developer.com/tech/article.php/3548171 Building an online tool for spatial joins

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

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