Geographical data and mapping

This guide has not yet been reviewed by Contributed module documentation archive maintainer(s) and added to the menu.

Drupal is an amazing tool for mapping. It integrates with a lot of libraries, technologies and third party services. There are solutions for simple maps but also for complex mapping needs.

With mapping there isn't one ideal solution, because it depends of the project. Although, there is always a path: input > storage > process > output, some modules may provide more than one of these steps.

If you start mapping with Drupal, you will most likely use a combination of modules to achieve your goal. The documentation section contains a description of main modules to help you on your selection.

Widely used approaches

There are several approaches:

In Drupal 7, Address Field is now often used instead of Location as a storage back-end. Addressfield Autocomplete complements Addressfield by providing an user friendly autocomplete address search widget.

For a complete solution out of the box, Cartaro is a Drupal distribution that provides support for spatial data. It combines PostGIS, OpenLayers, OpenLayers Editor, and GeoServer modules.

Which one to pick depends on the nature of the project (e.g the location data storage modules you may be committed to) and the level of skill you have with each technology. OpenLayers supports a number of map providers (including Google Maps), so gives you a lot of flexibility. However, this comes at the expense of more complexity in configuration.

Geofield is currently the standard for storing geo data. It can be used as a stand alone solution for simple projects as it provides the input (unlike Location, it accepts points, lines, polygons), storage and display (when used with Views). But if you want more complex displays, it can be integrated with Geocoder, or libraries like Openlayers, and Leaflet.

When a deep handle geospatial data is needed, the PostGIS module is used. To the end user this module is similar to Geofield, but spatial operations and data storage rely on PostGIS. This module has a good integration with the OpenLayers, OpenLayers Editor and the GeoServer modules. With the PostGIS module, spatial data are stored as true geometric data types like POINT, LINE, POLYGON and more. This allows for high performance spatial queries and analyses and guarantees data integrity through a whole range of possible spatial validations.

If your geographical data can be captured as a Views table, which is almost always the case, then IP Geolocation Views and Maps is a very versatile solution, connecting your choice from any of the main geo storage modules to your choice of one of the three map rendering packages (Google, OpenLayers and Leaflet). This allows you to pick and mix as you please without lock-in.

Drupal 6 vs. 7

As can be seen from the list above, there are differences between the available modules for Drupal 6 and Drupal 7. On one hand because the technology is outdated, on the other because more flexible solutions appeared. Web mapping is an area that is in constant motion.

To search more contributed modules see the Location category.
See also: Comparison of mapping modules.

Address Field

Addressfield Autocomplete, Geofield and Geocoder work together

This page describes how you can configure Addressfield Autocomplete module with Address Field, geocode the coordinates to a Geofield and

Countries

Country data can be obtained from many sources. From Drupal 7, a list of countries defined by core.

GDAL

The Drupal GDAL module allows read and import vector data in all formats supported by the GDAL/OGR library.

GMap: Add Google Maps to your site

The GMap module is both an API and a filter to easily embed Google Maps into your site.

GeoServer

This module helps to connect Drupal with GeoServer. In conjunction with your spatially enabled Drupal site the GeoServer module has four

Geocluster

Update: There is an updated make file from the module maintainer here

Geocoder

Geocoder is a Drupal 7 module that will extract (geocode) geographical data from just about anything you throw at it such as addresses, GPX

Geofield - D8

Geofield is a Drupal 8 module that provides a field type for storing geographic data. This data can be attached to any entity, e.g., nodes,

Geofield

Geofield is a Drupal 7 (& Drupal 8) module that provides a field type for storing geographic data. This data can be attached to any entity,

Geofile

This is the documentation for the Geofile module

Geolocation Field

Geolocation Field Overview

Geospatial Presentations

Leaflet

Location: associate geographic location

MapBox maps and OpenLayers

Once you installed MapBox and the OpenLayers modules, you may be asking "What's next ?" because there is no MapBox layer provided out-of-box

Mapping

Mapping is a framework to easy create other mapping modules to allow map providers. Dependent modules will count with all magic things

Mapping kit: using OpenLayers and MapServer

Mapping kit is a collection of modules to support custom mapping. It defines several content types:

Mapstraction CCK

This is the basic documentation page of the Mapstraction CCK project.

OpenLayers

This is the basic documentation page for the Drupal OpenLayers module. Documentation is grouped by major version.

PostGIS Field

This module provides a field for geospatial data that can be added to entities. In other words end users can add points, lines or areas on a

Proposed Drupal 8 Mapping Object Model & API

Development on the OpenLayers3 module has introduced a set of PHP object Interfaces for representing maps and layers as objects and the ways

Quova

Geolocation meets Drupal in a big way with a fresh suite of modules for interfacing Drupal with Quova’s geolocation offerings. Quova is the

Views GeoJSON Example Use Case

In this example use case, Druplicon the blogger travels around the world and blogs about the awesome stuff he encounters on his travels.

Web Feature Service

The Web Feature Service (WFS) is an implementation around Views and Drupal-stored geodata.

Guide maintainers

smk-ka's picture