OpenSeaMap-dev:De:Chart Download Layer: Unterschied zwischen den Versionen

Aus OpenSeaMap-dev
Wechseln zu: Navigation, Suche
(Metadaten: neues Format festgelegt)
Zeile 83: Zeile 83:
  
 
== Metadaten ==
 
== Metadaten ==
Der Karten-Download-Layer bekommt die Metadaten zu Darstellung der Kartenumrisse aus einer Datei.
+
Der Karten-Download-Layer bekommt die Metadaten zu Darstellung der Kartenumrisse aus einer Datei.<br>  
<br> Jeder Kartenanbieter stellt eine entsprechende Datei zur Verfügung und aktualisiert sie regelmässig.
+
Jeder Kartenanbieter stellt eine entsprechende Datei zur Verfügung und aktualisiert sie regelmässig.
  
 +
=== Dateiformat: GeoJSON ===
 +
Die Metadaten zu einem Kartenpaket sollen als [https://de.wikipedia.org/wiki/GeoJSON GeoJSON] Datei vorliegen. Die Datei soll ein [http://geojson.org/geojson-spec.html#feature-objects Feature-Objekt] enthalten.
 +
 +
Die <code>geometry</code> Eigenschaft kann eine beliebige [http://geojson.org/geojson-spec.html#geometry-objects Geometrie aus dem GeoJSON Standard] sein, die dem Nutzer einen Überblick über die enthaltenen Karten und Gebiete geben soll.
 +
 +
Die <code>properties</code> Eigenschaften sollten möglichst viele für den Nutzer sinnvolle Informationen enthalten. Folgende Eigenschaften sind standardisiert:
 
{| class="wikitable"
 
{| class="wikitable"
! Feld || Werte || Format || Bemerkungen
+
! Feld || Wert || Format  
|-
+
!Erforderlich|| Bemerkungen
| Datenformat || KAP, IMG, AT5, ... || string ||
 
 
|-
 
|-
| Kartenname || * || string || en. de?
+
|ame:en
 +
|| Name des Paketes || string  
 +
|*|| in Englisch
 
|-
 
|-
| Umrisspolygon || Liste || Koordinaten ||  
+
| name:XX || lokalisierter Name || string
 +
||| XX: [http://www.loc.gov/standards/iso639-2/php/code_list.php ISO 639-1 two-letter language code]
 
|-
 
|-
| Boundingboxen || Liste || Koordinaten || ~z=14, zusätzlich bei Bundles
+
|format
 +
|Format der Kartendatei
 +
|string
 +
|*
 +
|siehe Abschnitt <todo> für Liste der Formate
 
|-
 
|-
| Aktualisierungsdatum || * || Datum ||  
+
|app
 +
|Anwendung für die das Paket gedacht ist
 +
|string
 +
|
 +
|
 
|-
 
|-
| Dateiname || * || string ||  
+
|app:url
 +
|URL zur Anwendung
 +
|string
 +
|
 +
|
 
|-
 
|-
| Download-Pfad || * || string || incl. Servername
+
|url
 +
|Download URL für das Paket
 +
|string
 +
|*
 +
|Vollständige [https://de.wikipedia.org/wiki/Uniform_Resource_Locator URL] zum Download
 
|-
 
|-
| ... || ||  ||  
+
|date
 +
|Datum der Datei
 +
|string
 +
|*
 +
|Datumsangabe nach [https://de.wikipedia.org/wiki/ISO_8601 ISO 8601]. Kurzerklärung: https://www.w3.org/TR/NOTE-datetime
 
|}
 
|}
  
=== Aktualisierungsdatum ===
+
==== Beispiel ====
Wir brauchen noch ein schlaues System, um dem Benutzer mitzuteilen, ob sich eine Aktualisierung lohnt.
+
<pre lang="json">
 +
{
 +
    "type": "Feature",
 +
    "geometry": {
 +
        "type": "Polygon",
 +
        "coordinates": [
 +
            [
 +
                [0, 55.77657302],
 +
                [0, 40.97989807],
 +
                [-11.25, 40.97989807],
 +
                [-11.25, 55.77657302],
 +
                [0, 55.77657302]
 +
            ]
 +
        ]
 +
    },
 +
    "properties": {
 +
        "name:en": "Gulf of Biscay",
 +
        "name:de": "Golf von Biskaya",
 +
        "format": "KAP",
 +
        "app": "OpenCPN",
 +
        "app:url": "http://opencpn.org/ocpn/",
 +
        "url": "ftp://ftp5.gwdg.de/pub/misc/openstreetmap/openseamap/chartbundles/kap/OSM-OpenCPN-KAP2-GulfOfBiscay-20160515-1145.7z",
 +
        "date": "2016-05-17T20:59:00.000Z"
 +
    }
 +
}
 +
</pre>
  
Wir haben im Datei-Header/-Eigenschaften der Karte das Aktualisierungsdatum.
+
=== Validierung ===
<br> Das Datum der alten Karte (Cookies?) könnte man mit dem Aktualisierungsdatum der neuen Karte vergleichen.
+
Überprüfung auf den GeoJSON Standard: http://geojsonlint.com/
<br> Aber bisher wissen wir nicht, ob und wieviele Daten aktualisiert wurden.
 
<br> Beides muss in die Metadaten für den Download-Layer.
 
  
 
=== XML ===
 
=== XML ===
Zeile 149: Zeile 200:
 
| .. ||  ||  
 
| .. ||  ||  
 
|}
 
|}
 
=== JSON ===
 
[http://json.org JSON.org]
 
 
<pre>
 
</pre>
 
 
=== GJSON ===
 
[http://geojson.org/ GeoJSON.org]
 
 
<pre>
 
</pre>
 
  
 
== Lösungen ==
 
== Lösungen ==

Version vom 9. November 2016, 09:39 Uhr

Der Download-Layer zeigt die Umrisse der verfügbaren OpenSeaMap-Offline-Karten auf der Vollbildkarte und bietet diese zum Download an.

Old

Download-Layer 2013
Blattschnitt Niederlande

Von 2009 bis heute (2016) wurden Einzelkarten zum Runterladen angeboten.
Jeder Kartenumriss wurde mit einem gelben Rahmen dargestellt.
Per Klick konnte man eine Karte auswählen, diese wurde dann blau und zum Herunterladen freigegeben.

Formate
PNG (randlose Bilddatei)
CAL (TTQV Kalibrierungsdatei)
KAP (für OpenCPN)
WCI (für SeaClear)
KMZ (Keyhole Markup Language (KML gezippt) für Garmin oder Google)
JPR (Fugawi Kalibrierungsdatei)
Zoomlevel
z=9 Übersichtskarte (MM-West/Ost)
z=10 Übersichtskarte (Atlantik, Karibik, Biskaya, Jonisch, Aigais, ...)
z=12 (Kanarische, Portugal, Korsika, Kanal-Inseln/Süd/Center/Nord, Nordsee-DE/DK, ...)
z=14 Detailkarte (Küste, Binnenwasserstrassen, Seen, Häfen, Marinas)
z=18 ?
Es werden alle Zoomlevel gleichzeitig auf dem Layer dargestellt.

New

KAP Chart-Bundle
IMG Chart-Bundles
Datei:.png
AT5 Chart-Bundles

Der Downoad-Layer bietet dem Benutzer eine interaktive geografische Auswahl der zur Verfügung stehenden Offline-Karten zur intuitiven Auswahl und zum direkten Download an

Formate

Verfügbare Formate werden in einer Dropdown-Liste angeboten.

Dargestellt werden die Kartenpakete als gelber Polygon-Umriss.
Jeweils alle Pakete eines Formates.

ok Format Gerät App r/v Bemerkungen
Ok.png IMG Garmin v
AT5 Navico:
Lowrance, Simrad, B&G
v
Ok.png KAP Windows, iOS, Android OpenCPN r Chart-Bundles als Polygon, mit Boundingbox der Detailkarten
OBF Android OsmAnd v
MAP Windows, iOS, Android OpenCPN v
MAP Android Locus, Orux v
..

Umrisse

KAP
Polygon der Chart-Bundles
+ Boundingboxen der zugehörigen Detailkarten
+ Liste der Zoomlevel
IMG
Polygon bzw. Boundingbox der Chart-Bundles
AT5
Polygon bzw. Boundingbox der Chart-Bundles

Download

  1. Werkzeug "Karten-Download" auswählen
    --> Vollbildkarte öffnet in z=4, alle Offline-Karten imnd Downoad-Fenster werden angezeigt.
    Im Downloadfenster kann man in einer Dropdownliste alle verfügbaren Formate auswählen.
  2. Nach Auswahl eines Formates werden nur noch die zugehörigen Offlinekarten angezeigt.
    Nach Auswahl von "alle Karten" werden wieder (wie 1) alle Karten angezeigt.
    MouseOver in Karte zeigt Metadaten zum Kartenausschnitt
    Mit Mausklick kann ein Karten-Paket ausgewählt werden.
    1. mittelfristig: Gerät auswählen (Kartenplotter, Tablet, Marke/Typ des Gerätes aus Liste)
      installierte App bzw. Software aus Liste
      --> zeigt Karte mit Boundingbox existierender Karten im passenden Kartenformat
  3. Nach Auswahl eines Kartenpaketes wird dieses auf der Vollbildkarte blau gefärbt.
    Im Downloadfenster wird angezeigt:
    - Kartenname
    - Dateigrösse
    - Aktualisierungsdatum
    1. mittelfristig: Mehrfachauswahl mit <Strg>
  4. Zielverzeichnis wählen Download-Fortschrittsbalken bzw. Download-Dialog des OS.
    Button "Download" und "Abbrechen"
    bei Download: Karte ins Zielverzeichnis runterladen, Auswahl von Gerät/App speichern, und bei neuem Aufruf von "Karten-Download" anbieten.
    bei Abbrechen: Tab schliessen, zurück zur OL2-Karte.

Download-Manager

Ein Downloadmanager könnte angeben:

  • Liste der auf dem Gerät vorhandenen Karten, Download-Datum, Datum der aktuell angebotenen Karte

Metadaten

Der Karten-Download-Layer bekommt die Metadaten zu Darstellung der Kartenumrisse aus einer Datei.
Jeder Kartenanbieter stellt eine entsprechende Datei zur Verfügung und aktualisiert sie regelmässig.

Dateiformat: GeoJSON

Die Metadaten zu einem Kartenpaket sollen als GeoJSON Datei vorliegen. Die Datei soll ein Feature-Objekt enthalten.

Die geometry Eigenschaft kann eine beliebige Geometrie aus dem GeoJSON Standard sein, die dem Nutzer einen Überblick über die enthaltenen Karten und Gebiete geben soll.

Die properties Eigenschaften sollten möglichst viele für den Nutzer sinnvolle Informationen enthalten. Folgende Eigenschaften sind standardisiert:

Feld Wert Format Erforderlich Bemerkungen
ame:en Name des Paketes string * in Englisch
name:XX lokalisierter Name string XX: ISO 639-1 two-letter language code
format Format der Kartendatei string * siehe Abschnitt <todo> für Liste der Formate
app Anwendung für die das Paket gedacht ist string
app:url URL zur Anwendung string
url Download URL für das Paket string * Vollständige URL zum Download
date Datum der Datei string * Datumsangabe nach ISO 8601. Kurzerklärung: https://www.w3.org/TR/NOTE-datetime

Beispiel

{
    "type": "Feature",
    "geometry": {
        "type": "Polygon",
        "coordinates": [
            [
                [0, 55.77657302],
                [0, 40.97989807],
                [-11.25, 40.97989807],
                [-11.25, 55.77657302],
                [0, 55.77657302]
            ]
        ]
    },
    "properties": {
        "name:en": "Gulf of Biscay",
        "name:de": "Golf von Biskaya",
        "format": "KAP",
        "app": "OpenCPN",
        "app:url": "http://opencpn.org/ocpn/",
        "url": "ftp://ftp5.gwdg.de/pub/misc/openstreetmap/openseamap/chartbundles/kap/OSM-OpenCPN-KAP2-GulfOfBiscay-20160515-1145.7z",
        "date": "2016-05-17T20:59:00.000Z"
    }
}

Validierung

Überprüfung auf den GeoJSON Standard: http://geojsonlint.com/

XML

XML bis 2016:

<maps>
       <map>
		<name>Atlantic10</name>
		<link> /Region/Atlantic/Atlantic10/ </link>
		<category>2</category>
		<latlon>
			<north>30.7512777762578</north>
			<south>4.21494314139065</south>
			<east>-11.25</east>
			<west>-67.5</west>
		</latlon> 
      </map>
      <map>
      .
      </map>
</maps>
Tag Anzahl Bedeutung
name 804 Dateiname
link 804 Pfad:
category 1: 0
2: 19
3: 3
4: 220
5: 2
6: 517
1:
2:
3:
4:
5:
6:
latlon Boundingbox
..

Lösungen

Weitere Karten-Kataloge