Geolocate Canvas Fragment to a Point

Recipe home | Recipe List

Use Case

There is a region of interest on a Canvas that could be further described by geocoordinates. The region contains the word “Paris”, and so the geocoordinates should be of a central point in Paris, France. You want the geocoordinates to render in open source mapping systems, such as Leaflet.

Implementation Notes

The third party GeoJSON-LD context is included alongside the IIIF Presentation 3 context. This supplies the vocabulary terms for the GeoJSON-LD Annotation bodies since the IIIF Presentation 3 context does not describe those terms. The field @context can be an array, and when it is the IIIF Presentation API 3.0 context must be the last item in the array.

GeoJSON properties is a generic field and can be nearly anything. If, for example, the targeted resource has a label and the properties field contains a label, the consuming interface must make a choice on which to prioritize for presentation purposes.

Note that geometry can be more than just a Point.


Applications that strictly follow Linked Data practices will find that nested GeoJSON coordinate arrays are incompatible with the processing model of JSON-LD 1.0. The JSON-LD 1.1 processing model does not have this restriction. Be aware if you plan to serialize JSON-LD into other semantic data formats or markup languages such as RDF.


An example of a Manifest that has a Canvas fragment geolocated to a geographic point. The Manifest contains one Canvas with one Image, and the Canvas has the same size dimensions as the Image. The Canvas contains one Annotation Page with one Annotation targeting the region of interest where “Paris” appears using the #xywh Fragment Selector syntax. Since the image used is a IIIF Fixture following IIIF Image API 3.0, you can see the targeted fragment by supplying the values used in the #xywh selector to the image URL.


  • [Geolocate Canvas Fragment to Multiple Points][TBD]
  • [Geolocate Manifest to a Point][TBD]
  • [Geolocate Manifest to a Polygonal Area][TBD]
  • [Fragment Selectors][0020]
  • [Tagging Annotation][0021]