SlideShare una empresa de Scribd logo
1 de 26
An Enterprise Street Addressing System Using Open Source ,[object Object],[object Object],[object Object],[object Object],[object Object]
Enterprise Addressing System ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],We built it to...
We thought it should be... ,[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object]
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
Web Client Demonstration ,[object Object],[object Object],[object Object]
Extract - Transform - Load ETL app_db map_db Public Works parcels streets Assessor ownership Enterprise GIS transform
Extract - Transform - Load ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Messaging Web Services  Address System Web Server look up change notification Client System  Web Server
Review ,[object Object],[object Object],[object Object],[object Object]
Questions gmail: p.e.mccullough slides: todo – url repo: todo - url
Credits ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
the following slides are supplemental
Data Model
Feature:  Simple, Adequate Data Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Feature: Address Lineage 150 change request Main Street 150 152 154 156
Feature: Address Point Table street based geo-coding falls short Add Constraint: point must be within a polygon Main Street 198 100 101 199
 
 
 
 
 
 
 
 

Más contenido relacionado

Similar a Oscon 2010

Summer 16 Developer Overview
Summer 16 Developer OverviewSummer 16 Developer Overview
Summer 16 Developer OverviewPeter Knolle
 
Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...True North Geographic Technologies
 
Building Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsBuilding Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsJames Pearce
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Data Microservices In The Cloud + 日本語コメント
Data Microservices In The Cloud + 日本語コメントData Microservices In The Cloud + 日本語コメント
Data Microservices In The Cloud + 日本語コメントTakuya Saeki
 
How to build Micro Frontends with @angular/elements
How to build Micro Frontends with @angular/elementsHow to build Micro Frontends with @angular/elements
How to build Micro Frontends with @angular/elementsMarcellKiss7
 
Elegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property GraphsElegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property GraphsConnected Data World
 
"Frameworks in 2015" Андрей Листочкин
"Frameworks in 2015" Андрей Листочкин"Frameworks in 2015" Андрей Листочкин
"Frameworks in 2015" Андрей ЛисточкинFwdays
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei ZahariaDeep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei ZahariaGoDataDriven
 
Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web appsJames Pearce
 
Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2Binary Studio
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsJames Pearce
 
My cloud + Windows Phone app experience
My cloud + Windows Phone app experienceMy cloud + Windows Phone app experience
My cloud + Windows Phone app experienceJeff Wilcox
 
INAC Online Hazards Database App
INAC Online Hazards Database AppINAC Online Hazards Database App
INAC Online Hazards Database AppGerry James
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06Thomas Stensitzki
 

Similar a Oscon 2010 (20)

Summer 16 Developer Overview
Summer 16 Developer OverviewSummer 16 Developer Overview
Summer 16 Developer Overview
 
Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...
 
URL Design
URL DesignURL Design
URL Design
 
Building Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsBuilding Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web Apps
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Data Microservices In The Cloud + 日本語コメント
Data Microservices In The Cloud + 日本語コメントData Microservices In The Cloud + 日本語コメント
Data Microservices In The Cloud + 日本語コメント
 
How to build Micro Frontends with @angular/elements
How to build Micro Frontends with @angular/elementsHow to build Micro Frontends with @angular/elements
How to build Micro Frontends with @angular/elements
 
Elegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property GraphsElegant and Scalable Code Querying with Code Property Graphs
Elegant and Scalable Code Querying with Code Property Graphs
 
OpenESB
OpenESBOpenESB
OpenESB
 
A Peek in to Elm Architecture
A Peek in to Elm ArchitectureA Peek in to Elm Architecture
A Peek in to Elm Architecture
 
"Frameworks in 2015" Андрей Листочкин
"Frameworks in 2015" Андрей Листочкин"Frameworks in 2015" Андрей Листочкин
"Frameworks in 2015" Андрей Листочкин
 
Technical services Offer
Technical services OfferTechnical services Offer
Technical services Offer
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei ZahariaDeep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
 
Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web apps
 
Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2Academy PRO: Node.js default stack. Lecture 2
Academy PRO: Node.js default stack. Lecture 2
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
 
My cloud + Windows Phone app experience
My cloud + Windows Phone app experienceMy cloud + Windows Phone app experience
My cloud + Windows Phone app experience
 
INAC Online Hazards Database App
INAC Online Hazards Database AppINAC Online Hazards Database App
INAC Online Hazards Database App
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06
 

Oscon 2010

Notas del editor

  1. 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)
  2. 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.
  3. 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
  4. We separated the map data because we want to provide mapping and geospatial services to applications other than the address system.