Ich suche nach einer Möglichkeit, ein Shapefile zu "invertieren". Ich möchte ein Shapefile mit den Kontinenten und Inseln in ein Shapefile mit Wasserpolygonen konvertieren. Das vorhandene Ozean-Shapefile von Natural Earth ist zu ungenau.
Als aktiver OSM-Mitarbeiter dachte ich, dass die Verwendung der vorhandenen Shapefiles von OSM für mich in Ordnung wäre. Diese sind viel genauer, aber aus GIS-Sicht sehr fehlerhaft. Mapserver kann jedoch damit umgehen, daher dachte ich, dass dies in Ordnung sein sollte. Diese Shapefiles, von denen einige hier http://metro.teczno.com/#coastline zu finden sind, sind sehr groß.
Ich habe ein Shapefile mit einem Polygon mit Weltgrenzen (-180 bis 180, -90 bis 90) erstellt. Dann habe ich versucht, die Bereiche aus meinem Shapefile für Weltgrenzen herauszuschneiden, in denen sich Landbereiche im anderen Shapefile befinden. Ich habe es mit QGIS versucht, Vektor-Tools -> Differenzfunktion. Nach 12 Stunden mit 100% CPU-Auslastung habe ich es gestoppt. Es wurde immer ein Fortschritt von 100% angezeigt. RAM war kein Problem.
Ich suche nach einer anderen Möglichkeit, die Landflächen aus einem "Weltpolygon" herauszuschneiden, vorzugsweise einer Linux-Befehlszeile.
Antworten:
Raster zur Rettung! Sie können diese Operation ausführen, indem Sie Ihr Shapefile in ein Raster konvertieren, die Invertierungsoperation ausführen und es wieder in einen Vektor konvertieren
quelle
SAGA GIS (und viele andere wahrscheinlich auch) hat einen Befehl namens "Polygonschnitt". Erstellen Sie ein Polygon, das die ganze Welt enthält, und subtrahieren Sie Ihre Landpolygone davon. Also Methode 2 oder 3 in dieser Bibliothek.
quelle
Ein Raster ist möglicherweise zu datenintensiv, wenn Sie Details zu den Küstenlinien benötigen. Das gleiche Prinzip wie das von räumlichen Gedanken vorgeschlagene, aber die Verwendung einer Delaunay-TIN könnte eine Option sein?
quelle
Diese Shapefiles könnten von Vorteil sein. Sie stammen vom ESRI Mapping Center und enthalten ziemlich genaue hydrologische und marine Merkmalsdaten.
quelle
Ich hatte aufgrund ihrer Komplexität nicht viel Erfolg beim Invertieren von OSM-Land-Shapefiles, es ist jedoch möglich, sowohl Land- als auch Ozean-Shapefiles aus den OSM-Rohdaten zu generieren. http://openstreetmapdata.com/data bietet Downloads von beiden an, die ich äußerst nützlich finde.
quelle