Come ottenere uno shapefile oceanico da uno shapefile molto dettagliato dell'area terrestre?


10

Sto cercando la possibilità di "invertire" un file di forma. Quello che voglio fare è convertire un file di forma con i continenti e le isole in un file di forma con poligoni d'acqua. Il file di forma dell'oceano esistente dalla Terra naturale è troppo impreciso.

Come collaboratore attivo di OSM, ho pensato che usare gli shapefile esistenti di OSM sarebbe andato bene per me. Questi sono molto più precisi ma molto corretti dal punto di vista GIS. Tuttavia, mapserver può occuparsene, quindi ho pensato che dovrebbero andare bene. Questi shapefile, alcuni dei quali puoi trovare qui http://metro.teczno.com/#coastline, sono molto grandi.

Ho creato uno shapefile con un poligono con limiti del mondo (da -180 a 180, da -90 a 90). Poi ho provato a ritagliare le aree dal mio shapefile dei confini del mondo in cui le aree di terra sono nell'altro shapefile. L'ho provato con QGIS, strumenti vettoriali -> funzione differenza. Dopo 12 ore con un utilizzo della CPU del 100%, l'ho interrotto. Ha sempre mostrato un progresso del 100%. La RAM non è stata un problema.

Sto cercando un'altra possibilità per eliminare le aree di terra da un "poligono mondiale", preferibilmente da linea di comando Linux.


2
In ArcGIS l'operazione che stai descrivendo è nota come Cancella. Sembra che tu stia cercando una soluzione open source, quindi forse la ricerca di quel termine farà apparire qualcosa. MapWindow sembra avere uno strumento di cancellazione, ma la discussione qui suggerisce che anche questo potrebbe avere dei limiti: mapwindow.org/phorum/read.php?4,20317
PolyGeo

2
Dovrai dividere il tuo shapefile "poligono con limiti del mondo (da -180 a 180, da -90 a 90)" in blocchi più piccoli. Quindi è possibile ritagliare le aree. Stai riscontrando due probabili problemi, uno è che stai elaborando i dati sia sull'emisfero nord che sull'emisfero sud allo stesso tempo. Due, potenziali problemi con i limiti -180/180. Prova a dividere i confini del mondo in 4 blocchi più piccoli come: In alto a sinistra, In alto a destra, In basso a sinistra, In basso a destra, del mondo.
Michael Markieta,

Presumo, quando hai creato il tuo poligono mondiale che lo hai proiettato nello stesso sistema dei dati terrestri?
djq,

Risposte:


6

Rasters in soccorso! Puoi fare questa operazione convertendo il tuo shapefile in un raster, eseguendo l'operazione 'inverti' e riconvertendolo in vettoriale

  • Raster -> Converti -> Rasterizza. Output layer raster 1
  • Apri campo calcolatrice, inserisci espressione raster1 @ 1 = 0
  • Raster -> Converti -> Poligonizza, Livello output ocean_polygons
  • Apri la tabella degli attributi, cerca DN = 0, attiva / disattiva la modifica, elimina le funzionalità selezionate e salva. Ciò che ti resterà saranno i poligoni per le aree oceaniche.

inserisci qui la descrizione dell'immagine


1

SAGA GIS (e molti altri probabilmente anche) ha un comando chiamato "intersezione poligonale". Crea un poligono contenente tutto il mondo e sottrai i poligoni della tua terra da esso. Quindi metodo 2 o 3 in quella libreria.

Usage: saga_cmd libshapes_polygons "Polygon Intersection" -SHAPES_A <str> [-FIELD_A <str>] -SHAPES_B <str> [-FIELD_B <str>] -SHAPES_AB <str> [-METHOD <str>] [-SPLITPARTS]
  -SHAPES_A:<str>   Layer A
    Shapes (input)
  -FIELD_A:<str>    Attribute A
    Table field
  -SHAPES_B:<str>   Layer B
    Shapes (input)
  -FIELD_B:<str>    Attribute B
    Table field
  -SHAPES_AB:<str>  Intersection
    Shapes (output)
  -METHOD:<str>     Method
    Choice
    Available Choices:
    [0] Complete Intersection
    [1] Intersection
    [2] Difference (A - B)
    [3] Difference (B - A)
  -SPLITPARTS       Split Parts
    Boolean

0

Un raster potrebbe essere troppo pesante per i dati se sono necessari dettagli sulle coste. Lo stesso principio suggerito dai pensieri spaziali ma utilizzando una TIN Delaunay potrebbe essere un'opzione?


0

questi shapefile potrebbero essere utili. Provengono dal Centro di mappatura ESRI e contengono dati idrologici e marini abbastanza precisi.


0

Non ho avuto molto successo con l'inversione degli shapefile di OSM terrestri a causa della loro complessità, tuttavia è possibile generare sia shapefile terrestri che oceanici dai dati grezzi di OSM. http://openstreetmapdata.com/data offre download di entrambi che trovo estremamente utili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.