Jak uzyskać plik kształtu oceanu z bardzo szczegółowego pliku kształtu obszaru lądowego?


10

Szukam możliwości „odwrócenia” pliku kształtu. Chcę przekształcić plik kształtu z kontynentami i wyspami w plik kształtu, który ma wielokąty wodne. Istniejący oceaniczny plik kształtów z Ziemi Naturalnej jest zbyt niedokładny.

Jako aktywny współpracownik OSM, pomyślałem, że użycie istniejących plików shapefile z OSM będzie dla mnie w porządku. Są one znacznie dokładniejsze, ale bardzo błędne z punktu widzenia GIS. Jednak serwer map może sobie z tym poradzić, więc pomyślałem, że powinny być w porządku. Te pliki kształtów, niektóre z nich można znaleźć tutaj http://metro.teczno.com/#coastline, są bardzo duże.

Utworzyłem plik kształtu z jednym wielokątem z granicami świata (-180 do 180, -90 do 90). Następnie próbowałem wyciąć obszary z mojego pliku kształtu granic świata, gdzie obszary lądowe znajdują się w drugim pliku kształtu. Próbowałem z QGIS, narzędzia wektorowe -> funkcja różnicy. Po 12 godzinach przy 100% zużyciu procesora przestałem. Zawsze wyświetlał postęp w wysokości 100%. Pamięć RAM nie była problemem.

Szukam innej możliwości wycięcia obszarów lądowych z „wieloboku świata”, najlepiej wiersza poleceń Linuksa.


2
W ArcGIS opisywana operacja nosi nazwę Erase. Wygląda na to, że szukasz rozwiązania typu open source, więc może wyszukiwanie tego terminu coś zmieni. MapWindow wygląda na to, że ma narzędzie do wymazywania, ale dyskusja tutaj sugeruje, że również może mieć ograniczenia: mapwindow.org/phorum/read.php?4,20317
PolyGeo

2
Będziesz chciał podzielić „kształt wielokąta z granicami świata (od -180 do 180, od -90 do 90)” na mniejsze fragmenty. Następnie możesz wyciąć obszary. Występują dwa prawdopodobne problemy, jednym z nich jest to, że jednocześnie przetwarzasz dane zarówno na półkuli północnej, jak i na półkuli południowej. Dwa potencjalne problemy z granicami -180/180. Spróbuj podzielić swoje granice świata na 4 mniejsze części, takie jak: Lewy górny, Prawy górny, Lewy dolny, Prawy dolny świata.
Michael Markieta

Zakładam, że kiedy stworzyłeś swój światowy wielokąt, rzutowałeś go na ten sam system, co dane lądowe?
djq 12.10.12

Odpowiedzi:


6

Rastry na ratunek! Możesz wykonać tę operację, konwertując plik kształtu do rastra, wykonując operację „odwracania” i przekształcając go z powrotem w wektor

  • Raster -> Konwertuj -> Rasteryzuj. Raster warstwy wyjściowej 1
  • Otwórz kalkulator pola, wprowadź wyrażenie raster1 @ 1 = 0
  • Raster -> Konwertuj -> Poligonuj, Warstwa wyjściowa ocean_polygons
  • Otwórz tabelę atrybutów, wyszukaj DN = 0, przełącz edycję, usuń wybrane funkcje i zapisz. Zostaną Ci wielokąty dla obszarów oceanicznych.

wprowadź opis zdjęcia tutaj


1

SAGA GIS (i wiele innych prawdopodobnie również) ma polecenie o nazwie „przecięcie wielokąta”. Utwórz wielokąt zawierający cały świat i odejmij z niego wielokąty lądowe. Więc metoda 2 lub 3 w tej bibliotece.

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

Raster może być zbyt obciążony danymi, jeśli potrzebujesz szczegółów na liniach wybrzeża. Czy istnieje ta sama zasada, którą sugerują myśli przestrzenne, ale użycie Delinyy TIN może być opcją?



0

Nie odniosłem dużego sukcesu w odwracaniu plików kształtów lądowych OSM ze względu na ich złożoność, jednak możliwe jest generowanie zarówno plików lądowych, jak i oceanicznych z surowych danych OSM. http://openstreetmapdata.com/data oferuje pliki do pobrania, które uważam za niezwykle przydatne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.