Notes on Free and Open Source Mapping
Free and Open Source Mapping Tools
Presented by: Josh Livni, Livni Consulting
He used to get free software from ESRI
Google maps has triggered shift from academic to hobbyist interest in mapping
Audience idea: bike trail map wiki - geocoding potholes
ESRI using python for its example code
From University of Minnesota: MapServer - Open soucre web mapping
perlMapScript and PHPMapscript also pythonMapscript
Python Cartographic Library aka PCL - PrimaGIS - plone integration
housingmaps.com - select area, pulls listing for that area, and maps data points from craigslist by consuming rss feeds
Parishes in Seattle: eactive.org/svdp/parish.html Figuring out which parish and address is in by mapping the addresss, and then drawing a line around the parish (polygon generated by shape files stored in PostGIS database (postGreSQL add-on))
Google doesn't know where the markers are or the boundaries drawn are, but yahoo maps would. Google just serves up the background.
Google Maps API has a few legal caveats - mashups must be free and public - details in API docs.
PostGreSQL a great platform for storing and select queries on geographic data - very fast, doesn't crash.
He is using it for walkability analysis. The proejct was originally written in ArcVIEW - took a day and a half a day to run, and very flaky The same task takes 1.5 hours in PostGIS, doesn't crash.
Google Maps handles a lot of points by clustering, which can slow performance, so best to limit the number of points sent to Google Maps Markers color-coded by organization type or category. Clicking a plotted point shows detail info in a side bar.
Q: Concern about using unfamiliar tools - wants Ruby and MySQL
What are spatial queries? Where did I click, and return the containing polygon and neighboring polygons, as one example done via regular sql select statements
postGIS simplifies distance calculations, better at handling subsets of info than ESRI
eactive.org/gmaps/house.html Serving up maps to other people that might want to use it, and then integrated it as a layer into google maps
WMS = web mapping service? Any arbitrary map can be brought in to google maps as a layer.
Probably never be able to build something comparable to Google Maps for free - it does always show a google logo.
Alternative is to create a "simple framework for simple stuff"
Transparencies are possible between layers in google api
MapServer - open source, written in C frameworks built around it
To build MapServer app, you need:
- a bunch of data, shape folders
- text file to specify the options
- it's not very object oriented
Results look very similar to Google Maps, but completely open source
80% of any mapping project is just assembling the data
Client side controls to turn layers on and off, control transparency, etc.
More flexibility, but more work to get it set up
20 minutes of clicking from download to demo with MapServer
Another framework - Chameleon - also free framework easy to download and get going DM Solutions in Canada - put out chameleon
Chameleon and Ka map are frameworks that sit on top of MapServer Mapserver is just the rendering engine called by the framework It's comparabile to ArcIMS
You have to create your own symbolization in a map file
QuantumGIS -> Mapfile could then go to MapServer? aka qgis
uDig user-friendly desktop gis
uDig and qgis are both floss, and allow for editing of postGIS database directly
Mapserver-based maps can be integrated into Plone with PrimaGIS
Mousing over mapped points links to Plone content items
Add content, click on map, and enter title, x y is autopopulated, and then link to pre-existing content items with plone - through Archetypes References?
You can also push Plone content out to google maps and google earth
KML export from plone, and gml export form to google maps or mapserver
No tools for drawing polygons yet, just points
Microsoft TerraServer has detailed satellite imagery and topo maps
Analytic software example: color-coding population in an urban area
Prime tools for medium level needs OGR or GDAL GRASS is primarily for hardcore analysis, most people will never need this much.
PrimaGIS has two or three main developers
migrating to Zope 3 - will be available in Plone 2.1 in two weeks or so, using Five - and Zope 2.8?
A plone admin can make new maps, add layers, determine who can see what via workflows.
Josh has clickable screencasts on his site.
PrimaGIS are really on top of it Plone has overhead, but the need for workflow can make it worth it You can delegate map tasks to people who don't know GIS
PrimaGISLayer configurable in Plone Admins that don't understand GIS can configure everything through the Plone.
OGR v. GDAL
ogr - vector analysis GDAL - raster analysis - mosaic images, reproject them - suite of utilities
vectors are thigns with points and lines rasters are pictures
FWTools - installer for a large set of tools, everything map server needs MS4W - MapServer for Windows - installer for MapServer
Add-ons for PrimaGIS geocoded image item in Plone, without proxy add rss feeds to particular points on maps
Clicking on map generates x/y, could be reprojected back to a latitude/longitude, and this will happen on the fly with kml export.
primagis.fi - website for PrimaGIS
good irc channel and user list
links at eactive.org
MapServer has good user community and mailing list
good support for open source mapping stuff in general
IRC Channels on freenode:
Notes by Matt Blair