Creating GeoNode Maps

“GeoNode Maps are configurable, interactive compositions with support for multiple resources”

GeoNode map resources, in their basic form, are collections of layers that can be published and shared as distinct content elements. Maps are a distinct content type within GeoNode, and as such, they have their own permissions and metadata. Maps can be preconfigured to display a specific area at a particular level of detail, and include additional embedded map elements such as widgets in order to enhance their effectiveness when shared with other GeoNode users.

The basic spatial resource element within in GeoNode is a layer. A layer is a GeoNode resource that contains spatial data and has a related set of definitions for style and metadata. Although users may interact with a single layer within a map, maps typically include multiple layers in order to illustrate a specific outcome. Maps can be configured to utilize a particular style or theme for specific layers and can be published in a manner that allows them to be shared with a specific audience.

This module outlines the process for creating and publishing maps within GeoNode and the interactive tools available to map users. This module assumes that sample data has been uploaded into GeoNode already and has been styled adequately for map creation purposes.

You try:

Goal: Learn how to create and explore maps in GeoNode

  • Navigate to the Maps menu and select Create a New Map
  • Click the hamburger icon and use the Catalog to add a layer or multiple layers to the map
  • Use the Navigation tools to change the extent of your map

Hint: You can select multiple layers from the catalog to use in your map. When adding multiple layers it is encouraged to add layers that have extents that are within similar regional bounds, such as layers from the same countries.

  • If you have multiple layers, change the rendering order so that layers get drawn correctly and are properly visible
  • Select a Map Background. There are multiple basemaps available for maps, or the basemap service can be disabled and a plain background can be used
  • Save your map. Give it a title, description, and any other relevant metadata

By default, anonymous users (that are not logged in to GeoNode) are also able to create and edit maps using any publicly available resources, however, they will not be able to save and share the maps in the manner that registered users can.

Check your results

After creating and saving a map, it should automatically become available in the maps list or accessible from the layer details page of any of the included layers. Navigating to the map should allow users to view and interact with it. Once a map has been created, you can edit it to add/remove layers or change the base map accordingly, then save the changes to overwrite the existing map configuration whilst retaining all the relevant content details, permissions and metadata.

More about creating maps

Map creation

Maps can also be created from a layers details page by clicking on the Create a map using this layer feature, which will automatically create a new map, using the current layer as the only map resource. Additional layers can then be added to the map using the catalog tool.

GeoNode integrates multiple tools, services and libraries in order to function as a rich SDI (spatial data infrastructure) platform. One of the core GeoNode components is the MapStore map client, a web application that allows the creation of advanced, interactive web maps which can be published and distributed using the GeoNode permissions and content sharing utilities.

Map publishing

Saved maps will automatically become available to GeoNode users with the relevant permissions via the GeoNode data discovery interface. In addition, GeoNode includes a number of additional ways to share maps, which are very useful when publishing data publicly. These publication mechanisms enable GeoNode maps to be accessed via some of the following channels:

  • Direct link – maps are accessible via their relevant URL such as https://geonode.sitename.tld/maps/mapname
  • QR code - GeoNode may produce a Quick Response code which encodes the map URL as an image which can be scanned using mobile devices and automatically direct users to the map by navigating to the direct link address in the device browser
  • Social Networks - GeoNode includes tools for easily sharing content to popular social networks, including Facebook and Twitter
  • Embed code – Maps provide an embed code which allows it to be used in the pages of other websites
  • GeoNode APIs - GeoNode includes an advanced application programming interface for exposing map content to other software systems

Map permissions

GeoNode maps have their own permissions management structure for the map object itself, which will determine which users can view or manage the map project, but as maps include layer objects they respect the permissions that are configured for the underlying content. This means that you may only add layers to a map that your account has read access to, and viewers of your map will only be able to view layers that they have read access to.

Therefore, if you publish a map that contains both public and private layers publicly, anonymous viewers will only be able to view the public layers and will not be able to view private layers within your map.

Check your knowledge:

  1. Why would you create a map after logging in vs when not logged in:

    1. The ability to store your map on the GeoNode instance is only available when logged in
    2. When not logged in it is easy to create maps as you do not need to bug the administrators of the site for login details
    3. There is no difference for users
  2. Why would you not create a map with layers from South Africa and Brazil:

    1. Because they do not look nice
    2. Because the two countries have different profiles (economy and geography) so it does not make sense to show them together
    3. The map produced will have a large extent and the layers will not overlap
  3. How would I go about adding another basemap layer like Google Hybrid to GeoNode:

    1. You are not allowed to do that in GeoNode as it violates the software licence terms
    2. You need to be a developer and change a few lines of code to incorporate this
    3. You can write an issue for the GeoNode community and the next version they release will meet your needs