Mapping with Drupal

I've recently become more involved with map scripting in my work on LCREP, Save Our Gulf, Geomeridian, and a few others in the works. One commonality amongst all the projects was the need to display geocoded data on a map, a problem solved many times over. When I began work on the first of these projects this past spring, the state of mapping in Drupal boiled down to these tools.
Mapedelic
Mapedelic is the name given to the powerful and well established duo of Location and Gmap. The former stores address and coordinates as either CCK fields or in its own schema and can geocode addresses when called upon. The latter then renders those locations on a Google map. Gmap also plays well with Views. Both these modules have large install bases and have been in use for some time.
Pros
- Large, well established user base
- Stability
- Geocoding of addresses
Cons
- Location paradigm of collecting addresses is not applicable for more diverse use cases.
- Geocoding has some problems when updating addresses.
- You can't change between a fields and node based approach. Since fields is by far more flexible, and the future, there's lots of code debt to the pure nodes approach that most people don't need.
- Gmap uses the legacy v2 Google Maps API.
- Configuration and customization of the Gmaps output can be difficult.
- You're locked into using Google Maps.
Save Our Gulf
Save Our Gulf is an initiative of Waterkeeper Alliance to support the Gulf Waterkeepers directly impacted by the BP oil disaster. One of the main reasons I started Level OS was to leverage my professional skills to help organizations who were doing work I wanted to support. Rarely has there been a group more deserving of help, or a disaster more devastating to a region, than the recent Gulf oil spill. The Waterkeeper Alliance needed a tool to report on the damage being caused by the pill, and tell the true story of what was, and still is, happening in the Gulf. With the reporting tool we developed, volunteers can easily submit geo-tagged pollution reports complete with photo and video uploads. Hopefully these reports will ensure that those responsible will pay for the damage that has been caused. Some notes about the site.
- Reports near each other are clustered together on a "nearby" view, available from every report page.
- Map icons are customized based on the status of a site, E.g., impacted by oil.
- The site uses a new version of the Drupal Mapstraction module, which I maintain.
- Videos are uploaded to YouTube directly via the video upload module.
Big thanks to ThinkShout, my partner on the project, for brining it my way and the incredible hard work and devotion he demonstrated.
LCREP Mapping Tool
Level OS recently partnered with ThinkShout to develop an online mapping tool for the Lower Columbia River Estuary Partnership (LCREP).
Maps.lcrep.org enables users to track site locations where activities have occurred, and to download information related to those sites. Filtering options are available, allowing users to identify groups of sites that share common attributes. All sites can be accessed from this main page, but for finer detail and/or filtering options for each Program Area, users can navigate to the respective Program Area pages.
The primary technical challenge was developing a simple and flexible mapping tool allowing users to filter restoration sites based on their categories, without reloading the page. We turned to the Mapstraction map scripting framework, which allows users to interact with any of the leading mapping providers using a single code base. In the process, I took over the development and maintenance of the Mapstraction Drupal module. The module makes it very simple to create views of geo tagged data, and we were able to leverage the filtering capabilities of the Mapstraction library.
GeoMeridian.com
GeoMeridian was created to provide a single GIS community that spans industries, business process areas, technologies & service providers. GeoMeridian captures, organizes, and makes available knowledge of best practices approaches to deploying geo technologies. Its collaborative approach enables GIS professionals to easily find, learn from, & collaborate with colleagues across industries.
GeoMeridian was another successful outcome of a Level OS partnership with ThinkShout. The site features include:
Meego Help Site
Level OS worked with Intel to develop the navigation and content presentation system for the Meego help site.
MeeGo is an open source, Linux project which brings together the Moblin project, headed up by Intel, and Maemo, by Nokia, into a single open source activity. MeeGo integrates the experience and skills of two significant development ecosystems, versed in communications and computing technologies. The MeeGo project believes these two pillars form the technical foundations for next generation platforms and usages in the mobile and device platforms space.
