How are you using mapping in Drupal?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Adam S's picture

This is just a quick survey of how people are using the different mapping systems and modules in Drupal.

Currently there are two separate threads, Location and OpenLayers / Geofield. Which are you using and how? Which are you developing or bug hunting in? What are you doing to move these modules forward? And, what is that goal? Basically, I would like to know what people are doing now and what they will be doing 6 months and 1 year down the road.

It's important that the conversation keeps going and we coordinate on the same page sharing ideas and code, making sure the different systems integrate with each other and with the best parts of the Drupal 7 API.

Comments

Very interested

zzolo's picture

I am also very interested in this. @tom_o_t and I are writing a book Drupal and Mapping and this would help inform what and how we write the book.

I am the main developer on OpenLayers, so I am pretty tied to that boat. But I have slowly been working on the Mapping (http://drupal.org/project/mapping) that shoudl abstract mapping data structures so that the integration of different mapping libraries can be consistent.

--
zzolo

I'm building a job

Adam S's picture

I'm building a job recruitment board based on the eRecruiter distribution profile. The particular jobs I'm targeting are dispersed over the world so location is important and proximity search is a standard feature on any job board website. The modules used are OpenLayers, OpenLayers Proximity, Geofield, Geocode, and Addressfield all in Drupal 7. If the project is successful I have other things which I can use these modules for. Have a look

I haven't seen Location 4.x but I already think it is a shame there isn't more effort and focus put into OpenLayers Geofield set. There is a ton of wasted effort because so many people are doing different things in different ways.

Marine job board with Drupal 7 at http://windwardjobs.com

I have been using OpenLayers

itserich's picture

I have been using OpenLayers for a year. When I started it was frustrating because I was new to Drupal and did not understand documentation is almost always an issue. I tried Location and the other mapping options but OpenLayers worked best for me in D6.

I am now on my first D7 site and it appears the best solution is:
Addreess Field
Geofield
Geocode (an unofficial module in the Geofield issues, I think)
OpenLayers
OpenLayers Proximity (a D7 offshoot from the OL Proxmity issues)

Here is an OpenLayers map with about 130 locations. Click the + sign in the upper right corner to view how markers can be filtered and map layer changed. This is D7 and the same can be done with D6.

http://humaneiowa.com/shelters-pounds-map

For proximity: http://humaneiowa.com/shelters-pounds-list

I see lots of complaints about mapping but no longer understand why it is considered so hard.

I hope the above configuration becomes standard in D7 and am contributing what I can to documentation so they become more popular.

Anyone confused how to plot on a map in D6, this tutorial still works for me. It is not 5 minute process to set up, but once set up works great.

http://drupaldoes.com/content/tutorial-openlayers-mapping-nodes-and-aggr...

geofield and leaflet

levelos's picture

We're focused on GeoField, in some cases adding AddressField and GeoCode (Any plans on moving that from GitHub to d.o.?) to the mix. For presentation, OpenLayers is excellent, as is Leaflet by CloudMade, a newer, leaner map scripting library that we've been using and developing a module for. The Drupal module is still in it's early stages, but is a good alternative, especially for simpler use cases.

@zzolo, that would actually be a great use case for the Mapping project. Do you think it's ready? I've been essentially recreating the wheel in terms of how to architect that module so far, although I'm focusing more on developer use cases rather than end users.

Lev Tsypin


ThinkShout, Inc.
thinkshout.com | twitter.com/levelos

mapping module.

zzolo's picture

@levelos, I would love to put Leaflet on the Mapping API. I am pretty close to finishing the API part, then there is handling the UI. There is a fair amount of code and an example module if you want to check out the code.

--
zzolo

My two cents

plopesc's picture

Hello

I'm the maintainer of the Mapstraction CCK module. I think that it is a humble project where I started to work a couple of years ago and I continue because I want to learn more. Now, I'm working on the D7 version based on GeoField

@zzolo I think that Mapping is a great idea, I was looking something similar form Mapstraction JS library, however, the work is hard and annoying in some cases.

In my opinion, GeoField is the best option for D7. I bet for Geo for D6, because I think that Spatial DB as PostGIS can improve the results and performance because are faster than PHP processing data. However, de Geo development was stopped some time ago and maintainers doesn't help to continue the development or creating a better API for other modules integration.

In my opinion, thare are lots of approaches on how to display geographic info (and really great), but I think that the focus now should be on how to store and manage that info.

Regards

--
Pablo López, Drupal developer
https://twitter.com/plopesc

Hi, thanks for the

jherencia's picture

Hi, thanks for the initiative, I agree we should coordinate. There were two conversations before about this situation, and it is worth reading them to take other points of view into account:

I've been working in D7 and used OpenLayers as base module for localization purposes combined with GeoField. I made a patch to use Geolocation field as a widget and formatter of Geofield, which I think it's a good aproach: http://drupal.org/node/1129512

We have to decide which direction to head, and then start working on it.

@jherencia The conversation

Adam S's picture

@jherencia The conversation keeps dying out so I'm bringing it up again.

Marine job board with Drupal 7 at http://windwardjobs.com

Location + GMap / OL

davidhk's picture

I started a couple of years ago with Location and GMap. GMap is still installed and used in a couple of places, but most mapping uses OpenLayers now.

The site doesn't use Geocoding - users add new Place nodes and select their location by pointing at a map. Our site is all about Hong Kong history, so the area of the map is quite small. I can imagine we'd need Geocoding if we covered a larger area.

Currently there are four main applications of mapping:
- View a Place and its location (the piece that still uses GMap): http://gwulo.com/node/9233
- See all Places on a map (>1,500 so far): http://gwulo.com/place-map-search-OL
- See Places overlayed on old scanned maps: http://gwulo.com/1924-map-hong-kong-western
- Animated maps: http://gwulo.com/animated-map

At some point we'll have too many Place for the current solution (clustering) to work, so that will need some attention. I'd also like to allow users a simple way to annotate maps.

The site still runs on D6. When it's time to upgrade to D7, I'll look at the options, but will most likely stick with OL and Location.

So, nothing very cutting edge, but the maps are an essential part of the website. A big thank you to the developers that make it possible.

Regards, David

Proximity

jpstrikesback's picture

Hey just thought I'd pipe in...

From my work on various sites that require proximity & geolocation to go with that, I want to see a generic proximity api & views handlers module come out of what I'm doing. Openlayers Proximity has some geocoding built in but I'd like to see that farmed out to things like geofield & geocode so that it can just do the one task and hopefully be used in any proximity scenario regardless of what geocoding / geofield is being used...just some loose ideas, tell me what you think

Chlorophet maps

batje's picture

When you have a lot of data, adding SUMS & COUNTS becomes a logical step. Only styling these with the size of dots is somewhat limited.

We have been experimenting with barcharts (using views_charts and a module based on EzComponents) at http://www.ugandawatch.org and more recently starting experimenting with the WFS module and using geoserver to render the maps. This allows for the rendering of Drupal-stored polygon data as tiles by geoserver, something that your browser & Openlayers can not do when you have complex geometries and/or a lot of them (like the countries in the world).

Another area of interest would be to allow end-users to create maps, eg. this geo-ext sample. Where the user can save his work and make it addressable. More wms/wfs integration (like import WMS layers based on a GetCapabilities call) would enhance this type of functionality.

Hi Guys- Warning: Drupal

brndt's picture

Hi Guys-

Warning: Drupal Newbie entering the thread (aka:kudos and an offer to help where I can.)

I am completely new to Drupal, having been pointed to it via a few separate recommendations, so bear with me. I ended up here in an effort to design an intranet site that will need to accomplish some fairly serious multi-user field data collection, displaying it in (near) real time on the input interface. I expect to spend the vast majority of my time in the Drupal community dealing with the issues and modules yall are discussing here, so I figured I'd make my first post amongst geo-minded brethren. I apologize if it comes off as thread-jacking.

My background is more in geodata creation, management, and analysis (both raster and vector), along with surveying/gps/remote sensing. Basically a lot of inputs and almost none of the outputs. I have only a small amount of website design and programming knowledge, basically some very modest html, css, php, and javascript. Almost no idea So my understanding and appetite for geo-concepts is >>>> ability to apply it to the web. I started getting my feet wet with drupal about 2 weeks ago, and basically was looking for exactly what you're discussing here- some sort of discussion on the merits, interoperability, and vision of the various geocentric modules

While I feel no where near comfortable enough yet with the structure of drupal to even think about submitting code, I'd like to support the efforts of this thread in whatever way I can, and hopefully get to the point of being able to contribute directly to the coding. In the mean time, thanks for all of the work coding the tools that I'm about to get waaaay too familiar with, as well as for the impressive examples posted.

As far as the topic on hand: I'm developing a multi-user intranet (extranet? whatever...) site for adding rough locations (initially only points, via geolocation, with attributes) of fieldwork (mostly for wetlands restoration). The initial input method will be a map, with the current geolocation, and a simple "mark" button that opens a dialog for additional attributes. Also, track and log user location at a specified interval. Filter the map by user, date, etc.

Or to put it another way: surveying and data collection, cloud style (I hate that term, but it gets the point across). From, what I understand so far, I think I'll be able to do the majority of this via existing modules, at least to get a quick proof-of-concept working.

If I get all that working and stable, I hope to keep expanding on it. But this is all beyond my current grasp of web development:
-display custom map tile layers (I know this already exists and is probably easier than I realize, but baby steps)
-client-side caching for intermittent connectivity (I have no idea if this is possible with druple, either for sending -or- receiving)
-A compatible (but not necessarily directly through drupal) method of "streaming" a raw or filtered nmea stream coming from a client-connected device. Right now, I'm thinking a separate method of streaming the data to a server, parse each nmea sentence into proper fields/tables in a database (I'm assuming it's not smart to send it directly to the drupal db), and then have a drupal module to import the data to db (or to directly query the seperate db) so it can be included for map display.

-Way down the road: Make compatible with survey grade gps (maybe even incorporating rinex files and automated post-processing for RTK), NTRIP and DGPS support, compatibility with existing desktop GIS (Arc, gvSig, etc), support multi-band layers, and way more features than I'll ever be able to get to.

I guess my point is, I'll probably be around a good bit figuring all of this out. So until I actually have anything productive to contribute, thanks guys.

Mainly OpenLayers

Dave-B's picture

Hi,

I'm a little late to this conversation, but here goes...

I'm the web developer for a project to increase public understanding and engagement with mathematics: http://www.mathsinthecity.com/

The project is based on walking tours looking at interesting maths found embodied in the buildings, infrastructure, etc. of our cities. There have already been physical walking tours in Oxford and London (with more to come).
The website is intended to allow anyone (but particularly schools) to view tours; printing them out and physically walking them, and to encourage people to register and create their own tours.

We currently have two types of locations (via CCK): "Sites", which are in-depth looks at maths at a particular point, and "Snapshots", which are shorter versions where such detailed examination isn't necessary.

I'm now developing a "Tour" content type incorporating a series of Sites and Snapshots, and displaying a route (with directions) between them.

Map-wise, this is built with Openlayers (using Geocoder, CCK, Views), and not much else. The Geo module sounded like a great approach but didn't join up with the other modules how I wanted (at least when I started), so I'm using WKT.

I'm trying to add a location search using OpenLayers Proximity, but not having much success getting around the absence of map changes via JSON (http://drupal.org/node/933642).

The Tours (not yet live) use computed fields to get the list of tour locations, get directions from Cloudemade routing, and store it as JSON. A Block with Javascript then adds the path vector to a map, and adds the written directions to the page.

At some point I'll be looking at D7 - maybe in the next 6 months. I'm not sure if this project will have funding to upgrade/port from D6 to D7, but I'm sure I'll be taking a fresh look at what mapping tools work best together in D7 (or even D8, depending on how long it take me to start looking, and how quickly the modules are D8 compatible).

Thanks to everyone who has contributed to Drupal and made this possible!

Cheers,
Dave.

Pros and cons?

pmackay's picture

I know this is an old thread but am wondering, WHY are people here mostly using OpenLayers (as seems to be the case)? My preference is for OpenLayers too, mostly for the greater choice of mapping options and a bias towards more open systems, but are there any practical, functional reasons people have found to prefer one stack or the other?

Thanks!

Currently for D7, Openlayers

Sinan Erdem's picture

Currently for D7, Openlayers is the most complete option. Also it gives the most flexibility. There are some issues with especially styling, you have to work hard to change the tooltip graphics etc. But it is manageable. Also the number of helper modules or plugins for Openlayers are many.

Leaflet made a promising start, but it is still in beta and doesnt have many options. It has a nice default styling though, so if the job is simple enough, Leaflet would be the choice.

There are also some good options worth trying like Getlocations (http://drupal.org/project/getlocations). This module for me has one issue, it has only one maintainer. Although he is active, modules depending on only one person may be a littly risky. I had this concern on Google Maps Tools (http://drupal.org/project/gmaps). IMO, this was the best mapping option for D6. Its developer did a fantastic job but then, the project discontinued.

Location and Mapping

Group organizers

Group categories

Wiki type

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week