GeoNode Annotations Plugin

“GeoNode provides an annotations plugin which can be used to create customizable spatial data within a map”

The annotations plugin is a plugin for GeoNode that is not available by default but can be added to a GeoNode instance to extend the capabilities of maps.

The annotations plugin could also be thought of as a "Drawing" plugin, as it effectively enables map users to draw, or digitize, custom shapes and objects within a map. These drawing objects are not "map layers" sourced from the GeoNode catalog, but are user created features which are added to a map project as a single "Annotations" layer. As they are represented on maps, they do conform to typical geodata constraints. As such, these objects may be of the following geometry types:

  • Point (Marker): typical map position that may be customized with various marker designs or symbols
  • Line: 2D line features with support for a number of custom style elements including opacity
  • Polygon: 2D area features with support for a number of custom style elements including opacity
  • Text: point positions which utilize a text attribute for symbolization. This is very useful for the creation of custom labels
  • Circle: concentric features with a centrepoint and radius definition. This is very useful for identifying elements

Each annotation element has its own title and description field to help with identifying and managing annotation elements, however, annotation elements do not contain additional attribute information. These elements are best used to highlight a particular feature or region of special interest and are not well suited to performing the functions of full-featured spatial data layers.

Annotation data is represented as a single map layer, but the annotation layer contains multiple annotation elements. Each annotation element can be only a single feature and so is restricted to a single geometry type. Users are not limited by this, however, and may add as many individual annotation elements as they require. Annotations are stored within each map, but can be imported or exported accordingly.

You try:

  • Load a map project and open the annotations plugin from the hamburger menu
  • Add a new annotation and use the marker geometry to place an annotation point on the map by clicking on the map interface
  • Try clicking somewhere else and notice how the current element updates automatically
  • Review the annotations application interface and modify the marker position using the form fields to place the marker at an exact position
  • Try changing the field view from decimal degrees to the aeronautical position
  • Use the style option from the feature toolbar to change the marker symbol
  • Save your annotation, giving it an appropriate title and description
  • Now try to add a new annotation with a different geometry type. Be sure to make a new one and not change your exising marker feature
  • Once you have saved multiple annotations of various types, try to go back and edit some existing annotations

Check your results

Did you try to edit an existing element, such as extending a line annotation with additional vertices?
Did you find the download annotations option? What about trying to save and import the annotations into another map?
Did you try to filter a map layer spatially by using the annotation layer elements? What was the outcome?
Did you try create a circle annotation? After the initial creation of the feature did you try to drag it to another position or click and drag the feature boundary to resize the feature?

More about map annotations

Map annotations can be downloaded from a map project and stored as a json file, which can be uploaded as annotation data into any other GeoNode map project which uses the annotations plugin.

The downloaded data contains a custom schema for identifying features in the format of {"features":[],"type":"ms2-annotations"}. This is not a valid geodata format, however the features element is a list of comma separated json objects which should contain valid geojson, depending on their configuration. This can be added to features in a relevant GIS tool such as QGIS or geojson.io and the feature geometry can be converted into a valid geodata format. Whilst not very reliable or robust, this does provide users with the ability to create valid geodata from annotation data if it is required, even if it is one element at a time.

Check your knowledge:

  1. What are map annotations in GeoNode:

    1. Manually placed labels and notes
    2. User defined geometry elements overlayed on a map
    3. A map layer stored on GeoNode that has custom styles for highlighting things
  2. True or false, you can have many annotation layers in a map:

    1. True, you can have as many annotation layers as required
    2. False, annotations are represented as a single map layer
  3. Is it possible to export annotations for use in other GIS software:

    1. Yes, it should technically be possible, but it requires manual reconfiguration of the annotation data
    2. Yes, annotations are stored in a standards complaint geodata format
    3. No, annotations can only be exported and imported into other GeoNode maps