Suite

Ajout d'une référence verticale en Python au jeu de classes d'entités ArcGIS

Ajout d'une référence verticale en Python au jeu de classes d'entités ArcGIS


Je crée un script python pour générer un terrain. Dans le processus, je crée deux jeux de données d'entités. Cependant, pour réussir à créer ce FD, j'ai besoin de références horizontales et verticales. Je suis capable de coder le datum horizontal avec succès, mais incapable d'entrer le datum vertical. Bien que le code ne génère pas d'erreur, il ne crée pas le jeu de données d'entités demandé. J'ai utilisé les WKID d'ESRI pour référencer les références horizontales et verticales, comme indiqué ci-dessous.

Voici la ligne de code pour la référence spatiale que j'ai utilisée :

sr = arcpy.SpatialReference(horizontal_wkid)

j'ai essayé de faire çasr = arcpy.SpatialReference(horizontal_wkid,vertical_wkid)mais en vain. J'utilise ESRI ArcGIS 10.2 et je code en Python 2.7


Étant donné que les références spatiales données dans ArcGIS ont leurs propres paramètres pour la partie verticale, pour autant que je sache, il n'y a aucun moyen d'introduire la partie verticale en utilisant les codes d'usine donnés ou comme

sr = arcpy.SpatialReference(horizontal_wkid,vertical_wkid)

que l'on peut penser que cela devrait fonctionner, mais ce n'est pas le cas. Cependant, vous pouvez créer votre propre référence spatiale en empruntant les paramètres nécessaires au(x) ensemble(s) donné(s). si vous visitez cette page, il y a un exemple d'une requête similaire. Dans la question, vous verrez cette définition :

sp=arcpy.CreateSpatialReference_management("GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',33174 VERTCS['NAVD_1988',VDATUM['North_American_Vertical_Datum_1988'],PARAMETER['Vertical_Shift',0.0],PARAMETER['Direction',1.0],UNIT['Meter',1.0]];-400 -400 1000000000;-100000 10000 ;-100000 10000;8.98315284119521E-09;0.001;0.001;IsHighPrecision","#","#","#","#","#","0")

Ici, la première partie définit les systèmes de coordonnées géographiques comme :

GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degré',0.0174532925199433]]

suivi des paramètres verticaux du système (y compris le nom, l'unité, les paramètres de définition, etc.) comme :

VERTCS['NAVD_1988',VDATUM['North_American_Vertical_Datum_1988'],PARAMETER['Vertical_Shift',0.0],PARAMETER['Direction',1.0],UNIT['Meter',1.0]]

Ensuite, vous devriez pouvoir introduire cette référence spatiale personnalisée en tant qu'argument à arcpy.CreateFeatureDataset.


Voir la vidéo: Créer une geodatabase et une classe dentité dans ArcGIS