Upload
hector-fletcher
View
244
Download
11
Embed Size (px)
Citation preview
OpenGeo
• Who is OpenGeo?• Product• How to Engage
Overview
(The Open Planning Project)
In The Beginning
• From a side project of TOPP• To sustaining contract work• And the push to grow
Grow!
Towards OpenGeo
• OpenGeo is a product company• We provide support and customer
focused development for our products
• We are 501(C)(3) corporation with a dot.org business model
Overview
The OpenGeo Suite
The Geo Stack
The Rich Client
GeoExt is built on OpenLayers and Ext.js
OpenLayers is the defacto standard for
javascript mapping clients
Ext.js is a widely used javascript library for
rich internet applications
• Create tools to let developers make rich GUI desktop-like applications that leverage GIS operations
• But designed for their users who may not know ‘GIS’
• Many users get trained on GIS and then use the same 5 operations
• GeoExt plus Web Processing Service plus local storage (Gears or GeoServer)
• ‘ArcView 3 for the web’
GIS-based Applications
Vector editing in a javascript clientDesktop application look and feel
Through the Web Editing
The Cache
GeoServer
GeoWebCache
Persistent raster/KMLtile cache
• Caches tiles as used by most common slippy map interfaces
• Ideal for layers that rarely change
• Delivers raster/KML tiles to:• OpenLayers• Google Maps/ Earth• Microsoft Virtual Earth
• Speeds up data delivery by a factor or 10-100
GeoWebCache Integration
• Already serving IGN France’s full infrastructure: 50 servers total, external ones serve on average 30,000 unique visitors a day
• No license fees makes things friendly for the cloud
• Burst tile creation - EC2 or other to process tiles in hours, not weeks
• Clustering and fail over best practices and advice
Scalability
Geo
Server
Geo
Web
Cach
e
WFS 1.0
WMS 1.1.1
PostGISDB2OracleMySql
Shapefile
---------------------------------------
---------------------------------------
---------------------------------------
ArcSDEWFS
PNG, GIFJPEGTIFF, GeoTIFFSVG, PDFKML/KMZ
Shapefile.zipGML2GML3GeoRSSGeoJSONCSV/XLSRaw vector
data
Servers
Styled maps
DBMS
Vector files
WFS 1.1
WCS 1.0
GeoTIFFArcGridGTopo30Img+worldMosaic MrSIDJPEG 2000ECW,Pyramid
Raster files
Raw rasterdata
GeoTIFFArcGridGTopo30Img+World
1.7.x
WCS 1.1
GWC KML superoverlaysGoogle maps tiles
• Problem: you have a huge data set you want to display on Google Earth• the generated KML is simply too big• the features you want to display have a
clear hierarchy• zoomed out, you want to display only the
most important ones, • less important should appear
progressively, as you zoom in, while leaving the important ones visible
• of course, everything should happen in the most fluid way
KML SuperOverlays
•Solution–create a pyramid like structure–have Google Earth regions drive what is visible at each scale–use a tile cache to maximize delivery speed
•This requires GeoServer 1.7.3 and above
KML SuperOverlays
Versioning and Advanced Workflow
• Play with tiling, antialiasing, format and map size
• Issue dynamic filters on your data
Improved Presentation Options
• Significant ArcSDE improvements• Fewer connections used during normal
operation• Supports versioning, read and write
against the default version• Uses native ArcSDE transactions on
write• Full ArcSDE raster support
• Oracle Spatial datastore rewrite, now fast and robust, full transactions
• DB2 and SQL Server 2008 read and write (WFS-T)
Improved Format Support
• WFS Reference Implementation• WFS, WFS-T 1.0• WFS, WFS-T and WFS Xlink 1.1
• WCS 1.0 compliant and 1.1 Reference Implementation
• WMS 1.1.1 and full SLD• SLD is native style format
• KML with Super Overlays• GeoRSS, GeoJSON, Shapefile, PDF,
WMS-C, CSV, XLS
Standards Support
• Prototype worked on during the last year
• Allows full programmatic configuration using simple REST calls (e.g., mass configuring 100 layers, adding new data as it comes in, etc.).
• Most programming languages have REST bindings, can script control of GeoServer
• Will be further developed in the 2.0.x series
REST Configuration
SLD Visual Editor
• Support for N-dimensional coverages (3d + time)• Full WCS support, mapping slices using WMS time
and elevation parametersBeing coded right now in a branch
Forget Flat Rasters. . .
• Can publish data to be crawled by Google• Shows up in search results on Maps/Earth
On Google Geo Search
The Database
• Downloads• Source = 41,600• Win32 = 70,000
• Web Site• Visits = 212,000• Visitors = 136,000
• Subscribers• User List = 1,700• Developer List = 270
By the Numbers (Annual)
• Published benchmarks against “leading brand” not allowed.
• Anecdotally... • Vendor loaded PostGIS and “leading
brand” with UK Ordnance Survey (500M objects)• “PostGIS was faster to load and query,
easier to manage.”
Performance
• Published benchmarks against “leading brand” not allowed.
• Anecdotally... • Government ArcSDE instance hung
when Oracle patch applied, so they brought up emergency PostGIS clone• “PostGIS saved our ass, and while we
were on PostGIS the queries actually ran faster.”
Performance
Command-line tool (ogr2ogr)Tens of formatsDatabase connectionsMinimal schema transformationEmbedded SQL engineOpen source
Graphical workbenchHundreds of formatsDatabase connectionsSchema transformationEmbedded scripting (TCL, Python)Spatial transformationsProprietary
http://www.safe.com/fme http://www.gdal.org/ogr
ETL Tools
• POINT
• LINESTRING
• POLYGON
• MULTIPOINT
• MULTILINESTRING
• MULTIPOLYGON
• GEOMETRYCOLLECTION
• CIRCULARSTRING
• COMPOUNDCURVE
• CURVEPOLYGON
• MULTICURVE
• MULTISURFACE
Supported Types
• ST_DWithin(geom, geom, radius) => boolean
• ST_Intersects(geom, geom) => boolean
• ST_Contains(geom, geom) => boolean
• ST_Touches(geom, geom) => boolean
• ST_Overlaps(geom, geom) => boolean
• ST_Crosses(geom, geom) => boolean
• ST_Covers(geom, geom) => boolean
• ST_CoveredBy(geom, geom) => boolean
• ST_Relate(geom, geom, pattern) => boolean
• ...
Supported Functions (Predicate)
• ST_Distance(geom, geom) => real
• ST_Distance_Sphere(geom, geom) => real
• ST_Distance_Sphereoid(geom, geom, spheroid) => real
• ST_Area(geom) => real
• ST_Length(geom) => real
• ST_Length_Spheroid(geom, geom, spheroid) => real
• ST_Equals(geom, geom) => boolean
• ST_IsValid(geom) => boolean
• ...
Supported Functions (Analytic)
• ST_Union(geom, geom) => geom• ST_Intersection(geom, geom) => geom• ST_Difference(geom, geom) => geom• ST_SymDifference(geom, geom) => geom• ST_Buffer(geom, distance) => geom• ST_Centroid(geom) => geom• ST_ConvexHull(geom) => geom• ST_PointOnSurface(geom) => geom• ...
Supported Functions (Constructive)
• ST_GeomFromText(wkt) => geom• ST_GeomFromWKB(bytea) => geom• ST_AsText(geom) => string• ST_AsGML(geom) => string• ST_AsKML(geom) => string• ST_AsGeoJSON(goem) => string• ST_AsSVG(geom) => string• ST_AsBinary(geom) => wkb-bytea• ...
Supported Functions (I/O)
• Mass market real estate information• MySQL couldn't do complex spatial joins
fast enough• Now using PostgreSQL / PostGIS• http://blog.redfin.com/devblog/category/
performance
Used by
• Mass market imagery web services• Oracle couldn't serve queries fast enough• Informix got too expensive as they grew• Now using only PostgreSQL / PostGIS• http://www.postgis.org/documentation/casestudies/globexplorer/
Used by
• Manage federal topographic database (over 100M features)
• Tested Oracle, DB2, and PostGIS• Found no technical advantage to Oracle or
DB2• Proceeded using PostGIS, no procurement
process required• http://www.postgis.org/documentation/casestudies/ign/
Used by
Business
OpenGeo.org
• Making Geospatial Information Open and Accessible
• By bringing Open Source Principles to Geo
• Working by building OS software that gets used by all
• In the context of a hybrid organization
Building the Open Geospatial Web
• Proprietary Software sold boxes of ‘software’
• Customer thought they were just buying the code, but there is far more to software:• Manuals, Support• Bug fixes, new features• Training, integration, custom solutions
• Software companies made huge profit margins
Software Business before Open Source
• High quality code is now free• A new class of Open Source companies
has emerged• There is a market for everything around
the code• Support, manuals, training, integration,
additional development, services• Profit margins on code are lower and
lower• Smart companies move up the value
chain
Software Business after Open Source
• Full Cost Recovery for OpenGeo• Spin off like Mozilla Corporation• Reinvest profit in similar ‘dot-orgs’
– Make Capital viral like the GPL• Require complete transparency• Business built on Open Source
principles
Towards the ‘dot-org’
OpenGeo
Enterprise
The Full Solution
• Basic Edition• Professional Edition• Enterprise Edition
How to Engage
• Core Support for OpenGeo Enterprise
• Unlimited bug fixes• 20% discount on services rate• 1 day response time, email support
during business hours• $15,000 / year
Basic Edition
• Core Support for OpenGeo Enterprise
• Unlimited bug fixes120 service hours (Upgrades,
Training, Configuration, Installation, Performance, Core Development)
• Oracle, ArcSDE, SQL Server support• 25% discount on services rate• 1 day response time, email & phone
support during business hours• $30,000 / year
Professional Edition
• Core Support for OpenGeo Enterprise
• Unlimited bug fixes• 250 service hours (unrestricted)• Oracle, ArcSDE, SQL Server support• Clustering and security support• 40% discount on services rate• 4 hour response time, email & phone
support 24/7• $70,000 / year
Enterprise Edition