J'ai un projet ArcMap 10 avec plusieurs groupes de couches. Une couche est un DEM raster, un autre groupe de couches est un groupe de fichiers de formes vectorielles (y compris des points, des lignes et des polygones). Le client souhaite que toutes les données vectorielles contiennent des valeurs Z.
Remplir les tables d'attributs pour les données vectorielles avec des valeurs X et Y est assez facile, mais comment puis-je remplir les valeurs Z?
Existe-t-il un moyen d'utiliser la calculatrice de champ pour "saisir" les valeurs de hauteur de la couche DEM pour chaque entité vectorielle?
Je dois ajouter que nous n'avons pas de licence pour les extensions 3D Analyst ou Spatial Analyst.
arcgis-desktop
arcgis-10.0
field-calculator
dem
Brad Torr
la source
la source
Réponses:
Dans ArcGIS, je ne l'ai fait qu'avec des vecteurs ponctuels - je ne sais pas comment vous le feriez avec des polygones ou des entités linéaires. Malheureusement, vous avez cependant besoin de Spatial Analyst. Il existe un outil dans Spatial Analyst Tools \ Extraction \ Extract Multi Values to Points et Extract Values to Points . Extraire plusieurs valeurs en points est préférable, car il vous permet de renommer le nom du champ z vers lequel vous extrayez vos valeurs — Extraire des valeurs en points ne vous permet pas de le faire. J'ai du mal à le faire dans ArcMap (l'outil se bloque), mais cela fonctionne très bien dans ArcCatalog.
L' extension Hawths Analysis Tools (gratuite) pour ArcMap avait un outil Intersect Point, mais le développement de l'extension a été interrompu il y a quelques années. Il a été remplacé par l' environnement de modélisation géospatiale , que je n'ai jamais utilisé.
SAGA-GIS (logiciel autonome gratuit) a deux fonctions dans Formes - Grille \ Ajouter des valeurs de grille aux points et Formes - Grille \ Ajouter des valeurs de grille dans les formes qui peuvent probablement faire ce que vous voulez. Voici la description de l'outil Ajouter des valeurs de grille aux formes:
SAGA est votre meilleur pari, à mon avis.
J'espère que cela t'aides!
la source
Je n'ai pas essayé cela pour les polygones mais cela fonctionne vraiment bien pour les points. Dans Arcmap 10, si vous avez accès à un outil d'analyste 3D, vous pouvez rechercher la forme d'interpolation d' outils. Ensuite, vous sélectionnez votre fichier raster et votre couche vectorielle ajustez les valeurs z si vous voulez des élévations en pieds et votre DEM en mètres et laissez cela s'exécuter . Une fois qu'il est terminé, vous recherchez l'outil ADD XY et sélectionnez votre couche nouvellement créée et il calculera ensuite vos valeurs X, Y, Z dans ce tableau d'attributs de couches.
la source
vous pourriez peut-être utiliser gdallocationinfo pour récupérer toutes les valeurs Z en lui passant les valeurs X, Y. une fois que vous avez les valeurs Z, utilisez la calculatrice feild pour ajouter la valeur Z aux points qui composent chaque entité. Il y aurait des scripts impliqués mais en théorie cela devrait fonctionner.
la source
Selon vos unités ou la résolution requise, vous pouvez toujours exporter le raster DEM dans un fichier de formes polygonal, directement à partir de la boîte à outils, puis effectuer une jointure spatiale - c'est plus facile pour les points. Si vous avez besoin de valeurs Z pour des lignes ou des polygones, vous aurez évidemment besoin de segments ou de subdivisions de polygones définis à chaque changement d'altitude tel que rapporté par la grille DEM vectorisée. Cela peut être fait via des outils de géotraitement standard et des jointures spatiales, mais vous devez prêter une attention particulière à vos exigences de résolution et à la quantité de traitement qu'un grand ensemble de données consommera.
la source
Je recommande d'obtenir une licence 3D Analyst et d'utiliser Ajouter des informations de surface . Vous pouvez également utiliser Interpoler la forme, puis Ajouter des informations Z, ce qui permet à certaines fonctionnalités de renvoyer des valeurs NA sans planter le programme entier. Sinon, il existe deux méthodes gratuites éprouvées qui nécessitent plus de travail. Il est possible de les implémenter à partir de QGIS , de sorte que vous n'ayez pas à quitter votre environnement SIG confortable.
la source
L'outil ESRI que vous cherchez à utiliser est le "Ajouter des informations Z". Vous pouvez peut-être obtenir un essai et voir si l'outil pourrait vous être utile. Si obtenir l'extension 3D Analyst n'est pas une option, la seule chose qui vient à l'esprit (autre qu'une solution de programmation) est d'extraire vos données d'ESRI et d'utiliser l'une des options gratuites telles que SAGA-GIS / qGIS leur "Ajouter une grille" Value to Shapes "ou" Grid Statistics for Polygons "n'est pas aussi flexible que ESRI mais fait la même chose si vous recherchez la hauteur moyenne le long du polygone / ligne.
la source
Je sais comment faire cela pour les points. Les lignes et les polygones sont différents car ils traversent plusieurs cellules de la grille du DEM. Vous pouvez faire des points le long des lignes ou quelque chose comme ça et extraire des valeurs pour ceux-ci. Dans Arc, vous aurez besoin d'un analyste spatial pour obtenir les valeurs, mais vous pouvez les obtenir via Qgis (gratuit), mais pas aussi utile. Vous devrez être habile à travailler avec des fichiers Excel et à les convertir dans les deux sens à partir de fichiers de formes. Le Qgis générera un fichier de formes qui n'a que les élévations de points extraites, vous devrez donc copier et coller cela dans votre table d'origine en tant que fichier Excel (avec les valeurs X, Y, afin que vous puissiez le faire revenir dans un fichier de formes avec "afficher les données x, y"). Vous devrez garder une trace de vos projections pour vous assurer de choisir la bonne lors de la reconversion en fichier de formes.
la source