J'ai un gros fichier raster (129600 par 64800 pixels) avec les plans d'eau mondiaux (valeurs 1 bit 0 et 1) et j'essaie d'extraire les rives des océans et des eaux intérieures.
J'ai essayé avec ArcGIS et QGIS de convertir de raster en polyligne, mais cela prend des siècles.
Quelqu'un connaît-il un moyen meilleur / plus rapide (Python ou R) ou un meilleur outil pour cette tâche?
Mise à jour
- R: rasterToContour peut être rapide et précis, mais si vous avez un très grand ensemble de données comme le mien (8 398 080 000 pixels), vous avez besoin d'une très grande quantité de RAM (plus de 16 Go) ou vous forcez R à faire plus de traitement sur le disque dur et prendra également des âges.
- Python / GDAL: gdal_poligonize crée des polygones au lieu de polylignes
Update 2
- R rasterToContour: rasterToContour ne fournit pas les résultats souhaités. Comparé à ArcGIS (raster sur polygone suivi d'une entité sur ligne), il n'extrait pas le contour exact des pixels, comme indiqué dans les exemples ci-dessous.
MISE À JOUR 3
Python / GDAL: j'ai exécuté gdal_polygonize à partir de la ligne de commande contre ArcGIS sur un jeu de données de test et les résultats étaient extrêmement clairs:
- gdal: 49 secondes
- ArcGIS: 1,84 secondes