The State of Geospatial in Drupal

bdragon's picture

This is a paragraphization of a Drupal Dojo talk given by Bdragon and becw on June 16, 2008.

Current state of things

  • The immediate goal is straightforward point-based mapping for Drupal sites.
  • GMap and Location do not have stable Drupal 5 versions, or any Drupal 6 versions.
  • However, both GMap and Location are under active development by Bdragon.
  • GMap is *just* about ready for a 1.0 release on Drupal 5; it just needs to be banged on some more.
  • Location is well under way for a 3.0 release for Drupal 5; it has been tested internally, and is close to usable for most people who do not need the proximity searching functionality.
  • The basic plan of attack is to get GMap and Location out for Drupal 5, poste haste, and then do direct Drupal 6 ports, and *only* then start talking about new features and location refactoring.

Plan for GMap

A beta release for 5.x-1.0 GMap was just rolled, and needs thorough testing!

This is mostly feature-complete, except for:

  • Advanced features such as WMSS. This will eventually be rolled into GMap Addons's gmap_overlays module, which also offers TMS and KML support.
  • Putting georss on a gmap with the gmap macros, but is a little buggy atm.
  • Google switched GMap APIs from 1.x to 2.x, so older macros might look a bit funny.

The Drupal 6 port will be done within a few days of the Drupal 5 1.0 release.

Location

Location 3 takes addresses, geocodes them, and stores both the address and the geocoded location. It offers:

  • Cleaned up back-end, including the ability to work with node revisions, and attach locations to things other than nodes.
  • A "garbage collector" that will remove "orphaned" locations no longer attached to anything.
  • Cleaned up UI for international provinces
  • Automatic geo-coding of addresses
  • The ability to add multiple locations per node
  • Better theme functions and default markup.

The issues holding up the release are:

  • Views integration (international provinces are real pesky)
  • Proximity searching
  • Upgrade path needs to be heavily tested by many people.
  • There were "data eating" problems back in April/May, but the current HEAD version has been tested internally and seems to work quite well

How you can help

  • Provide legacy sets of GMap/Location data to test upgrade paths (especially half-broken ones, and REALLY old 4.6/CivicSpace ones). Please mail a database dump (if under 40MB) to bdragon [at] mailsnare [dot] net. Bare minimum tables required are location*, node, node_revisions, and uid/name from the users table.
  • Alternatively, I have set up a FTP dropbox at ftp://location:dbdump@nessie.rtk0.net/ (You can't see or download files from it, it's upload only.) Please send me an email if you do upload anything.
  • Download and play with GMap beta and Location 3 dev releases, and report bugs (along with patches, if you're extra keen!). In particular, these things need thorough testing:
    • Location 3 Province support
    • Location 3 upgrade path
    • GMap in multiple browser/platforms
  • Write documentation:
    • Upgrade existing *.txt files resolve all the "todos" and refresh hopelessly out of date stuff
    • Gather up list of features found in Location 1 and 2 not present in Location 3
  • Write SimpleTests, especially for Location module

Comments

Any module dependencies?

mrb's picture

When I install the new GMap beta, are there any minimum versions required for the Location, Views, and CCK modules? In particular, will it still work with the Location 5.x-1.x-dev I'm currently using?

Same for Location 3 - any minimum versions of GMap, Views, CCK?

For the location module, I see 'Views integration' listed as an issue. I have some lat/lon fields from Location appearing in a Gmap view - does that mean I should wait for that issue to be fixed before upgrading Location, or it's ok to try it now?

Does it matter which order Gmap and Location are upgraded in?

Anything else to watch out for when upgrading?

I'm looking forward to trying out the new versions, thanks for all the work on these.

Dependencies

bdragon's picture

GMap is currently programmed to work with both Location 1/2 and Location 3.
Whatever you have regarding Views and CCK should work (anything within the past year).

Location 3 dev requires the GMap beta or a recent dev snapshot. (Earlier versions of GMap don't have the required code to handle Location 3.)

I'd suggest making a test site and seeing if location 3 works for you. The lat/lon fields SHOULD still be working, but I haven't been able to thoroughly test location 3 views support yet.

Upgrade GMap first. And do this all on a test site!

Always visit the gmap settings page after doing a gmap upgrade, and examine the settings, and hit save. This prevents a lot of weird problems from happening. The beta contains an update that should fix most of the weirdness this time around, but it's still a good idea to double check the settings.

subscribe

vkr11's picture

subscribe

do not subscribe to threads

moshe weitzman's picture

do not subscribe to threads this way on groups.drupal.org. there are many ways to get email or rss on this site. we will soon have thread specific subscriptions but until then please use group specific ones. i know drupal.org uses this pattern but no need to repeat that insanity here. thanks.

What if we want to subscribe

Bevan's picture

What if we want to subscribe to a post on 'recent' but not the whole group?

Bevan/

We don't currently offer

moshe weitzman's picture

We don't currently offer that feature. Thats in the upcoming version of OG since it integrates with Notifications. So, coming very soon.

Geo Module

toursheet's picture

Wondering if geo module play's into the "State if Geospatial in Drupal" discussion? I wasn't in attendance for the dojo - was it recorded? link?

Geo is the future.... First

bdragon's picture

Geo is the future.... First we have to fix the present. ;)

I concur

Allie Micka's picture

Geo's primary responsibility is data storage and manipulation. Getting GMAP and other "visible" applications is a more rewarding focus right now.

However, my one and only concern with that approach is the possibility that display and mapping tools built for lat/lon only will be too inflexible to accommodate shape data.

I'm keeping all of Simple

bdragon's picture

I'm keeping all of Simple Features in mind and not doing anything to the apis that would make it harder to convert to it as the native representation...

In the future, I figure everything can speak WKT to each other. (with some utility functions, I figure it should be easy for modules to use, and it ties in with the database nicely..)

gProximity and other geospacial-related modules

mgenovese's picture

I am currently using GMap and Location (5.x-1.x-dev) for development on my site. Also using gProximity module which was seeing some development. That's a very useful module too, and I think should be included under the umbrella of Geospacial in Drupal. There is definitely some great potential with that module as it integrations Google maps with views. Right now it has some bugs that need to be addressed before it's production worthy. I see Location v3 was just released "tomorrow" (in my timezone). Need to start testing that.

So what other Gmap-dependent modules need to be grouped under the same Geospacial umbrella?

I think we need to group together a set of modules that each provide unique geospacial functionality, and are tested by the community to work with certain version of Location + Gmap. I'd like to see that discussed as well.

Google Client Geocoder

giorgio79's picture

There is a new cool module called Google Client Geocoder! Geocode via GMaps...

http://drupal.org/project/gcg

****Me and Drupal :)****
Clickbank IPN - Sell online or create a membership site with the largest affiliate network!
Review Critical - One of my sites

Addresses module

faunapolis's picture

I just became aware of the addresses module/project, it is just starting, but does anybody have experience yet with it?

http://drupal.org/project/addresses

Thanks


Florida Drupal Group, We meet Every 3rd Saturday in Orlando
http://groups.drupal.org/florida


Florida Drupal Group, We meet Every 3rd Saturday in Orlando
http://groups.drupal.org/florida

Yet another duplicate project

Allie Micka's picture

See also:

http://drupal.org/project/postal
http://drupal.org/project/cck_address

I'm sure there are others that could have used the benefit of joining forces.

duplicate project status

Exactly.

Allie Micka's picture

Most of these reached the "works for me" point, but did not receive the help and followthrough of others. In what way will creating additional dilution help matters?

The key to an address module that makes any sense at all is to focus on the address itself, through the creation of a form element, its validation, etc.

The minute you bake this logic into Location, CCK, ecommerce, users, etc., you box in its functionality to the needs of that application. On the flipside, if one module is trying to do too many things ( CCK AND address books AND user integration AND much, much more!); that module becomes cumbersome and difficult to maintain.

What we need is a small, clean address API module. This can provide the form element, validation, and "recommended" schema storage. Meanwhile, integration with CCK, GIS, invoicing, etc. are all handled outside of that module. ( which was the design goal of postal ). That way, all participating drupal modules can share the notion of what an address looks like.

merge addresses and location?

OpenChimp's picture

It seems like it would be best if addresses and locations merged their efforts, since they are both fairly active and serve basically the same niche. As others have said, it would be great if there were an API that was accessible by other modules to add addresses or location data to objects.

Merge not likely

pasada's picture

This was suggested, but brmassa isn't into the idea according to this comment in the addresses issue queue.

Yeah! Location-5.x-3.0-test1

gagarine's picture

Yeah!

Location-5.x-3.0-test1 is out and ready for testing :)

See http://drupal.org/project/location

Problem with gmap module

Whig's picture

Right now I have almost 3000 markers but I can't get them to work with gmap module.
If I delete most of those markers then it works but with probably over ~1000 markers map just disappear.
I there anything what I can do to make it work? Will it be/is it possible to load marker locations from external file?

Marker ceiling

tyler93023's picture

I've looked around a bit and it appears that you are really pushing limits at about 500 visible markers. One suggestion I found is to cluster your markers, so that you have a single cluster representing 50 markers instead of actually displaying 50 markers. Those 50 then become visible as you click down into the cluster.

I found this for you, which uses Clusterer.js:
http://econym.org.uk/gmap/clusterer.htm

If you search drupal.org for "gmap cluster" you'll find a number of conversations about implementation.

(whoops - sorry, Whig, I meant to Reply to your comment, not post a new one on the thread)

Clustering

Whig's picture

Thank you about your answer.
I have clustering enabled on gmap module settings and it work ok with under that 500 visible markers but when I add more markers it doesn't work.
But I'll check that link about clutering.

googlemap

computer_jin's picture

Hi Every one,
I want to ask some thing because i m very new in drupal please provide some help .
I have a field called region in my event and i have many events suppose and i want to show these events on google map using its region field so wat will i have to do .......?I have to add these all events on google map..
(---And if i have to add all events on google map than please tell me wats the procedure that how can i do this---)?

Or is there any procedure by which google map auto gets my events region field and shows events on that region or location......?

Thanks ,

Location and Mapping

Group organizers

Group categories

Wiki type

Group notifications

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