5
5
Geodaten
6
6
========
7
7
8
+ Dateiformate
9
+ ------------
10
+
11
+ .. _pmtiles :
12
+
13
+ PMTiles
14
+ ~~~~~~~
15
+
16
+ `PMTiles <https://docs.protomaps.com >`_ ist ein allgemeines Format für
17
+ Kacheldaten, die durch Z/X/Y-Koordinaten adressiert werden. Dabei kann es sich
18
+ um kartografische Vektorkacheln, :ref: `Fernerkundungsdaten <remote-sensing >`,
19
+ JPEG-Bilder oder ähnliches handeln.
20
+
21
+ Zum Lesen werden `HTTP Range Requests
22
+ <https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests> `_ verwendet,
23
+ um nur die relevanten Kacheln oder Metadaten innerhalb eines PMTiles-Archivs
24
+ abzurufen. Die Anordnung der Kacheln und Verzeichnisse ist so konzipiert, dass
25
+ die Anzahl der Anfragen beim Verschieben und Zoomen minimiert wird.
26
+
27
+ PMTiles ist jedoch ein schreibgeschütztes Format: Es ist nicht möglich, einen
28
+ Teil des Archivs zu aktualisieren, ohne die gesamte Datei neu zu schreiben. Wenn
29
+ ihr transaktionale Aktualisierungen benötigt, solltet ihr eine Datenbank wie
30
+ SQLite oder :doc: `postgresql/postgis/index ` und `ST_asMVT
31
+ <https://postgis.net/docs/ST_AsMVT.html> `_ verwenden.
32
+
33
+ .. seealso ::
34
+ * `GitHub Repository <https://github.com/protomaps/PMTiles >`_
35
+ * `PMTiles Version 3 Specification
36
+ <https://github.com/protomaps/PMTiles/blob/main/spec/v3/spec.md> `_
37
+ * `pmtiles Python package
38
+ <https://github.com/protomaps/PMTiles/tree/main/python/pmtiles> `_
39
+
40
+ Mapbox Vector Tiles (MVT)
41
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
42
+
43
+ Das `Mapbox Vector Tiles
44
+ <https://docs.mapbox.com/data/tilesets/guides/vector-tiles-standards/> `_-Dateiformat
45
+ speichert jede Kachel in einem Verzeichnisbaum wie :file: `/Z/X/Y.mvt `. Dies
46
+ funktioniert gut für kleine Kachelsätze, aber das Aktualisieren einer kompletten
47
+ globalen Pyramide mit ~300 Millionen Kacheln ist sehr ineffizient.
48
+ :ref: `pmtiles ` ist dagegen eine einzige Datei, in deren Kacheln de-dupliziert
49
+ sind, wodurch die Größe globaler Vektor-Basiskarten um ~70% reduziert werden.
50
+
51
+ Zum Schreiben muss die :ref: `gdal `-Bibliothek mit `SQLite
52
+ <https://www.sqlite.org> `_ und `GEOS <https://libgeos.org >`_-Unterstützung
53
+ installiert sein. Dabei werden die Mapbox Vector Tiles in SQLite wie
54
+ :ref: `mbtiles ` gespeichert und können mit dem MBTiles-Treiber verarbeitet
55
+ werden.
56
+
57
+ .. seealso ::
58
+ * `Mapbox Vector Tile specification
59
+ <https://github.com/mapbox/vector-tile-spec> `_
60
+ * `MVT: Mapbox Vector Tiles
61
+ <https://gdal.org/en/stable/drivers/vector/mvt.html> `_
62
+
63
+ .. _mbtiles :
64
+
65
+ MBTiles
66
+ ~~~~~~~
67
+
68
+ `MBTiles <https://docs.mapbox.com/help/glossary/mbtiles/ >`_ ist ein
69
+ Containerformat für Kacheldaten auf der Grundlage von SQLite. Es ist für den
70
+ lokalen Zugriff optimiert, nicht wie :ref: `pmtiles ` auf den Zugriff via HTTP.
71
+
72
+ .. seealso ::
73
+ * `MBTiles specification <https://github.com/mapbox/mbtiles-spec >`_
74
+
8
75
.. _geodata-repositories :
9
76
77
+ Cloud Optimized GeoTIFF (COG)
78
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79
+
80
+ `Cloud Optimized GeoTIFF <https://cogeo.org >`_ ist eine Raster-TIFF-Datei, die
81
+ ähnlich wie :ref: `pmtiles ` für das Lesen aus einem Cloud-Speicher optimiert ist.
82
+ :ref: `pmtiles ` kann jedoch auch andere Kacheldaten, :abbr: `z.B. ( zum Beispiel ) `
83
+ Vektor-Kacheln ausliefern. COG ist jedoch mit den meisten GIS-Programmen, die
84
+ mit GeoTIFF arbeiten, abwärtskompatibel.
85
+
86
+ .. seealso ::
87
+ * `OGC Cloud Optimized GeoTIFF Standard
88
+ <https://docs.ogc.org/is/21-026/21-026.html> `_
89
+
90
+ .. _geoparquet :
91
+
92
+ GeoParquet
93
+ ~~~~~~~~~~
94
+
95
+ `Parquet <https://parquet.apache.org >`_ ist ein quelloffenes,
96
+ spaltenorientiertes Datendateiformat, das für die effiziente Speicherung und
97
+ Abfrage von Daten entwickelt wurde. Es bietet effiziente
98
+ Datenkomprimierungs- und -kodierungsverfahren mit optimierter Verarbeitung
99
+ großer, komplexer Daten. `GeoParquet <https://geoparquet.org >`_ erweitert
100
+ Parquet um interoperable Geodatentypen (Punkt, Linie, Polygon).
101
+
102
+ * :doc: `pyviz:matplotlib/geopandas/index ` unterstützt das `Lesen
103
+ <https://geopandas.org/en/stable/docs/reference/api/geopandas.read_parquet.html> `_
104
+ und `Schreiben
105
+ <https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.to_parquet.html> `_
106
+ von GeoParquet.
107
+ * `GeoParquet Downloader Plugin
108
+ <https://plugins.qgis.org/plugins/qgis_plugin_gpq_downloader/> `_ für `QGIS
109
+ <https://qgis.org> `_ ermöglicht Streaming-Downloads von großen
110
+ GeoParquet-Datensätzen.
111
+ * `DuckDB <https://duckdb.org >`_ erlaubt mit der `Spatial Extension
112
+ <https://duckdb.org/docs/stable/extensions/spatial/overview.html> `_ das Lesen
113
+ und Schreiben von GeoParquet-Dateien.
114
+
115
+ .. seealso ::
116
+ * `GeoParquet specification <https://github.com/opengeospatial/geoparquet >`_
117
+ * `GeoParquet Software <https://geoparquet.org/#implementations >`_
118
+ * `validate_geoparquet.py
119
+ <https://github.com/OSGeo/gdal/blob/master/swig/python/gdal-utils/osgeo_utils/samples/validate_geoparquet.py> `_
120
+
10
121
Daten-Repositorien
11
122
------------------
12
123
@@ -31,6 +142,8 @@ Software
31
142
Lesen und Schreiben
32
143
~~~~~~~~~~~~~~~~~~~
33
144
145
+ .. _gdal :
146
+
34
147
`Geospatial Data Abstraction Library (GDAL) <https://gdal.org/en/latest/ >`_
35
148
bietet eine einfache, aber leistungsfähige API zum Lesen und Schreiben von
36
149
Hunderten von Datenformaten.
@@ -138,6 +251,8 @@ Lesen und Schreiben
138
251
.. seealso ::
139
252
:ref: `geo-wrappers `
140
253
254
+ .. _remote-sensing :
255
+
141
256
Fernerkundung
142
257
~~~~~~~~~~~~~
143
258
0 commit comments