Einleitung
Bereits sehr früh haben wir in PicApport die Möglichkeit eingebaut Fotos über Geokoordinaten zu suchen bzw. auf einer Karte anzuzeigen.
Siehe hierzu auch Fotos finden mit der Landkarte auf Fotos finden mit PicApport
Bereits bei mittelgroßen Fotosammlungen kann das sehr schnell unübersichtlich werden. Mit Erscheinen der Version 8 haben wir uns daher
entschieden die GEO-Funktionalität wie folgt auszubauen:
- Möglichkeit dynamische Sammlungen als Marker (Farbe frei wählbar) mit Text und einem optionalen Link auf der Karte anzulegen.
Hiermit kann man z.B.- Alle Fotos einer Urlaubsreise über den Marker auf der Karte aufrufen
- Alle Fotos einer Stadt z.B. Berlin zusammenfassen und über einen Marker aufrufen.
- Beispiel (einfach auf die Marker klicken): Onlinedemo starten https://onlinedemo.picapport.de/picapport und dann auf die Weltkugel neben dem Hilfebutton klicken
- Möglichkeit Tracks, Reiserouten oder andere Karteninfos als GeoJSON-Datei auf der Karte anzuzeigen.
Hiermit kann man z.B.- Reiserouten darstellen
- Wanderungen, Fahrradtouren, etc dokumentieren.
- Ausflüge Teilen (gemeint ist die Teilen Funktion von PicApport)
- Beispiel Motorradtour (einfach auf das erste Thumbnail mit der Karte klicken): https://onlinedemo.picapport.de/picapport#thumbs?query=track+cevennen&sort=datetimeascending
- Neben der Kartenauswahl unterstützt PicApport drei PicApport-Ebenen auf derer Karte.
Die einzelnen Ebenen können über das Ebenenmenü unten rechts einzeln ein- bzw. ausgeschaltet werden.- Photo-Marker (Marker für die Fotos)
- Das MyMarker-Layer: Marker für dynamische Sammlungen (seit Version 8.0)
Dieses Layer ist nur dann verfügbar wenn mindestens ein Marker erstellt wurde. - Das GeoJSON-Layer: Tracks, Reiserouten etc. (seit Version 8.0)
Dieses Layer ist nur dann verfügbar wenn eine GeoJSON Datei in der Thumbnailansicht angeklickt wurde.
- Photo-Marker (Marker für die Fotos)
Dynamische Sammlung als Marker erstellen
Um Marker zu erstellen benötigt man die entsprechende Berechtigung: Berechtigung Mapmarker zu bearbeiten
(Diese Berechtigung wird bei einem Versionsupdate bei allen Benutzern, welche die Berechtigung haben, dynamische Sammlungen zu bearbeiten, automatisch gesetzt)
Der Name (Titel) des Markers sowie die Beschreibung werden vom selektierten Foto übernommen und können überschrieben bzw. geändert werden.
GeoJSON Dateien erstellen
Typischerweise erstellt man Tracks oder Routen mit einer Tracking-App auf dem Handy. Da es hier sehr viele Datenformate gibt,
wird die erzeugte Datei mit einem Programm in eine GeoJSON-Datei umgewandelt (https://de.wikipedia.org/wiki/GeoJSON).
(Der Autor verwendet z.B. das kostenlose GPSBabel (https://www.gpsbabel.org/) welches auch die Anzahl der aufgezeichneten Trackpunkte reduzieren kann was durchaus zu empfehlen ist.)
Auch gibt es zahlreiche Programme und Tools um Tracks bzw. GeoJSON Dateien manuell zu erzeugen. (z.B. im Web http://geojson.io)
Eine für PicApport gültige GeoJSON-Datei muss die Dateiendung .geojson haben. Sofern der verwendete Konverter die Dateiendung .json vergibt, ist die Dateiendung nach Konvertierung in .geojson zu ändern.
Ist die GeoJSON-Datei erst einmal erstellt, wird diese einfach in ein Verzeichnis zusammen mit den thematisch zugeordneten Fotos auf den PicApport-Server kopiert.
Der PicApport-Crawler erzeugt automatisch ein Thumbnail für die GeoJSON Datei.
Dieses Thumbnail übernimmt etwaige Metadaten aus der GeoJSON-Datei (siehe dazu unten den Punkt Optionale Metadaten für Geojson Dateien) bzw. kann in PicApport
mit zusätzlichen Schlagworten versehen werden und kann damit im Zuge von Abfragen gefunden werden.
Wenn man auf den Track klickt, gibt es zwei Möglichkeiten für die Anzeige des Tracks:
- Zeige GeoJSON-Datei auf Karte
Es wird der Track inkl. aller in der gleichen Abfrage gefundenen Bilder angezeigt. - Zeige GeoJSON-Datei auf Karte mit zugeordneten Fotos
Es wird der Track nur mit den Fotos angezeigt, die im gleichen Verzeichnis (incl. aller Unterverzeichnisse) liegen wie der Track. Bilder, die zwar in der Abfrage aufscheinen, aber
in anderen Verzeichnissen liegen, werden nicht angezeigt. Damit kann man die Anzeige exklusiv auf den Track und die zugeordneten Bilder reduzieren.
Beispiel auf der Online Demo: https://onlinedemo.picapport.de/picapport#thumbs?query=track+cevennen&sort=datetimeascending&viewtime=7
Beschreibung der von PicApport unterstützen Attribute in Geojson-Dateien
Die folgenden beiden Links zeigen eine einfaches Beispiel für eine GeoJSON Datei:
- Download Beispiel unserer Demo GeoJSON-Datei: kaikoura-whale-watching-map.geojson
- Link zur Anzeige in unserer Online-Demo: https://onlinedemo.picapport.de/picapport#thumbs?query=mapkaikoura&sort=datetimeascending&viewtime=7
Optionale Metadaten für Geojson Dateien
Damit Geojson-Dateien in PicApport auch gefunden werden können, ist es möglich diese optional mit folgenden Metadaten auszustatten:
"picapport-metadata": { "timestamp": "2007-12-11 15:00:00", "title": "Titel der GeoJSON Datei", "description": "Beschreibung", "keywords": "tag1, tag2, tag3", "rating": 1 }
Siehe hierzu auch unsere Beispiel-GeoJSON-Datei: kaikoura-whale-watching-map.geojson
Geojson Property Name | Typ | default | Beschreibung |
---|---|---|---|
timestamp | String (JJJJ-MM-TT HH:MM:SS) | Erstellungsdatum der | Wird behandelt wie das Aufnahmedatum eines Fotos zur Suche und Sortierung |
title | String | Name der GeoJSON Datei | Kann zur Suche verwendet werden |
description | String | nicht gesetzt | Kann zur Suche verwendet werden |
keywords | String | nicht gesetzt | Kann zur Suche verwendet werden |
rating | Integer (Ganzzahl) | nicht gesetzt | Sterne für Datei Werte Erlaubte Eingaben: 0-5 |
"picapport-metadata":{} ist eine PicApport spezifische Erweiterung der GeoJSON Spezifikation.
Es ist möglich, das diese Informationen von anderen GeoJSON Bearbeitungsprogrammen nicht unterstützt wird (Wird nach Veränderung dann evtl. nicht gespeichert)
Geojson Styling und Attribute
Beschreibung (Gültig für Marker, Linien und Polygone)
Geojson Property Name | Typ | default | Beschreibung |
---|---|---|---|
title | String | nicht gesetzt | Überschrift für den Tooltip des Objekts |
url | String | nicht gesetzt | Externe URL (Nur in Verbindung mit title) Wenn title und url gesetzt sind, ist der Title im Popup anklickbar. Die Url wir in einem neuen Tab angezeigt |
description | String | nicht gesetzt | Beschreibender Text |
picapport-query | String | nicht gesetzt | Wenn vorhanden, kann eine Picapport-Abfrage gestartet werden (Thumbnails werden dann angezeigt) |
Points (Marker)
Geojson Property Name | Typ | default | Beschreibung |
---|---|---|---|
marker-color | String | "red" | Farbe des Markers white, black, red, blue, yellow, orange, green |
Linien in Polygone
Wir haben uns hier an folgender Spezifikation orientiert: https://github.com/mapbox/simplestyle-spec/tree/master/1.1.0
Geojson Property Name | Typ | default | Beschreibung |
---|---|---|---|
stroke-visible | Boolean | true | Setzen Sie es auf false, um Grenzen/Umrandungen von Polygonen oder Kreisen zu deaktivieren. |
stroke | String | "#3388ff" | Linienfarbe (wie marker-color) |
stroke-width | ganzzahl | 3 | Linienbreite in Pixel |
stroke-opacity | Dezimalzahl | 1.0 | Opazität der Linie |
stroke-linecap | String | "round" | Eine Zeichenkette, die die Form definiert, die am Ende einer Linie verwendet werden soll. siehe: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-linecap |
stroke-linejoin | String | "round" | Eine Zeichenkette, die die Form definiert, die an den Ecken von Linien verwendet werden soll. siehe: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-linejoin |
stroke-dasharray | String | nicht gesetzt | Eine Zeichenkette, die das Strichmuster definiert. siehe: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-dasharray |
stroke-dashoffset | String | nicht gesetzt | Abstand des Strichmusters siehe: https://developer.mozilla.org/de/docs/Web/SVG/Attribute/stroke-dashoffset |
fill-visible | Boolean | true | Gibt an, ob der Pfad mit Farbe gefüllt werden soll. Stellen Sie es auf false, um das Füllen von Polygonen oder Kreisen zu deaktivieren. |
fill | String | wenn nicht gesetzt dann gleicher Wert wie stroke | Füllfarbe der Fläche (wie marker-color) |
fill-opacity (fillOpacity) | Dezimalzahl | 0.2 | Opazität der Fläche |