A GeoSpatial Mapping Architecture Matthew Blanchette Graduate Student & Research Assistant Computer Science Department Research Computer Group & ISIS University of Southern Maine GeoPortal Project Maine GeoLibrary Board
Overview System Goals & Layout Data Sources Open-Source Mapping Servers OGC Standards Google Visualization Visualization Alternative
System Goals Functionality: Allow Web Access to Geospatial Data Display Geospatial Data in a Map Viewer Implementation: Flexibility – Swap system components Cost Minimized Open Source & Free Geospatial Tools Geospatial Web Standards
System Layout Example Case: ACFISH2 Shapefile Data Point locations of streams and rivers in Maine with runs and passages of anadromous and catadromous fish. Maine Office of Geographic Information Systems Catalog http://megis.maine.gov/catalog/
Data Source - Shapefile ESRI Geospatial Data Format Collection of files to describe geometries (points, polygons, lines) spatially and with attributes Example case: ACFISH2 acfish2.dbf, acfish2.prj, acfish2.shp, acfish2.shx Metadata: acfish2.xml, acfish2.txt., acfish2.htm
Data Source - Database Spatially Enabled (PostGIS for PostgreSQL, MyGIS for MySQL) Example case: ACFISH2 Attribute columns – ID, NAME, YEAR,… Geometry column – Points
Open Source Mapping Servers MapServer University of Minnesota PhD Project, NASA, 1994 C, CGI, OGR/GDAL Mapscript (PHP,Java,Python,etc) PostGIS, Oracle Spatial, ArcSDE, MySQL, Shapefiles OGC Standards GeoServer The Open Planning Project, Data Sharing - WFS, 2001 Java, GeoTools PostGIS, Oracle Spatial, ArcSDE, DB2, MySQL, Shapefiles OGC Standards
OGC Standards Open Geospatial Consortium – international geospatial standards organization WMS: Web Map Service Specification for providing map images MapServer and GeoServer SLD: Styled Layer Descriptor XML schema for styling map layers (WMS) KML: Keyhole Markup Language XML schema for geographic visualization and annotation Keyhole, Inc. and Google GeoServer & GeoTools can output as KML
WMS Example ACFISH2 MapServer WMS Image
KML Example ACFISH2 KML Libraries in many languages to edit and produce XML GeoTools and XMLBeans (Java) Concerns: Projection Transformation Embedding Descriptive Information <Placemark id="acfish2.176"> <name>acfish2.176</name> <description><![CDATA[ <b>ACFISH2_ID</b>: 33<br /> <b>DMR_ID</b>: F3<br /> <b>ECCM_ID</b>: <br /> <b>YEAR</b>: 1982<br /> <b>ECCM_SP</b>: <br /> <b>USFW_SP</b>: <br /> <b>DMR_SP</b>: ADEGHNS<br /> <b>DMR_NAME</b>: KENNEBEC RIVER<br/> ]]></description> <MultiGeometry> <Point> <coordinates> -69.78452182688191, 43.77204938317024 </coordinates> </Point> </MultiGeometry> </Placemark>
Google Visualization Google Maps: free web mapping application Browser, Javascript, API Maps, Satellite, Terrain, Traffic, Street View Google Earth: free 3D globe program Variety of OS: Windows, Mac, Linux Google Earth Plugin: same 3D globe service Browser: Firefox or IE 6/7 Integrates with Google Maps
Google Maps WMS Example Yankee Foliage MapServer WMS counties layer Colored polygons
Google Maps KML Example ACFISH2 KML
Google Earth WMS Example Atlas of Canada MapServer – WMS, Lakes and Reservoirs layer
Google Earth – NOAA Example National Weather Service – Doppler Radar locations KML
Google Earth KML Example ACFISH2 KML
Google Earth Plugin Example Google Maps Integration
Visualization Alternative OpenLayers Open source Javascript library, allows displaying dynamic map data in web browsers API – Google Maps The Open Planning Project (same as GeoServer) Data Sources: GeoServer, MapServer, Google, WMS, KML, etc.
OpenLayers Example ACFISH2 KML
OpenLayers, GeoServer, & PostGIS Richard Franks USM Thesis Project