Eu tenho um grande arquivo raster (129600 por 64800 pixels) com corpos de água globais (valores de 1 bit 0 e 1) e tento extrair as linhas costeiras do oceano e da água interior.
Eu tentei com o ArcGIS e o QGIS converter de raster para polilinha, mas leva séculos.
Alguém conhece uma maneira melhor / mais rápida (Python ou R) ou uma ferramenta melhor para esta tarefa?
Atualizar
- R: rasterToContour pode ser rápido e preciso, mas se você tiver um conjunto de dados muito grande como o meu (8.398.080.000 pixels), precisará de uma quantidade muito grande de RAM (mais de 16 GB) ou forçar R a fazer mais processamento no disco rígido e também levará idades.
- Python / GDAL: gdal_poligonize cria polígonos em vez de polilinhas
Atualização 2
- R rasterToContour: rasterToContour não fornece os resultados desejados. Comparado ao ArcGIS (raster para polígono seguido de recurso para linha), ele não extrai o contorno exato do pixel, conforme mostrado nos exemplos abaixo.
ATUALIZAÇÃO 3
Python / GDAL: Eu executei gdal_polygonize a partir da linha de comando no ArcGIS em um conjunto de dados de teste e os resultados foram extremamente claros:
- gdal: 49 segundos
- ArcGIS: 1,84 segundos