Creating and using maps, trails and Geojson files with PicApport
Introduction
Already very early in PicApport we have added the possibility to search for photos via geocoordinates or to display them on a map.
See also Find photos with the map on Find photos with PicApport – PicApport Wiki (contecon.de)
Even with medium-sized photo collections, this can quickly become confusing. With the release of version 8 we have therefore
decided to expand the GEO functionality as follows:
- Possibility to create dynamic collections as markers (color freely selectable) with text and an optional link on the map.
With this you can e.g.- View all photos of a holiday trip via the marker on the map
- Summarize all photos of a city e.g. Berlin and call them up via a marker.
- Example (just click on the markers): Start online demo https://en.onlinedemo.picapport.de/picapport and then click on the globe next to the help button.
Possibility to display tracks, routes or other map information as GeoJSON file on the map.
With this you can e.g.Show routes
Document hikes, bicycle tours, etc.
Share excursions (this means the share function of PicApport)
Example motorcycle tour (just click on the first thumbnail with the map): https://en.onlinedemo.picapport.de/picapport#thumbs?query=track+cevennen&sort=datetimeascending
In addition to the map-provider selection, PicApport supports three PicApport layers on the map.
The individual layers can be switched on or off individually via the layer menu in the lower right corner.Photo markers (markers for the photos)
The MyMarker layer: markers for dynamic collections (since version 8.0)
This layer is only available if at least one marker has been created.The GeoJSON layer: tracks, itineraries, etc. (since version 8.0)
This layer is only available when a GeoJSON file has been clicked in the thumbnail view.

Create a Dynamic Collection as a Marker
To create markers you need the appropriate authorization: Permission to edit markers on map
(This authorization is automatically set during a version update for all users who have permission to edit dynamic collections.)
The name (title) of the marker as well as the description are taken from the selected photo and can be overwritten or changed.


Create GeoJSON files
Typically you create tracks or routes with a tracking app on your mobile phone. Because there are a lot of data formats,
a program converts the generated file into a GeoJSON file (https://en.wikipedia.org/wiki/GeoJSON).
(The author uses e.g. the free GPSBabel (https://www.gpsbabel.org/) which can also reduce the number of recorded track points, which is highly recommended).
Also there are numerous programs and tools to create tracks or GeoJSON files manually. (e.g. in the web http://geojson.io)
A GeoJSON file valid for PicApport must have the file extension .geojson. If the converter assigns the file extension .json, the file extension must be changed to .geojson after conversion.
Once the GeoJSON file has been created, it is simply copied to a directory on the PicApport server together with the thematically assigned photos.
The PicApport-Crawler automatically creates a thumbnail for the GeoJSON file.
This thumbnail takes metadata from the GeoJSON file (see below the item Optional Metadata for GeoJSON Files) or can be provided with additional keywords in PicApport.
The GeoJSON file can then be found/queried with normal PicApport queries.
When you click on the track, there are two ways to display the track:
- Show GeoJSON-File on map
The track is displayed including all images found in the same (current) query. - Show GeoJSON-File on map with associated photos
The track is only displayed with the photos that are in the same directory (including all subdirectories) as the track.
Images which appear in the (current) query, but are located in other directories are not displayed. This allows you to reduce the display exclusively to the track and the assigned images.
Example on the Online Demo: https://en.onlinedemo.picapport.de/picapport#thumbs?query=track+cevennen&sort=datetimeascending&viewtime=7
Description of the attributes supported by PicApport in Geojson files
The following two links show a simple example of a GeoJSON file:
- Download Example of our Demo GeoJSON-File: kaikoura-whale-watching-map.geojson
- Link to GeoJSON-File on our Online-Demo: https://en.onlinedemo.picapport.de/picapport#thumbs?query=mapkaikoura&sort=datetimeascending&viewtime=7
Optional Metadata for GeoJSON Files
So that Geojson files can be found in PicApport, it is possible to optionally equip them with the following metadata:
"picapport-metadata": { "timestamp": "2007-12-11 15:00:00", "title": "Titel der GeoJSON Datei", "description": "Beschreibung", "keywords": "tag1, tag2, tag3", "rating": 1 }
See also our example GeoJSON file: kaikoura-whale-watching-map.geojson
timestamp | String (YYYY-MM-DD HH:MM:SS) | Creation date of the | Used like the date a photo was taken for searching and sorting |
title | String | Name of GeoJSON file | Can be used for search |
description | String | not set | Can be used for search |
keywords | String | not set | Can be used for search |
rating | Integer | not set | Rating (stars) for file Allowed values: 0-5 |
„picapport-metadata„:{} is a PicApport specific extension of the GeoJSON specification.
It is possible that this information is not supported by other GeoJSON editing programs (may not be saved after modification).
GeoJSON Styling and Attributes
Description (Valid for markers, lines and polygons)
title | String | not set | Heading for the tooltip of the object |
url | String | not set | External URL (Only in conjunction with title) |
description | String | not set | Descriptive text |
picapport-query | String | not set | If available, a Picapport query can be started. |
Points (Marker)
marker-color | String | „red“ | Color of the marker white, black, red, blue, yellow, orange, green |
Lines in polygons
We have oriented ourselves to the following specification: https://github.com/mapbox/simplestyle-spec/tree/master/1.1.0
stroke-visible | Boolean | true | Set it to false to disable borders of polygons or circles. |
stroke | String | „#3388ff“ | Line color (like marker-color) |
stroke-width | Integer | 3 | Line width in pixels |
stroke-opacity | Decimal | 1.0 | Opacity of the line |
stroke-linecap | String | „round“ | A string that defines the shape to be used at the end of a line. see: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-linecap |
stroke-linejoin | String | „round“ | A string that defines the shape to be used at the corners of lines. see: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-linejoin |
stroke-dasharray | String | not set | A string that defines the dash pattern. see: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-dasharray |
stroke-dashoffset | String | not set | Spacing of the line pattern. see: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-dashoffset |
fill-visible | Boolean | true | Specifies whether the path should be filled with color. Set it to false to disable filling of polygons or circles. |
fill | String | if not set then same value as stroke | Fill color of area (like marker-color) |
fill-opacity (fillOpacity) | Decimal | 0.2 | Opacity of the area |