An Enterprise Street Addressing System Using Open Source Paul E. McCullough City and County of San Francisco • gmail - p.e.mccullough • slides - http://tinyurl.com/26cuhcj •

Download Report

Transcript An Enterprise Street Addressing System Using Open Source Paul E. McCullough City and County of San Francisco • gmail - p.e.mccullough • slides - http://tinyurl.com/26cuhcj •

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