Notes on Free and Open Source Mapping

From Penguin Day
Revision as of 23:13, 18 December 2015 by Miriam (Talk | contribs) (Protected "Notes on Free and Open Source Mapping": Excessive spamming ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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 - select area, pulls listing for that area, and maps data points from craigslist by consuming rss feeds

Parishes in Seattle: 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.

Q: does this require javascript? It's using AJAX, but the javascript isn't that bad, and you can code and paste code from other Google Maps enthusiasts.

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

Non-spacial queries could be done with MySQL, but to use Google would still require javascript.

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 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 - 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. - website for PrimaGIS

good irc channel and user list

links at

MapServer has good user community and mailing list

good support for open source mapping stuff in general

IRC Channels on freenode:

  1. mapserver
  2. zco

Notes by Matt Blair