Lissage d'entités raster en polygone

10

J'ai des données raster représentant des zones urbanisées, que j'aimerais tracer et convertir en polygone.

Raster

À l'aide de l'outil Raster vers polygone d'ArcMap, je peux obtenir quelque chose de proche.

Non simplifié:

Non simplifié

Simplifié:

Simplifié

Cependant, vous pouvez voir qu'il existe de nombreuses lignes diagonales (routes) qui créent des chaînes de polygones qui partagent un coin.

Cela augmente considérablement le nombre de polygones - ces jeux de données raster sont traités au niveau de l'état. Existe-t-il un outil Arc ou GeoTools pour lisser ces lignes et créer moins de polygones? Ce n'est pas grave si le résultat perd de la précision. En fin de compte, je cherche quelque chose de similaire à ce que j'obtiens avec le polygone simplifié, juste avec des polygones adjacents joints.

Eric W.
la source
1
Si vous pouvez perdre complètement les routes - ou les fusionner avec des entités adjacentes - vous pouvez être intéressé par le nettoyage du raster avant la conversion: voir gis.stackexchange.com/questions/41064 . Mais cela soulève une question plus importante: pourquoi convertir du raster au vecteur? Est-ce vraiment nécessaire?
whuber
Avez-vous essayé d'exécuter Simplify Polygon ou Generalize après la conversion en polygones? Certes, le dessin au trait semble déjà assez basique, mais vous ne savez jamais ce que ces outils pourraient faire.
Baltok
Je ne peux pas perdre complètement les routes, bien que leur forme exacte ne soit pas importante. J'utilise ces polygones en conjonction avec les données du recensement pour placer des structures, afin que les structures soient placées dans des zones urbanisées ou près des routes au lieu d'être au milieu d'une forêt. Voir une autre de mes questions ( gis.stackexchange.com/questions/38999/… ) pour plus de détails.
Eric W.
Je n'ai malheureusement pas de licence pour Simplify Polygon ou Generalize.
Eric W.
Le placement de structures - selon les critères utilisés - pourrait être plus facile à faire avec des données raster plutôt qu'avec des données vectorielles. Peut-être pourriez-vous en dire un peu plus sur le processus de placement de la structure?
whuber

Réponses:

4

Votre question est commune (par exemple cette question ) et la réponse dépend beaucoup des outils dont vous disposez et du degré auquel vous pouvez accepter la perte de précision et la généralisation.

Une approche simple consiste à mettre vos polygones en mémoire tampon, puis à annuler la mise en mémoire tampon du résultat de la même valeur ou d'une quantité similaire. Vous devez utiliser votre jugement sur la quantité de mémoire tampon pour éviter de joindre des polygones qui devraient rester séparés. Vous réduirez le nombre de polygones et le «raster» de vos données mais au détriment d'un nombre de sommets accru.

Vous pouvez également examiner le prétraitement du raster. La prudence est nécessaire ici, car vous ne faites rien qui invalide les statistiques, mais il semble que vous souhaitiez simplement extraire des fonctionnalités. Encore une fois, cela dépend de votre licence, mais vous pouvez modifier la résolution de votre raster, puis utiliser grignoter ou nettoyer selon mes suggestions dans le fil précédent cité ci-dessus. Cela semble légitime pour votre cas d'utilisation.

Si vous n'avez pas accès à Spatial Analyst et ne pouvez pas installer QGIS, GDAL ou SIG FOSS similaire, l'astuce tampon-débuffeur fonctionne assez bien.

MappaGnosis
la source
J'ai découvert hier l'astuce de tampon et de conversion en essayant de résoudre ce problème moi-même. Je peux étendre le raster de 1, puis exécuter raster-to-poly avec simplification et obtenir une approximation assez décente des fonctionnalités. C'est encore mieux si je rééchantillonne d'abord le raster à une résolution plus élevée, mais cela augmente mon stockage de manière quadratique pour un ensemble de données déjà volumineux, sans compter qu'il faut un certain temps. Je pense que expand-1-and-simplify devrait être suffisant pour mes besoins.
Eric
Si vous souhaitez utiliser la méthode de rééchantillonnage, n'oubliez pas que vous n'avez besoin que du raster rééchantillonné temporairement. Si vous définissez votre processus dans un outil ModelBuilder et marquez le raster rééchantillonné comme `` intermédiaire '', Arc doit ensuite nettoyer et supprimer automatiquement (vous évite d'avoir à le faire manuellement et vous pouvez réutiliser votre outil).
MappaGnosis