Oscon 2010
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Oscon 2010

on

  • 838 views

An Enterprise Street Addressing System Using Open Source

An Enterprise Street Addressing System Using Open Source

Statistics

Views

Total Views
838
Views on SlideShare
838
Embed Views
0

Actions

Likes
0
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • About the 80%: An example of such a use: The city is licensing a medical marijuana dispensary at 100 main St. We want to notify the neighbors that are within 300 feet of that addresses parcel boundary. We tried to avoid including tempting things like general purpose geocoder, for example, to answer questions like “where is fishermans wharf?”. About the silos: There are at least a dozen address databases in the city – we’d like to put a dent in this number. Problems with silos: - lots of ETLs to maintain - stale data - inconsistent validations (perfectly appropriate for some use cases)
  • Json works naturally in python and javascript … you serialize an object graph to get create json … you deserialize the json to create the object graph … it ’ s a simple and compelling combination. If you ’ re a developer you should already be familiar with the model-view-controller. Django separates concerns using something I think is best called model-view-template. Note that there are 2 models, really 3. This violates a number of principals. It increase maintenance and complexity. But it ’ s what allows a client to be rich. Debates about these trade offs are common. PostGIS is a spatial extension for postgresql.
  • Search 445 Ashbury – orientation 445 Ashbury - 1 door on the street and 10 units – probably apartments 3513052 - complement to the previous - one parcel or owner – and many addresses 45 Fremont St – 33 stories, mailing room on 2 nd floor, clients visit the other floors 1000 Pine St – some time shares – one flat or unit with multiple owners 4712008 – single parcel with 240 addresses and a mutlipolygon Change Request Address Review
  • We separated the map data because we want to provide mapping and geospatial services to applications other than the address system.

Oscon 2010 Presentation Transcript

  • 1. An Enterprise Street Addressing System Using Open Source
    • Paul E. McCullough
    • City and County of San Francisco
      • gmail: p.e.mccullough
      • slides:
      • repo: http://esams.googlecode.com/svn/
  • 2. Enterprise Addressing System
    • mundane
    • insert, update, delete (retire)
    • useful
  • 3.
    • satisfy 80% of street address use cases
    • be the “system of record”
    • reduce the silo count
    We built it to...
  • 4. We thought it should be...
    • geospatial
    • web centric
    • based on open source
  • 5. Agenda
    • architecture
    • web client demonstration
    • extract - transform - load
    • messaging
  • 6. Architecture/Deploy Virtualized Linux on Applogic Javascript Ext JS OpenLayers model view controller Web Client Httpd Python Django GeoDjango Web Server model view template map_db app_db RDBMS PostgreSQL/PostGIS json ajax Java Tomcat Geoserver Map Server maps map cache
  • 7. Web Client Demonstration
    • search
    • change request
    • address review
  • 8. Extract - Transform - Load ETL app_db map_db Public Works parcels streets Assessor ownership Enterprise GIS transform
  • 9. Extract - Transform - Load
    • Feature Manipulation Engine
    • Python scripts
    • dev, qa, prod
    • two-phase commit
    • ssh
    • map cache reseed
  • 10. Messaging Web Services Address System Web Server look up change notification Client System Web Server
  • 11. Review
    • architecture
    • web client
    • extract - transform - load
    • messaging
  • 12. Questions gmail: p.e.mccullough slides: todo – url repo: todo - url
  • 13. Credits
    • City and County of San Francisco
        • Department of Technology
        • Department of Building Inspection
        • Assessors Office
        • Department of Public Works
    • Farallon Geographics
    • Open Source Projects
        • Ext JS / OpenLayers
        • Mozilla / Firefox / Firebug
        • EveryBlock
        • Python / Django / GeoDjango
        • GeoServer
        • PostgreSQL / PostGIS
        • Linux
  • 14. the following slides are supplemental
  • 15. Data Model
  • 16. Feature: Simple, Adequate Data Model
      • parcel to address (many to many)
        • apartments
        • timeshares
        • multi-story
        • condos
        • tenants in common
      • mailing address
      • status (official, provisional ...)
  • 17. Feature: Address Lineage 150 change request Main Street 150 152 154 156
  • 18. Feature: Address Point Table street based geo-coding falls short Add Constraint: point must be within a polygon Main Street 198 100 101 199
  • 19.  
  • 20.  
  • 21.  
  • 22.  
  • 23.  
  • 24.  
  • 25.  
  • 26.