Si j'ai, par exemple, un fichier raster rectangulaire et géoréférencé chargé dans un document ArcMap 10 (.tiff avec tfw associé), comment puis-je trouver facilement son point central et le stocker dans une couche vectorielle de points?
De plus, si j'ai plusieurs rasters de ce type dans mon document ArcMap, comment puis-je appliquer le processus à chacun d'eux?
Malheureusement, je n'ai aucune expérience Python. Par conséquent, une solution de programmation est OK, mais j'aurai besoin d'instructions spécifiques sur la façon de charger un script existant dans ArcGIS 10 et de l'exécuter sur les rasters en questions. (BTW, les rasters sont tous dans leurs couches séparées).
Réponses:
Bien que la question d'origine soit pour 10.0, j'ai mis à jour le code ci-dessous pour 10.3.1.
Copiez-collez ceci dans la fenêtre python dans arcmap pour créer la fonction RasterCenter:
Ensuite, vous pouvez utiliser la fenêtre python pour créer votre classe d'entités en appelant
Ainsi, par exemple, si vous avez un raster nommé DEM, vous appelez RasterCenter ("dem") dans la fenêtre python, et il ajoutera une couche nommée "dem_center" avec un seul point au centre du raster. La couche est stockée en mémoire, donc si vous voulez la conserver, exportez-la.
Pour aller plus loin, vous pouvez enregistrer le script dans un fichier .py et placer le fichier .py dans le chemin de recherche de python. par exemple, enregistrez-le sous RasterCenter.py et placez-le dans PYTHONPATH (normalement l'emplacement est C: \ Python26 \ ArcGIS10.0 \ Lib)
Ensuite, vous pourriez faire:
la source
Très facile, simple, obtenez les propriétés des rasters et calculez le point central à partir de min, max x et y
Et la vérification d'erreur habituelle, etc.
Ajoutez ensuite à votre table de points avec un updateCursor
la source