Suite

Erreur 999999 lors de la conversion de FeatureClass en FeatureClass dans ArcPy ?

Erreur 999999 lors de la conversion de FeatureClass en FeatureClass dans ArcPy ?


Je travaille actuellement sur un script python dans lequel j'essaie de copier des entités sélectionnées dans un jeu de données d'entités.

Fondamentalement, j'ai un mxd contenant des couches, et pour chaque couche, je sélectionne des entités par leurs attributs, cette requête est basée sur le nom du jeu de données d'entités. Le script que j'ai écrit obtient une liste des jeux de classes d'entités de ma géodatabase. Avec le nom du featuredataset, je peux créer un filtre de requête (arcpy.SelectLayerByAttribute_management) pour chaque couche du mxd. Si ma sélection renvoie quelque chose, j'exporte l'entité sélectionnée dans le jeu de données approprié (arcpy.FeatureClassToFeatureClass_conversion). Le script traite correctement le premier ensemble de données, mais une fois qu'il passe au suivant, il échoue… Je ne peux pas comprendre pourquoi je reçois le message d'erreur suivant (arcgisscripting.ExecuteError : ERROR 999999 : Erreur d'exécution de la fonction. Échec de l'exécution (FeatureClassToFeatureClass) .)

#-----Work-on-the-Geodatabase----- ##chemin de la géodatabase gdb_hull="D:As_Con_PlansAs_Con_Hull_part1.gdb" ##définir l'espace de travail arcpy.env.workspace=gdb_hull ##obtenir la liste du featuredataset fdlist =arcpy.ListDatasets() #-----Work-on-the-mxd----- ##obtenir le chemin mxd et l'initialiser path_mxd="D:As_Con_Plans As_constructed.mxd" doc_mxd = arcpy.mapping.MapDocument(path_mxd) ##liste des couches fclist=arcpy.mapping.ListLayers(doc_mxd) #-----Loop-on-each-featuredataset---- pour fds dans fdlist : imprimez "________","
 ", fds ##travaillez sur le nom de l'ensemble de données d'entités, pour répondre à la requête get_fds= fds.replace("As_con_","") fds_name=get_fds.replace("_"," -") ##chemin du featuredataset fds_path=gdb_hull+""+fds ##préparer la requête SQLexpression= ""As_Constructed_Plan"='"+fds_name+"'" ##chemin où nous allons stocker la sélection fds_path_test= str(fds_path) #-----Loop-on-each-layers-of-the-mxd----- for fc in fclist: fc_to_copy=fc.dataSource #fc_to_copy2=arcpy.mapping.Layer(fc_to_copy) # #Sélectionnez la fe atureclasses arcpy.SelectLayerByAttribute_management (fc,"NEW_SELECTION",SQLexpression) ##Compter les entités sélectionnées count = int(arcpy.GetCount_management(fc).getOutput(0)) print fc,count ##si la requête réussit, nous copierons le sélection dans le bon ensemble de données d'entités si nombre>0 : ## imprimer des informations fc_path2=fds_path+""+str(fc) fc_path=str(fc_path2) fc_name=str(fc) fc_copy_from=str(fc_to_copy) ##vérifier si le featureclass n'existe pas si ce n'est pas arcpy.Exists(fc_path): print "
 copying… ",count," entity , on ",fc_path print (fc_copy_from,fds_path_test,fc_name,SQLexpression) arcpy.FeatureClassToFeatureClass_conversion(fc_to_copy,fds_path_test,fc_name) SQLexpression) imprimer "exporter ok"

Enfin, j'ai compris que mon problème était lié au nom de la sortie de la classe d'entités. Il s'agit du nom_fc de la ligne suivante :

arcpy.FeatureClassToFeatureClass_conversion(fc_to_copy,fds_path_test,fc_name,SQLexpression).

J'ai effectué des tests et découvert que je ne peux pas ajouter 2 noms de sortie similaires… même s'il traite un jeu de données différent… Donc, pour résoudre le problème, j'ai créé un index incrémenté que j'ai lié au nom de la classe d'entités (nouveau_nom_fc=nom_fc+str(i) avec I incrémenté après une boucle). Ce n'est peut-être pas la meilleure façon de procéder, mais au moins, cela fonctionne…


Vous pouvez avoir 2 chèques :

  1. Vérifiez si le nom est valide

    vname = arcpy.ValidateTableName(fc_name,wksp)

  2. Vérifier si le nom existe

    def validUniqueName(name, wk): """ Créer un nom unique qui n'existe pas dans GDB Remarque : vous pouvez fixer la limite du nombre de pas et ajouter un test si le nom est trop long""" check = True while check : check = arcpy. Existe(os.path.join(wk, name)) si check : name = "{}_1".format(name) return name

Ajouter 2 lignes en fonction :

vname = arcpy.ValidateTableName(fc_name,wksp) v_unique_name = validUniqueName(vname,wksp)

Test

>>> name = u"Voirie etroite" >>> name u'Voirie etroite' >>> vname = arcpy.ValidateTableName(name,wk) >>> vname u'Voirie_etroite' >>> vuname = validUniqueName(vname,wk ) >>> vuname u'Voirie_etroite_1'

Le format Profil fournit des informations de profil pour les entités linéaires 3D qui peuvent être importées dans des applications graphiques spécialisées. Chaque entité linéaire de la classe d'entités source sera écrite dans un fichier distinct dont le nom est suivi du suffixe de l'ID unique de la ligne. Chaque ligne du tableau des profils contient la distance entre la position de départ de la ligne et le sommet (D) suivie de l'élévation de ce sommet.

Le format XYZ stocke les coordonnées x, y et z sous forme de valeurs à virgule flottante, où chaque ligne représente un enregistrement ponctuel distinct.

Les entités ponctuelles et multipoints sont écrites dans le même fichier, tandis que chaque entité polygonale et polyligne est écrite dans un fichier texte distinct dont le nom est suffixé avec l'ID de l'entité. Chaque partie des fonctionnalités avec plusieurs parties est écrite dans un fichier séparé et son nom de fichier aura son numéro de pièce ajouté après l'ID de la fonctionnalité.

Le format GENERATE ne prend pas en charge les lignes d'en-tête, mais il stocke toutes les caractéristiques d'entrée dans un seul fichier.

    Les entités ponctuelles sont stockées avec leurs coordonnées ID et XYZ respectives, et la dernière ligne est indiquée par le mot-clé END :

Les entités multipoints qui proviennent du même enregistrement dans la classe d'entités d'origine partageront le même ID.

Les premières et dernières coordonnées XYZ des entités surfaciques sont toujours identiques.


Syntaxe

Les fichiers ou dossiers ASCII contenant des données au format XYZ, XYZI (avec intensité lidar) ou au format 3D GENERATE. Tous les fichiers d'entrée doivent être au même format. Si un dossier est spécifié, le paramètre File Suffix devient obligatoire et tous les fichiers ayant la même extension que le suffixe spécifié seront traités.

La classe d'entités qui sera produite par cet outil.

Type de géométrie de la classe d'entités en sortie.

  • MULTIPOINT —Les multipoints sont recommandés car les données d'entrée contiennent un grand nombre de points et les attributs par entité ne sont pas requis.
  • POINT —Chaque coordonnée XYZ produira une entité ponctuelle.
  • POLYLINES —La sortie contiendra des entités polylignes.
  • POLYGONES —La sortie contiendra des entités surfaciques.

Facteur par lequel les valeurs Z seront multipliées. Ceci est généralement utilisé pour convertir les unités linéaires Z afin qu'elles correspondent aux unités linéaires XY. La valeur par défaut est 1, ce qui laisse les valeurs d'altitude inchangées.

Le système de coordonnées des données d'entrée. La valeur par défaut est un système de coordonnées inconnu. Si spécifié, la sortie peut ou non être projetée dans un système de coordonnées différent. Cela dépend du fait que l'environnement de géotraitement possède ou non un système de coordonnées défini pour l'emplacement de la classe d'entités cible.

La distance planimétrique moyenne entre les points de l'entrée. Ce paramètre n'est utilisé que lorsque la géométrie en sortie est définie sur MULTIPOINT , et sa fonction est de fournir un moyen de regrouper les points. Cette valeur est utilisée conjointement avec la limite de points par forme pour construire un système de tuiles virtuelles utilisé pour regrouper les points. L'origine du système de tuiles est basée sur le domaine de la classe d'entités cible. Spécifiez l'espacement dans les unités horizontales de la classe d'entités cible.

Le suffixe des fichiers à importer depuis un dossier d'entrée. Ce paramètre est obligatoire lorsqu'un dossier est spécifié en entrée.

Le caractère décimal utilisé dans le fichier texte pour différencier l'entier d'un nombre de sa partie fractionnaire.

  • DECIMAL_POINT —Un point est utilisé comme caractère décimal. C'est la valeur par défaut.
  • DECIMAL_COMMA —Une virgule est utilisée comme caractère décimal.

TableToTable_conversion et FeatureClassToFeatureClass_conversion échouent dans le script mais réussissent manuellement avec Postgres

J'essaie de copier des données SIG d'une base de données Oracle dans une base de données Postgres, toutes deux hébergées dans AWS. J'exécute un script python à partir d'un serveur instancié où les connexions de base de données aux deux bases de données ont été établies et fonctionnent correctement dans tous les autres tests effectués jusqu'à présent. J'essaie spécifiquement d'utiliser les fonctions arcpy TableToTable_conversion et FeatureClassToFeatureClass_conversion pour transférer les données car d'autres méthodes se sont avérées trop lentes. (Les autres méthodes sont CopyFeatures/CopyRows, Append aux shells vides et TRUNCATE/INSERT basé sur SQL) Les deux fonctions utilisées sont les seules qui m'intéressent actuellement, donc je ne cherche pas d'alternatives. Si j'exécute la commande suivante à partir d'un shell python, cela fonctionne avec succès :

Mais si je l'exécute depuis le code, j'obtiens l'erreur suivante :

Si je remplace la connexion à la base de données par une connexion Oracle, cela fonctionne également à partir du script. C'est précisément lorsque j'essaie d'utiliser la connexion postgres dans le code qu'elle échoue. L'espace de travail est défini correctement au préalable et j'utilise ArcGIS 10.5, Python 2.7. Quelqu'un est-il au courant d'un bogue qui empêche l'une des fonctions susmentionnées d'échouer dans un script python lorsque postgres est la base de données de destination pour la sortie ? Encore une fois, si je copie et colle le code dans un shell python, cela réussit. Je suis perplexe.


Paramètres

Classes d'entités en entrée ou jeux de classes d'entités dont les coordonnées doivent être converties.

L'emplacement de chaque nouvelle classe d'entités ou jeu de classes d'entités en sortie.

Le système de coordonnées à utiliser pour projeter les entrées. La valeur par défaut est définie en fonction de l'environnement du système de coordonnées en sortie.

Classe d'entités ou jeu de classes d'entités utilisé pour spécifier le système de coordonnées en sortie utilisé pour la projection.

Nom de la transformation géographique à appliquer pour convertir des données entre deux systèmes de coordonnées géographiques (données).

Sortie dérivée

L'emplacement de chaque nouvelle classe d'entités ou jeu de classes d'entités en sortie.

Classes d'entités en entrée ou jeux de classes d'entités dont les coordonnées doivent être converties.

L'emplacement de chaque nouvelle classe d'entités ou jeu de classes d'entités en sortie.

Le système de coordonnées à utiliser pour projeter les entrées.

Les valeurs valides sont un objet SpatialReference, un fichier avec une extension .prj ou une représentation sous forme de chaîne d'un système de coordonnées.

Classe d'entités ou jeu de classes d'entités utilisé pour spécifier le système de coordonnées en sortie utilisé pour la projection.

Nom de la transformation géographique à appliquer pour convertir des données entre deux systèmes de coordonnées géographiques (données).

Sortie dérivée

L'emplacement de chaque nouvelle classe d'entités ou jeu de classes d'entités en sortie.

Exemple de code

Le script de fenêtre Python suivant montre comment utiliser la fonction BatchProject en mode immédiat.

Le script Python suivant montre comment utiliser la fonction BatchProject dans un script autonome.


Impossible d'afficher la classe d'entités créée

J'ai écrit un script qui se connecte à un serveur SQL via pyodbc et crée une classe d'entités à partir d'une table. Le code fonctionne bien, mais dans Arc, je ne vois pas ma classe d'entités, bien que les attributs soient tous là. Je suis nouveau sur python et je n'arrive pas à comprendre ce qui me manque.

Aide grandement appréciée à l'avance.

par JakeSkinner

En regardant votre code, il ne semble pas que vous insérez de la géométrie n'importe où, uniquement des informations d'attribut. Cela expliquerait pourquoi vous pouvez voir les informations sur les attributs, mais pas les données spatiales.

En regardant votre code, il ne semble pas que vous insérez de la géométrie où que ce soit.

JSkinn3, Pourriez-vous m'indiquer un exemple de la façon dont on fait cela ? Je suis un débutant en Python.

par JakeSkinner

J'ai suivi vos suggestions et le code fonctionne, mais il y a toujours un problème avec lequel j'ai un problème.
Lorsque j'essaie de définir la projection, j'obtiens :
ERREUR 000622 : Échec de l'exécution (Make XY Event Layer). Les paramètres ne sont pas valides.
ERREUR 000628 : Impossible de définir l'entrée dans le paramètre spatial_reference.

Lorsque je le commente, le code s'exécute, mais la nouvelle classe d'entités n'a évidemment aucune projection définie. En parcourant les autres messages du forum, je vois que d'autres personnes ont eu des problèmes similaires lors de l'exécution d'un script python autonome. Suggestions?

par JakeSkinner

Les traits de soulignement dans le nom de la projection sont la cause du problème. Changement:

Les traits de soulignement dans le nom de la projection sont à l'origine du problème. Changement:

Et voici mon code (presque) final :

par JakeSkinner

Ajoutez la ligne de code suivante :

Cela vous permettra d'écraser les classes d'entités existantes.

Ajoutez la ligne de code suivante :

Oui, je l'ai déjà dans le script au début. J'ai essayé de le copier avant la commande featureclasstofeaturecalss, mais cela n'a pas fonctionné.


Syntaxe

Entités d'annotation de couverture que vous souhaitez convertir en annotation de géodatabase. Si vous choisissez une couche d'annotation de couverture dans ArcMap, les propriétés suivantes de cette couche seront respectées lors de la conversion :

  • Niveaux de dessin visibles. Seuls les niveaux activés pour le dessin seront convertis.
  • Substitution des propriétés de police et de couleur pour le symbole de texte.
  • Sélection. Seules les entités sélectionnées seront converties.
  • Requête de définition. Seules les entités visibles qui correspondent à la requête de définition seront converties.

Accédez à une géodatabase existante et saisissez le nom de la nouvelle classe d'entités annotations à créer.

Entrez l'échelle à utiliser comme référence pour l'annotation. Cela définit l'échelle sur laquelle toutes les tailles de symboles et de texte dans l'annotation seront basées.

Licence:

Ce paramètre est uniquement disponible avec les licences ArcGIS for Desktop Standard et ArcGIS for Desktop Advanced.

Indiquez si tous les niveaux de dessin d'annotation de couverture seront convertis en classes d'annotations au sein de la classe d'entités.

  • CLASSES_FROM_LEVELS —Chaque niveau de dessin d'annotation de couverture sera converti en une classe d'annotations, dans la classe d'entités en sortie. C'est la valeur par défaut.
  • ONE_CLASS_ONLY —Tous les niveaux de dessin d'annotation de couverture seront convertis en une seule classe d'annotations dans la classe d'entités en sortie.

Si vous convertissez une annotation de couverture à partir de plusieurs sous-classes de couverture ou d'annotation et que vous devez substituer les propriétés de police d'un symbole et les appliquer à toutes les entités en entrée, vous pouvez utiliser cette option.

  • MATCH_FIRST_INPUT —Faire correspondre les symboles de la première couche en entrée et les appliquer à toutes les couches.
  • NO_MATCH —Chaque fichier de dessin conserve ses propres propriétés de police. C'est la valeur par défaut.

Spécifiez si les entités d'annotation en sortie doivent référencer un symbole stocké dans la collection de symboles pour la classe d'entités.

  • NO_SYMBOL_REQUIRED —Tout type d'annotation (y compris les graphiques) peut être stocké dans la classe d'entités annotations. C'est la valeur par défaut.
  • REQUIRE_SYMBOL —L'annotation doit référencer l'un des symboles prédéfinis de la collection, le symbole ne peut pas être stocké en ligne.
Licence:

Ce paramètre est uniquement disponible avec les licences ArcGIS for Desktop Standard et ArcGIS for Desktop Advanced.

Choisissez si la classe d'entités annotations en sortie sera liée aux entités d'une autre classe d'entités.

  • FEATURE_LINKED —La classe d'entités annotations en sortie sera liée aux entités d'une autre classe d'entités.
  • STANDARD —La classe d'entités annotations en sortie ne sera pas liée aux entités d'une autre classe d'entités. C'est la valeur par défaut.
Licence:

Ce paramètre est uniquement disponible avec les licences ArcGIS for Desktop Standard et ArcGIS for Desktop Advanced.

Classe d'entités à laquelle vous liez des entités d'annotation. Cette option n'est disponible que si vous choisissez FEATURE_LINKED pour le paramètre feature_linked.

Licence:

Ce paramètre est uniquement disponible avec les licences ArcGIS for Desktop Standard et ArcGIS for Desktop Advanced.

Spécifiez si une nouvelle annotation sera générée lorsque vous ajoutez de nouvelles entités à la classe d'entités à laquelle cette classe d'entités annotations est liée.

Cette option n'est disponible que si vous choisissez FEATURE_LINKED pour le paramètre feature_linked et spécifiez une valeur pour le paramètre linked_feature_class.

  • AUTO_CREATE —Lors de la mise à jour dans ArcMap, une nouvelle pièce d'annotation est automatiquement générée lorsque vous ajoutez de nouvelles entités à la classe d'entités à laquelle cette classe d'entités annotations est liée. C'est la valeur par défaut.
  • NO_AUTO_CREATE —Lors de la mise à jour dans ArcMap, une nouvelle pièce d'annotation n'est pas générée automatiquement lorsque vous ajoutez de nouvelles entités à la classe d'entités à laquelle cette classe d'entités annotations est liée.
Licence:

Ce paramètre est uniquement disponible avec les licences ArcGIS for Desktop Standard et ArcGIS for Desktop Advanced.

Indiquez si l'éditeur ArcMap met automatiquement à jour le placement des annotations lorsque vous modifiez des entités dans la classe d'entités à laquelle cette classe d'entités annotations est liée.

Cette option n'est disponible que si vous choisissez FEATURE_LINKED pour le paramètre feature_linked et spécifiez une valeur pour le paramètre linked_feature_class.

  • AUTO_UPDATE —L'annotation sera repositionnée en fonction de la forme de l'entité modifiée. C'est la valeur par défaut.
  • NO_AUTO_UPDATE —L'annotation restera dans sa position d'origine.

Usage

Les fichiers d'entrée doivent être au format XYZ, XYZI, LAS ou GENERATE.

Lorsqu'un dossier contenant des fichiers de données de points est sélectionné en entrée, le suffixe de fichier doit être saisi. Cependant, cela n'est pas nécessaire pour les entrées de fichier.

Lorsque l'option de résumé n'est pas utilisée, les informations statistiques présentées dans la table attributaire d'entités se composent du nombre de points, de l'espacement moyen des points, du z minimum et du z maximum de chaque fichier de points saisi. Une ligne distincte est créée pour chaque fichier d'entrée rencontré. L'espacement des points est une estimation qui suppose que les points dans le fichier d'entrée sont régulièrement espacés sur l'étendue XY de chaque fichier d'entrée.

Chaque entité résultante englobera l'étendue XY d'un fichier d'entrée. Les entités peuvent être créées sous forme de polygones 2D ou d'entités multipatch extrudées qui fournissent une zone de délimitation 3D dont les valeurs z à la base et au sommet reflètent la plage de valeurs d'altitude trouvées dans le fichier. Le multipatch peut être visualisé en 3D à l'aide d'ArcScene ou d'ArcGlobe.

L'option de résumé est utile pour résumer statistiquement les informations pour chaque code de classe dans le fichier d'entrée, mais elle est coûteuse, car chaque fichier doit être scanné et analysé.

L'espacement des points rapporté par Point File Information n'est pas exact, il s'agit d'une estimation. L'espacement des points donné est un résumé lors de l'examen des tendances pour les collections de fichiers. L'outil utilise une estimation approximative qui compare simplement la zone de la zone de délimitation du fichier avec le nombre de points. Elle est plus précise lorsque l'étendue rectangulaire du fichier examiné est remplie de données. Les fichiers avec des points sur de grands plans d'eau ou sur le périmètre d'une zone d'étude, seulement partiellement occupés par des données, ne produiront pas d'estimations précises.


Nous avons trouvé au moins 10 Liste de sites Web ci-dessous lors de la recherche avec créer une classe d'entités à partir d'une table sur le moteur de recherche

Créer une classe d'entités—ArcGIS Pro Documentation

Pro.arcgis.com AD : 14 PENNSYLVANIE: 50 Rang MOZ : 64

Créer une Classe d'entités en important des données Vous pouvez utiliser le menu contextuel Importer du volet Catalogue pour créer un nouveau Classe d'entités. Cliquez avec le bouton droit sur une géodatabase ou fonctionnalité jeu de données dans le volet Catalogue et cliquez sur Importer > Classe d'entités.

Créer une classe d'entités (gestion des données)—ArcGIS Pro

Pro.arcgis.com AD : 14 PENNSYLVANIE: 50 Rang MOZ : 65

  • La valeur du paramètre Emplacement de la classe d'entités (géodatabase ou dossier) doit déjà exister
  • Cet outil crée uniquement des classes d'entités simples telles que des points, des multipoints, des polygones et des polylignes
  • Un fichier de formes créé par cet outil a un champ entier nommé ID
  • Le champ ID n'est pas créé lorsque vous fournissez une valeur de paramètre de modèle de jeu de données.

Créer une classe d'entités dans une base de données dans ArcMap—Aide

  • Créer une connexion à votre base de données
  • Cliquez avec le bouton droit sur le tableau, pointez sur Nouveau et cliquez sur Classe d'entités. Tapez un nom pour le Classe d'entités
  • Classe d'entités les noms doivent commencer par une lettre et ne peuvent pas dépasser le nombre maximum de caractères autorisé par le SGBD tableau noms.

Problème : création d'une classe d'entités à partir de la table XY dans

  • Lorsque vous spécifiez la sortie dans la boîte de dialogue Créer une classe d'entités à partir de la table XY, vous devrez peut-être définir le domaine XY
  • Cliquez sur Modifier dans le bloc de données Référence spatiale
  • Cliquez sur l'onglet Domaine X/Y et définissez le domaine X et Y approprié.

Création d'une classe d'entités points à partir d'une table

Youtube.com AD : 15 PENNSYLVANIE: 6 Rang MOZ : 25

À propos Presse Copyright Contactez-nous Créateurs Publicité Développeurs Conditions Politique de confidentialité et sécurité Comment Youtube fonctionne Test neuf fonctionnalités Presse Copyright Nous contacter Créateurs

Créer une classe d'entités—Aide ArcGIS for Desktop

12 rangées · Personnalisé classes d'entités telles que les annotations, les cotes et les relations classer sommes …


Champs et propriétés de champ

Lorsque vous créez une classe d'entités à l'aide de l'assistant Créer une classe d'entités ou de l'outil Créer une classe d'entités, seuls les champs gérés par la géodatabase sont ajoutés à la classe d'entités. Vous pouvez ajouter vos propres champs à la classe d'entités dans la vue des champs. La vue des champs vous permet de spécifier les propriétés spécifiques de chaque champ, telles que le type de champ et la taille maximale des données pouvant être stockées dans le champ.

Tous les champs ont des propriétés telles que les suivantes :

  • Alias ​​: il s'agit d'un autre nom pour le champ de classe d'entités. Contrairement au vrai nom d'un champ, un alias n'a pas besoin de respecter les limitations de la base de données et peut contenir des espaces et des caractères spéciaux et commencer par un nombre. Vous pouvez uniquement spécifier des alias de champ pour les classes d'entités dans les géodatabases.
  • Allow Nulls : contrôle si le champ aura une contrainte NOT NULL lors de sa création. Si Allow Nulls est défini sur Non, la définition de champ dans la base de données contiendra la contrainte NOT NULL. Si vous conservez la valeur par défaut de Oui, le champ sera NULLABLE.

Le modèle de géodatabase insère une valeur vide (numérique = 0, texte = "") au lieu d'une base de données NULL si, et seulement si, le champ dans la base de données a une contrainte NOT NULL.

Toutes les classes d'entités ont un ensemble de champs obligatoires nécessaires pour enregistrer l'état d'un objet particulier dans la classe d'entités. Ces champs obligatoires sont créés automatiquement lorsque vous créez une classe d'entités et ils ne peuvent pas être supprimés. Les champs obligatoires peuvent également avoir des propriétés obligatoires telles que leur propriété de domaine. Vous ne pouvez pas modifier la propriété requise d'un champ obligatoire.

Par exemple, dans une classe d'entités surfaciques, OBJECTID et SHAPE sont des champs obligatoires. Ils ont des propriétés que vous pouvez modifier, telles que leur type de géométrie, mais ces champs ne peuvent pas être supprimés.

Si vous créez une classe d'entités linéaires dans une géodatabase, un champ supplémentaire est automatiquement ajouté à la classe d'entités pour enregistrer la longueur de la ligne. Si vous créez une classe d'entités surfaciques, deux champs supplémentaires sont ajoutés automatiquement pour enregistrer la longueur (périmètre) et la superficie de chaque entité surfacique. Les unités de mesure de ces valeurs dépendent de la référence spatiale définie pour la classe d'entités. Les noms de ces champs varient en fonction de la base de données et du type spatial que vous utilisez. Ces champs sont obligatoires et ne peuvent pas être modifiés.

Certains noms de champ apparaissent dans ArcGIS avec leurs noms complets pour les classes d'entités stockées dans une géodatabase d'entreprise. Par exemple, si vous créez ou importez une classe d'entités surfaciques qui contient un champ nommé AREA , la base de données, le schéma et le nom de la classe d'entités lui sont ajoutés. C'est le nom que vous verrez dans la table attributaire de la classe d'entités. Cela signifie que pour une classe d'entités surfaciques nommée ARCHSITES stockée dans le schéma PROF de la base de données MUSEUM, le champ AREA ressemble à ceci :

La liste suivante contient tous les noms de champ entièrement qualifiés dans une géodatabase d'entreprise :

  • FID
  • SURFACE
  • LEN
  • POINTS
  • NUMOFPT
  • ENTITÉ
  • EMINX
  • ÉMINY
  • EMAXX
  • EMAXY
  • EMINZ
  • EMAXZ
  • MIN_MESURE
  • MAX_MESURE

Pour des cas comme celui-ci, envisagez d'utiliser un nom de champ différent ou un alias de champ.

Importation de champs

Lorsque vous créez une classe d'entités, vous avez la possibilité d'importer des champs d'une autre classe d'entités ou table. Cette option vous permet d'utiliser une autre classe d'entités ou table comme modèle pour les définitions de champ de celle que vous créez. Une fois les champs importés, vous pouvez modifier les noms des champs, leur type de données et leurs propriétés.

Lorsque vous importez des champs lors de la création de la classe d'entités, les champs obligatoires ne sont pas affectés. Par exemple, si vous définissez la propriété de type de géométrie pour la nouvelle classe d'entités afin de stocker des points, l'importation de définitions de champ à partir d'une classe d'entités dans laquelle la propriété de type de géométrie du champ SHAPE est définie pour stocker des polygones n'écrasera pas le type de géométrie de la classe d'entités.


Syntaxe

Les fichiers ou dossiers ASCII contenant des données au format XYZ, XYZI (avec intensité lidar) ou au format 3-D GENERATE. Si un dossier est spécifié, le paramètre File Suffix devient obligatoire et tous les fichiers ayant la même extension que le suffixe spécifié seront utilisés. Si plusieurs fichiers sont impliqués, ils doivent être dans le même format.

Type de géométrie de la classe d'entités en sortie.

  • MULTIPOINT —Valable uniquement lorsque des points sont entrés. Les multipoints sont recommandés lorsque vous n'avez pas l'intention d'ajouter une attribution par point et surtout lorsque plusieurs milliers ou millions de points sont impliqués. C'est la valeur par défaut.
  • POINT —Valable uniquement lorsque des points sont entrés.
  • POLYLINES —Uniquement valide lorsque des polylignes ou des polygones sont entrés. Si vous saisissez des polygones, vous pouvez utiliser des POLYLINES comme sortie.
  • POLYGONES —Valable uniquement lorsque des polygones sont entrés.

Facteur par lequel les valeurs d'altitude seront multipliées. Ceci est généralement utilisé pour convertir les unités linéaires Z qui correspondent à celles des unités linéaires XY. La valeur par défaut est 1, ce qui laisse les valeurs d'altitude inchangées.

Le système de coordonnées des données d'entrée. La valeur par défaut est un système de coordonnées inconnu. Si spécifié, la sortie peut ou non être projetée dans un système de coordonnées différent. Cela dépend du fait que l'environnement de géotraitement possède ou non un système de coordonnées défini pour l'emplacement de la classe d'entités cible.

La distance planimétrique moyenne entre les points de l'entrée. Ce paramètre n'est utilisé que lorsque la géométrie en sortie est définie sur MULTIPOINT , et sa fonction est de fournir un moyen de regrouper les points. Cette valeur est utilisée conjointement avec la limite de points par forme pour construire un système de tuiles virtuelles utilisé pour regrouper les points. L'origine du système de tuiles est basée sur le domaine de la classe d'entités cible. Spécifiez l'espacement dans les unités horizontales de la classe d'entités cible.

Le suffixe des fichiers à importer depuis un dossier d'entrée. Ce paramètre est obligatoire lorsqu'un dossier est spécifié en entrée.

Le caractère décimal utilisé dans le fichier texte pour différencier l'entier d'un nombre de sa partie fractionnaire.

  • DECIMAL_POINT — Un point est utilisé comme caractère décimal. C'est la valeur par défaut.
  • DECIMAL_COMMA — Une virgule est utilisée comme caractère décimal.

Voir la vidéo: Python: Working with Feature Data using ArcPy