Reading and Writing GeoData on the web
Submitted by Yuvi Panda (@yuvipanda) on Wednesday, 12 September 2012
This workshop is aimed at getting people to fully understand the basics of building an end-to-end geo data pipeline - getting data in, storing/representing it, and displaying it in various ways.
The workshop will cover using the Leaflet mapping library to display a GeoJSON feed on a map. We will cover styling and filtering layers, handling events like mouse-over / click, and finally, editing layers and saving back to the server.
Aim of the workshop would be for people attending to go out with a clear idea of how to do read/write with mapping data on the web. We start with read (GeoJSON from server -> plain rendering + customization) and then move to write (adding markers/shapes, then serializing them as GeoJSON to get sent to the server for persistance)
On the back-end, we will cover the basics of setting up a GeoDjango project, defining one's models, and using the GeoDjango ORM to query spatial data, and then output data as GeoJSON. We will cover different geographic field types and basic geo concepts like projection, etc. but not go into too many back-end details. Also, while we will use GeoDjango as the back-end frame-work, attempts will be made to make the concepts as generalized as possible. Familiarity with basic MVC concepts and some experience of working with an ORM would be desirable, but not required.
We will spend the majority of time on building in-browser tools to display, style and edit GeoJSON data sent from the server. We will cover setting up Leaflet, various in-built controls, the general architecture / conventions used in the library, setting up various map layers, and working with the Leaflet draw plugin to draw and edit features on the map. We will cover adding interactivity to features, like click and mouse-over events, as well as having other controls on the web-page to change the style of objects. We will go through the basic work-flow of editing and drawing features, and serializing them to GeoJSON to send back to the server to save.
Sanjay Bhangar is co-founder of CAMP ( http://camputer.org ), an artist / hacker-space in Mumbai and works part-time with Topomancy LLC on map-based projects. He has worked on http://pad.ma and a wide range of web-based initiatives.
Yuvi Panda is a 21 year old open source geek who chases shiny new things way too often. He wrote major parts of the Wikipedia Android/iOS app and POSM, a nice mobile editor for OSM. Amongst his hobbies is taunting people who still use OpenLayers. He's currently a student at KCG College of Technology.