Suite

Exporter vers SHP avec ArcPy avec requête

Exporter vers SHP avec ArcPy avec requête


J'ai un shapefile avec table avec indicatif régional (champindicatif régional).

Comment puis-je exporter avec ArcPy chaque indicatif régional unique afin d'obtenir un fichier SHP pour chacun ?

Il faut trop de temps pour sélectionner la couche et interroger chaque indicatif régional, puis exporter manuellement vers le fichier SHP.


Vous pouvez utiliser un SearchCursor pour exporter des entités dans un fichier de formes vers de nouveaux fichiers de formes. LeFAÇ[email protected]le jeton vous permet d'accéder à la géométrie de l'entité individuelle. L'outil Classe d'entités en classe d'entités (conversion) effectue la conversion en fichier de formes. Vous pouvez également spécifier un sous-ensemble de fonctionnalités que vous souhaitez exporter en spécifiant une requête

requête = """"indicatif régional" > 2"""

import arcpy shp = r'C:path	oyourshapefile' outpath = r'C:outpath' query = """"areacode" > 2""" avec arcpy.da.SearchCursor(shp, ["[email protected]", "areacode"], query) comme curseur : pour la ligne dans le curseur : # Remarque* en utilisant le "areacode" pour nommer la sortie arcpy.FeatureClassToFeatureClass_conversion (row[0], outpath, row[1])

Exporter vers SHP avec ArcPy avec requête - Systèmes d'Information Géographique

Je crois que j'ai fait des stagiaires liés au SIG, ou de petits partenaires qui ont participé à des travaux liés au SIG peuvent sentir que les données SIG couramment utilisées dans le domaine SIG dans l'entreprise ne sont pas seulement les données SHP à petite échelle dans l'école, mais un beaucoup de données GDB locales, chaîne wkt de base de données ou chaîne binaire WKB et chaîne GEOJSON transmises entre Internet.L'objectif de cet article est que le package Python ARCPY fourni sur la base d'ArcMap, exporte et combine plusieurs chaînes WKT dans le fichier CSV, et combine et fusionne dans un fichier GDB, exportant ainsi davantage en tant que fichiers SHP.

Le catalogue de cet article et la structure de l'article sont les suivants


Systèmes d'Information Géographique (SIG)

La cartographie du département et la bibliothèque de données spatiales sont gérées par des Systèmes d'Information Géographique (SIG). Plusieurs outils et sites Web vous permettent de visualiser et de créer des cartes, d'effectuer des analyses et de télécharger nos données spatiales.

Ressources SIG

Carte directe

Cette application de cartographie publique permet à quiconque de créer, d'imprimer et de partager des cartes personnalisées avec les données du programme DEP.

Portail de données ouvertes

Notre site de données ouvertes permet aux utilisateurs de rechercher, d'analyser et de télécharger des données SIG DEP accessibles au public.

Galerie de cartes interactives

Accédez à notre galerie via le Web, les smartphones ou les tablettes pour en savoir plus sur nos initiatives réussies.

Contacter DEP SIG

Vous souhaitez vous abonner aux newsletters du DEP ou recevoir les mises à jour du DEP par e-mail ?

Le Florida Department of Environmental Protection est l'agence principale de l'État pour la gestion et l'intendance environnementales - protégeant notre air, notre eau et nos terres. La vision du Florida Department of Environmental Protection est de créer des partenariats communautaires solides, de protéger les ressources naturelles de la Floride et d'améliorer ses écosystèmes.


Applications des données et des méthodes des systèmes d'information géographique (SIG) dans la recherche liée à l'obésité

Les données/méthodes des systèmes d'information géographique (SIG) sont très prometteuses pour les programmes de santé publique, y compris la recherche liée à l'obésité. Cette étude a examiné systématiquement leurs applications et identifié les lacunes et les limites de la recherche actuelle sur l'obésité. Une recherche systématique dans PubMed d'études publiées avant le 20 mai 2016, utilisant des synonymes de SIG en combinaison avec des synonymes d'obésité comme termes de recherche, a identifié 121 études répondant à nos critères d'inclusion. Nous avons trouvé les principales applications des données/méthodes SIG dans la recherche liée à l'obésité, notamment (i) la visualisation de la distribution spatiale de l'obésité et des phénomènes liés à l'obésité, et des caractéristiques environnementales obésogènes de base, et (ii) la construction d'indicateurs environnementaux obésogènes avancés. Nous avons trouvé une forte hétérogénéité spatiale dans la prévalence/le risque d'obésité et les facteurs environnementaux obésogènes. En outre, la conception et les caractéristiques des études variaient considérablement d'une étude à l'autre en raison du manque de directives et de protocoles établis dans le domaine, ce qui peut également avoir contribué aux résultats mitigés concernant les impacts environnementaux sur l'obésité. Les conclusions existantes concernant l'environnement bâti sont plus solides que celles concernant l'environnement alimentaire. Les applications des données/méthodes SIG dans la recherche sur l'obésité sont encore limitées et la recherche connexe est confrontée à de nombreux défis. Des données SIG plus nombreuses et de meilleure qualité et des méthodes d'analyse plus conviviales sont nécessaires pour étendre les futures applications SIG dans la recherche liée à l'obésité.

Mots clés: Environnement bâti environnement alimentaire obésité environnement obésogène.


2. Fonctions ArcPy

Lorsque nous avons importé le module mathématique dans notre environnement de codage Python dans une leçon précédente, nous avons vu qu'il nous permettait de faire des choses que nous n'aurions pas pu faire facilement auparavant : nous pouvions calculer des logs ( log(7) , des racines carrées ( sqrt (25 ) ), cosinus ( cos(3.14) ), etc. En disant cela différemment, l'importation du module mathématique a ajouté un nouveau les fonctions à notre environnement de codage. Il en est de même lorsque nous importons le package arcpy.

Une fonction Python exécute une tâche spécifique et nécessite souvent des paramètres. Tous les appels à une fonction en Python sont suivis de parenthèses, c'est là que nous spécifions ces paramètres. Si aucun paramètre n'est requis, nous incluons toujours les parenthèses mais n'insérons rien entre elles. L'ordre dans lequel les paramètres sont fournis est important pour exécuter correctement la fonction.

Vous l'avez peut-être déjà deviné, mais oui : tous les outils de géotraitement ArcGIS sont accessibles en tant que fonctions arcpy ! Cependant, l'importation du package arcpy nous donne des fonctions supplémentaires qui ne sont pas incluses en tant qu'outils de géotraitement dans ArcGIS Pro ! Nous verrons cela dans l'exercice ci-dessous.

» Exercice 2 : Fonctions

Cet exercice propose quelques exemples d'applications des fonctions ArcPy…

→ Tout d'abord, nous allons étudier la fonction Existe :

Accédez à la page d'aide en ligne de la fonction Existe (lien).

Utilisez la fonction ArcPy Exists pour renvoyer un booléen indiquant si le fichier V:ArcPyDemo1dataSanDiegoclimate.shp existe.

Nous allons maintenant explorer la fonction ListFields (lien) :

Utilisez la fonction ArcPy ListFields pour générer une liste de tous les champs dans la table V:ArcPyDemo1dataSanDiegoclimate.shp, en enregistrant la sortie en tant que variable nommée « myFields ».

Quel est le type de données Python de la variable myFields que vous venez de créer ?

Combien de champs y a-t-il dans la table ?

Extrayez le premier élément de cette liste dans une nouvelle variable nommée « myField ».

Quel est le type de données Python de cet objet « myField » ?

Pouvez-vous générer une liste des seuls champs de type « String » dans le jeu de données V:ArcPyDemo1dataSanDiegoclimate.shp ?


Apprenez à lire et à interpréter des cartes et des données et à utiliser les principes de base de la cartographie pour créer des cartes pouvant être utilisées dans des rapports et des présentations. Après avoir appris les concepts de base, les participants effectueront un exercice utilisant ArcGIS Pro ou QGIS.

Apprenez les bases de la visualisation des informations géographiques et de la création de vos propres cartes dans un système d'information géographique (SIG). Nous présenterons des options de logiciels de cartographie et de SIG open source et propriétaires et laisserons les participants choisir de travailler à travers des exercices utilisant ESRI ArcGIS (propriétaire) et/ou Quantum GIS (QGIS) (open source). Apprenez à lire et à interpréter des cartes et des données et à utiliser les principes de base de la cartographie pour créer des cartes pouvant être utilisées dans des rapports et des présentations.


Chemin et nom de la mosaïque en entrée.

Nom de la couche de mosaïque en sortie.

À l'aide de SQL, vous pouvez définir une requête ou utiliser le Générateur de requêtes pour créer une requête.

L'étendue en sortie peut être spécifiée en définissant les quatre coordonnées ou en utilisant l'étendue d'une couche existante.

  • Par défaut : l'étendue sera basée sur l'étendue maximale de toutes les entrées participantes. C'est la valeur par défaut.
  • Etendue d'affichage actuelle : l'étendue est égale au bloc de données ou à l'affichage visible. L'option n'est pas disponible lorsqu'il n'y a pas de carte active.
  • Comme spécifié ci-dessous : l'étendue sera basée sur les valeurs d'étendue minimale et maximale spécifiées.
  • Parcourir : l'étendue sera basée sur un jeu de données existant.

Choisissez les bandes à exporter pour la couche. Si aucune bande n'est spécifiée, toutes les bandes seront utilisées dans la sortie.

Choisissez la méthode mosaïque. La méthode de mosaïque définit la manière dont la couche est créée à partir de différents rasters dans la mosaïque.

  • Le plus proche du centre : trie les rasters en fonction d'un ordre dans lequel les rasters dont le centre est le plus proche du centre de la vue sont placés en haut.
  • Nord-ouest : trie les rasters en fonction d'un ordre dans lequel les rasters dont le centre est le plus proche du nord-ouest sont placés en haut.
  • Verrouiller le raster : permet à un utilisateur de verrouiller l'affichage d'un ou de plusieurs rasters, en fonction d'un ID ou d'un nom. Lorsque vous choisissez cette option, vous devez spécifier l'ID de raster de verrouillage.
  • Par attribut : trie les rasters en fonction d'un champ attributaire et de sa différence par rapport à la valeur de base. Lorsque cette option est choisie, les paramètres du champ de commande et de la valeur de base de la commande doivent également être définis.
  • Le plus proche du nadir : trie les rasters en fonction d'un ordre dans lequel les rasters dont la position au nadir est la plus proche du centre de la vue sont placés en haut. Le point nadir peut être différent du point central, en particulier dans l'imagerie oblique.
  • Le plus proche du point de vue : trie les rasters en fonction d'un ordre dans lequel la position du nadir est la plus proche de l'emplacement du point de vue défini par l'utilisateur et est placé au-dessus.
  • Ligne de jointure : coupe les rasters à l'aide de la forme de ligne de jointure prédéfinie pour chaque raster à l'aide d'un lissage facultatif le long des jointures. L'ordre est prédéfini lors de la génération de la ligne de couture. L'opérateur de mosaïque LAST n'est pas valide avec cette méthode de mosaïque.

Choisissez le champ de commande. Lorsque la méthode de mosaïque est Par attribut , le champ par défaut à utiliser lors du classement des rasters doit être défini. La liste des champs est définie comme ceux de la table de service qui sont de type métadonnées.

Choisissez le champ de commande. Lorsque la méthode de mosaïque est BY_ATTRIBUTE , le champ par défaut à utiliser lors du classement des rasters doit être défini. La liste des champs est définie comme ceux de la table de service qui sont de type métadonnées.

La valeur de base de la commande. Les images sont triées en fonction de la différence entre cette valeur et la valeur d'attribut dans le champ spécifié.

L'ID de raster ou le nom de raster sur lequel le service doit être verrouillé afin que seuls les rasters spécifiés soient affichés. Si elle n'est pas définie, elle sera similaire à la valeur par défaut du système. Plusieurs ID peuvent être définis sous forme de liste délimitée par des points-virgules.

Choisissez si l'ordre de tri est croissant ou décroissant.

  • Croissant — L'ordre de tri sera croissant. C'est la valeur par défaut.
  • Descending : l'ordre de tri sera décroissant.

Choisissez l'opérateur de mosaïque à utiliser. Lorsque deux rasters ou plus ont la même priorité de tri, ce paramètre est utilisé pour affiner davantage l'ordre de tri.

  • Premier : le premier raster de la liste sera en haut. C'est la valeur par défaut.
  • Dernier : le dernier raster de la liste sera en haut.
  • Minimum : le raster avec la valeur la plus faible sera en haut.
  • Maximum : le raster avec la valeur la plus élevée sera en haut.
  • Moyenne : la valeur moyenne des pixels sera en haut.
  • Mélange : la valeur de la cellule de sortie sera un mélange de valeurs. Cette valeur de mélange repose sur un algorithme basé sur le poids et dépendant de la distance entre le pixel et le bord dans la zone de chevauchement.
  • Somme : la valeur de la cellule de sortie sera l'agrégat de toutes les cellules qui se chevauchent.

La taille de cellule de la couche de mosaïque en sortie.

Le modèle de traitement de la fonction raster qui peut être appliqué sur la couche de mosaïque en sortie.

Chemin et nom de la mosaïque en entrée.

Nom de la couche de mosaïque en sortie.

En utilisant SQL, vous pouvez définir une requête.

L'étendue en sortie peut être spécifiée en définissant les quatre coordonnées ou en utilisant l'étendue d'une couche existante.

  • MAXOF —L'étendue maximale de toutes les entrées sera utilisée.
  • MINOF —La zone minimale commune à toutes les entrées sera utilisée.
  • DISPLAY —L'étendue est égale à l'affichage visible.
  • Nom de la couche : l'étendue de la couche spécifiée sera utilisée.
  • Objet d'étendue : l'étendue de l'objet spécifié sera utilisée.
  • Chaîne de coordonnées délimitée par des espaces : l'étendue de la chaîne spécifiée sera utilisée. Les coordonnées sont exprimées dans l'ordre x-min, y-min, x-max, y-max.

Choisissez les bandes à exporter pour la couche. Si aucune bande n'est spécifiée, toutes les bandes seront utilisées dans la sortie.

Choisissez la méthode mosaïque. La méthode de mosaïque définit la manière dont la couche est créée à partir de différents rasters dans la mosaïque.

  • CLOSEST_TO_CENTER — Trie les rasters en fonction d'un ordre dans lequel les rasters dont le centre est le plus proche du centre de la vue sont placés en haut.
  • NORTH_WEST — Trie les rasters en fonction d'un ordre dans lequel les rasters dont le centre est le plus proche du nord-ouest sont placés en haut.
  • LOCK_RASTER — Permet à un utilisateur de verrouiller l'affichage d'un ou plusieurs rasters, en fonction d'un ID ou d'un nom. Lorsque vous choisissez cette option, vous devez spécifier l'ID de raster de verrouillage.
  • BY_ATTRIBUTE — Trie les rasters en fonction d'un champ attributaire et de sa différence par rapport à la valeur de base. Lorsque cette option est choisie, les paramètres du champ de commande et de la valeur de base de la commande doivent également être définis.
  • CLOSEST_TO_NADIR — Trie les rasters en fonction d'un ordre dans lequel les rasters dont la position nadir est la plus proche du centre de la vue sont placés en haut. Le point nadir peut être différent du point central, en particulier dans l'imagerie oblique.
  • CLOSEST_TO_VIEWPOINT — Trie les rasters en fonction d'un ordre dans lequel la position du nadir est la plus proche de l'emplacement du point de vue défini par l'utilisateur et est placée au-dessus.
  • LIGNE DE JOINT — Coupe les rasters à l'aide de la forme de ligne de raccord prédéfinie pour chaque raster à l'aide d'un lissage facultatif le long des raccords. L'ordre est prédéfini lors de la génération de la ligne de couture. L'opérateur de mosaïque LAST n'est pas valide avec cette méthode de mosaïque.

Choisissez le champ de commande. Lorsque la méthode de mosaïque est BY_ATTRIBUTE , le champ par défaut à utiliser lors du classement des rasters doit être défini. La liste des champs est définie comme ceux de la table de service qui sont de type métadonnées.

La valeur de base de la commande. Les images sont triées en fonction de la différence entre cette valeur et la valeur d'attribut dans le champ spécifié.

L'ID de raster ou le nom de raster sur lequel le service doit être verrouillé afin que seuls les rasters spécifiés soient affichés. Si elle n'est pas définie, elle sera similaire à la valeur par défaut du système. Plusieurs ID peuvent être définis sous forme de liste délimitée par des points-virgules.

Choisissez si l'ordre de tri est croissant ou décroissant.

  • ASCENDING — L'ordre de tri sera croissant. C'est la valeur par défaut.
  • DESCENDING — L'ordre de tri sera décroissant.

Choisissez l'opérateur de mosaïque à utiliser. Lorsque deux rasters ou plus ont la même priorité de tri, ce paramètre est utilisé pour affiner davantage l'ordre de tri.

  • FIRST — Le premier raster de la liste sera en haut. C'est la valeur par défaut.
  • LAST — Le dernier raster de la liste sera en haut.
  • MIN — Le raster avec la valeur la plus faible sera en haut.
  • MAX — Le raster avec la valeur la plus élevée sera en haut.
  • MEAN — La valeur moyenne du pixel sera en haut.
  • MÉLANGE — La valeur de la cellule de sortie sera un mélange de valeurs. Cette valeur de mélange repose sur un algorithme basé sur le poids et dépendant de la distance entre le pixel et le bord dans la zone de chevauchement.
  • SUM — La valeur de la cellule de sortie sera l'agrégat de toutes les cellules qui se chevauchent.

La taille de cellule de la couche de mosaïque en sortie.

Le modèle de traitement de la fonction raster qui peut être appliqué sur la couche de mosaïque en sortie.


Syntaxe

Entités ponctuelles, linéaires ou surfaciques en entrée à mettre en mémoire tampon.

La classe d'entités contenant les tampons de sortie.

Distance autour des entités en entrée qui seront mises en mémoire tampon. Les distances peuvent être fournies sous forme de valeur représentant une distance linéaire ou sous forme de champ à partir des entités en entrée qui contient la distance pour tamponner chaque entité.

Si les unités linéaires ne sont pas spécifiées ou sont saisies comme Inconnues, l'unité linéaire de la référence spatiale des entités en entrée est utilisée.

Lorsque vous spécifiez une distance, si l'unité linéaire souhaitée comporte deux mots, tels que Degrés décimaux, combinez les deux mots en un seul (par exemple, 20 DecimalDegrees ).

Les côtés des entités en entrée qui seront mis en mémoire tampon.

  • FULL —Pour les entités en entrée de ligne, des tampons seront générés des deux côtés de la ligne. Pour les entités surfaciques en entrée, des zones tampons seront générées autour du polygone et contiendront et chevaucheront la zone des entités en entrée. Pour les entités ponctuelles en entrée, des zones tampons seront générées autour du point. C'est la valeur par défaut.
  • LEFT —Pour les entités en entrée de ligne, des tampons seront générés sur la gauche topologique de la ligne. Cette option n'est pas valide pour les entités surfaciques en entrée.
  • RIGHT —Pour les entités en entrée de ligne, des tampons seront générés sur la droite topologique de la ligne. Cette option n'est pas valide pour les entités surfaciques en entrée.
  • OUTSIDE_ONLY —Pour les entités surfaciques en entrée, les zones tampons seront générées uniquement à l'extérieur du polygone en entrée (la zone à l'intérieur du polygone en entrée sera effacée de la zone tampon en sortie). Cette option n'est pas valide pour les entités en entrée de ligne.
Licence:

Ce paramètre facultatif n'est pas disponible avec une licence de base ou standard.

La forme de la mémoire tampon à la fin des entités d'entrée de ligne. Ce paramètre n'est pas valide pour les entités surfaciques en entrée.

  • ROUND —Les extrémités du tampon seront rondes, en forme de demi-cercle. C'est la valeur par défaut.
  • FLAT —Les extrémités de la zone tampon seront plates ou carrées et se termineront à l'extrémité de l'entité linéaire en entrée.
Licence:

Ce paramètre facultatif n'est pas disponible avec une licence de base ou standard.

Spécifie le fondu à effectuer pour supprimer le chevauchement de tampon.

  • NONE —Une mémoire tampon individuelle pour chaque entité est conservée, quel que soit le chevauchement. C'est la valeur par défaut.
  • ALL —Tous les tampons sont fusionnés en une seule entité, supprimant tout chevauchement.
  • LIST —Toutes les zones tampons partageant des valeurs attributaires dans les champs répertoriés (transférées depuis les entités en entrée) sont dissoutes.

La liste des champs des entités en entrée sur lesquels dissoudre les tampons en sortie. Toutes les zones tampons partageant des valeurs attributaires dans les champs répertoriés (transférées depuis les entités en entrée) sont dissoutes.

Spécifie la méthode à utiliser, planaire ou géodésique, pour créer la zone tampon.

  • PLANAR —Si les entités en entrée sont dans un système de coordonnées projetées, des zones tampons euclidiennes sont créées. Si les entités en entrée sont dans un système de coordonnées géographiques et que la distance de la zone tampon est en unités linéaires (mètres, pieds, etc., par opposition aux unités angulaires telles que les degrés), des zones tampons géodésiques sont créées. C'est la valeur par défaut. Vous pouvez utiliser le paramètre d'environnement Système de coordonnées en sortie pour spécifier le système de coordonnées à utiliser. Par exemple, si vos entités en entrée se trouvent dans un système de coordonnées projetées, vous pouvez définir l'environnement sur un système de coordonnées géographiques afin de créer des zones tampons géodésiques.
  • GEODESIC —Tous les tampons sont créés à l'aide d'une méthode de tampon géodésique préservant la forme, quel que soit le système de coordonnées en entrée.

Exporter des données dans une géodatabase

Pour exporter des données stockées dans une géodatabase, cliquez avec le bouton droit sur la géodatabase sous le dossier Bases de données de l'onglet Projet de la fenêtre Catalogue et pointez sur le menu déroulant Exporter.

Vous pouvez également exporter des données stockées dans un fichier ou une géodatabase mobile en cliquant dessus avec le bouton droit sous le dossier Dossiers de l'onglet Projet de la fenêtre Catalogue et en pointant sur le menu déroulant Exporter.

Le menu déroulant Exporter vous proposera les options suivantes :

  • Classe(s) d'entités en DAO : convertit tout ou un sous-ensemble de classes d'entités contenues dans la géodatabase en un ou plusieurs dessins DAO à l'aide de l'outil de géotraitement Exporter vers DAO.
  • Classe(s) d'entités vers géodatabase : copie la totalité ou un sous-ensemble des classes d'entités contenues dans la géodatabase vers une géodatabase cible à l'aide de l'outil de géotraitement Classe d'entités vers géodatabase.
  • Classe(s) d'entités en fichiers de formes : convertit tout ou un sous-ensemble de classes d'entités contenues dans la géodatabase en un ou plusieurs fichiers de formes dans un dossier cible à l'aide de l'outil de géotraitement Classe d'entités en fichier de formes.
  • Table(s) vers géodatabase : convertit une ou plusieurs tables d'une géodatabase en tables de géodatabase dans une géodatabase en sortie à l'aide de l'outil de géotraitement Table vers géodatabase.
  • Table(s) vers dBASE : convertit une ou plusieurs tables d'une géodatabase en un fichier dBASE dans un dossier de sortie à l'aide de l'outil de géotraitement Table vers dBASE.
  • Géodatabase vers document d'espace de travail XML : exporte les données ou la structure de la géodatabase uniquement vers un document d'espace de travail XML à l'aide de l'outil de géotraitement Exporter un document d'espace de travail XML.

L'objet Couche est essentiel pour gérer les couches qui résident dans un document ArcMap ( .mxd ) ou dans un fichier de couche ( .lyr ). L'objet couche permet d'accéder à de nombreuses propriétés de couche communes trouvées dans la boîte de dialogue Propriétés de la couche ArcMap et fournit également des méthodes pour enregistrer les fichiers de couche. La fonction Layer, la fonction ListLayers et la méthode listLegendItemLayers sur l'objet Legend fournissent toutes des moyens de référencer un objet Layer.

Il existe de nombreux types de calques et tous ne prennent pas en charge le même ensemble de propriétés. Par exemple, une couche d'entités prend en charge une requête de définition alors qu'une couche raster ne le fait pas, mais un catalogue d'images le fait. Plutôt que d'avoir à travailler avec différents objets de calque individuels pour tous les types de calques et combinaisons de propriétés possibles, une méthode de prise en charge est disponible pour aider à identifier quels types de calques prennent en charge quelles propriétés de calque individuelles. La méthode supports vous permet de tester si la couche prend en charge une propriété avant d'essayer d'obtenir ou de définir sa valeur sur un type de couche qui ne la prend pas en charge, réduisant ainsi le besoin d'une capture d'erreur supplémentaire.

Il existe essentiellement trois catégories de couches dans une carte : les couches d'entités, les couches de groupe et les couches raster. Les propriétés isFeatureLayer , isGroupLayer et isRasterLayer vous permettent d'identifier ou d'isoler la majorité des types de calques mais pas tous les types de calques. Il existe quelques couches et jeux de données spécialisés qui n'entrent pas dans l'une de ces trois catégories : sous-classes d'annotations, entités dimensionnelles, jeux de données réseau, jeux de données de MNT, jeux de données topologiques, etc. Dans ces cas, vous devrez peut-être tester d'autres propriétés pour isoler une couche d'intérêt avant d'y apporter quelque chose.

Toutes les propriétés de calque ne sont pas accessibles via l'objet Calque. De nombreuses propriétés disponibles dans la boîte de dialogue Propriétés de la couche ArcMap ne sont pas exposées à l'environnement de script arcpy (par exemple, les propriétés d'affichage, les alias de champ, la symbologie de sélection, etc.). La fonction UpdateLayer vous permet de remplacer toutes les propriétés de couche disponibles dans la boîte de dialogue Propriétés de la couche ArcMap à l'aide d'un fichier de couche ( .lyr ) contenant les personnalisations.

Les couches de groupe et autres sous-couches (par exemple, les classes d'annotations) sont traitées comme des couches ordinaires. La fonction ListLayers renvoie des valeurs d'index générées de haut en bas telles qu'elles apparaissent dans la table des matières ou telles qu'elles apparaissent dans un fichier de couche ( .lyr ). Il en va de même si un groupe de couches se trouve dans un autre groupe de couches. Par exemple, une carte avec un seul groupe de couches contenant trois sous-couches renverra une liste de quatre noms de couches, la couche de groupe étant la première et les trois sous-couches étant les deuxième, troisième et quatrième. Il existe deux manières de déterminer si un calque est un groupe de calques. Tout d'abord, vous pouvez vérifier si la couche prend en charge la propriété isGroupLayer. Deuxièmement, vous pouvez évaluer la propriété longName. La valeur longName d'un calque inclura le nom du groupe en plus du nom du calque. Par exemple, un calque nommé Layer1 dans un groupe de calques nommé Group1 aura une valeur longName de Group1Layer1 . Si la valeur du nom est égale à la valeur longName, le calque n'est pas un groupe de calques ou le calque n'est pas à l'intérieur d'un groupe de calques.

Certaines couches d'une carte ou d'un fichier de couche peuvent être protégées par mot de passe car les informations d'utilisateur et de mot de passe ne sont pas enregistrées dans le fichier de couche ou la carte. Les documents cartographiques qui contiennent ces couches invitent l'utilisateur à saisir les informations appropriées lors de l'ouverture du document. L'environnement de script arcpy.mapping supprimera, par défaut, ces boîtes de dialogue pendant l'exécution, mais cela signifie que les couches seront traitées comme si elles avaient des sources de données rompues. En d'autres termes, les calques sécurisés ne seront rendus dans aucune sortie. S'il est nécessaire que ces couches s'affichent correctement, il existe plusieurs options. Tout d'abord, enregistrez le nom d'utilisateur et le mot de passe avec les calques. Deuxièmement, la fonction de géotraitement CreateArcSDEConnectionFile vous permet de créer un fichier de connexion qui est également conservé en mémoire. Si cette fonction est exécutée avant d'ouvrir une carte ( .mxd ) avec la fonction MapDocument ou un fichier de couche avec la fonction Layer, les couches SDE seront rendues. Actuellement, il n'existe pas d'alternative aux services Web sécurisés.

La variable qui référence un fichier de couche sur le disque placera un verrou sur le fichier ( .lyr ). Il est recommandé de supprimer la référence d'objet à l'aide de la commande Python del à la fin d'un script ou dans une instruction Python try/except.

La modification de la source de données d'une couche est une exigence courante. Il existe deux méthodes sur l'objet Layer qui aident à cela. La méthode findAndReplaceWorkspacePath est destinée à remplacer tout ou partie du chemin de l'espace de travail d'un calque. La méthode replaceDataSource vous permet de modifier l'espace de travail et le jeu de données source d'une couche. Pour une discussion plus détaillée, des informations sur les paramètres, des scénarios et des exemples de code, reportez-vous à la rubrique d'aide Mise à jour et correction des sources de données avec arcpy.mapping.

Selon le type de symbologie, la symbologie d'une couche peut être modifiée. Il existe un nombre limité de types de symbologie pris en charge pour lesquels des propriétés et des méthodes sont disponibles. Il est recommandé de tester d'abord la propriété symbologieType de la couche. Si une valeur OTHER est renvoyée, la symbologie de la couche ne peut pas être modifiée. Si la valeur renvoyée n'est pas OTHER , la propriété de symbologie de la couche renvoie l'une des classes de symbologie suivantes, chacune avec son propre ensemble unique de méthodes et de propriétés : GraduatedColorsSymbology, GraduatedSymbolsSymbology, RasterClassifiedSymbology et UniqueValuesSymbology.

Des opérations de gestion du temps peuvent être effectuées pour les couches temporelles. Tous les types de calques ne prennent pas en charge les propriétés de temps. Par conséquent, il est recommandé de tester d'abord si la couche supporte le temps en utilisant la méthode des supports. Si la couche prend en charge le temps, les propriétés de temps sont accessibles à partir de la classe LayerTime.


2 réponses 2

Le curseur ne sélectionne rien, il renvoie seulement un tuple. Vous pouvez utiliser l'ObjectID renvoyé par le curseur et le transmettre à Select :


Extrait des entités d'une classe d'entités en entrée ou d'une couche d'entités en entrée,
utilisant généralement une expression select ou SQL (Structured Query Language)
et les stocke dans une classe d'entités en sortie.


Mais une option plus simple serait d'utiliser l'outil Fractionner par attributs avec le champ ObjectID comme champ fractionné :


Fractionne un jeu de données d'entrée par des attributs uniques.


Merci beaucoup! Votre première option fournie fonctionne à merveille ! Plus tard, j'examinerai votre deuxième option suggérée !

Pour exporter chaque ligne/fonctionnalité dans le curseur, vous devrez imbriquer une expression variable qui interroge le FID de la ligne du curseur actif ou un autre champ/valeur d'identifiant unique. Ensuite, vous pouvez utiliser la méthode Select en utilisant l'expression de ligne active aka clause where pour exporter la ligne active vers un nouveau fc.


Voir la vidéo: Python GIS - Open and Display a Shapefile with Geopandas