Ingénierie des données spatiales à l’aide de Dask dans ArcGIS Pro

La sphère de données du monde croît à un rythme exponentiel, ce qui rend pertinente l’exécution d’une analyse appropriée pour obtenir des idées et des informations, qui sont nécessaires pour guider et conduire diverses décisions. La question de ‘où?’ devient une partie intégrante de la prise de décision, car presque tous les points de données ont une localisation géographique.
Pour effectuer une analyse efficace des données, sur «où», nous devons effectuer une ingénierie des données appropriée. L’ingénierie des données fait référence à la planification, à la préparation et au traitement des données pour les rendre plus utiles à l’analyse. Dans cet article, nous allons effectuer l’ingénierie des données à l’aide d’ArcGIS Pro, du bloc-notes ArcGIS et intégrer une bibliothèque open source – Dask.
Pandas ont été l’un des outils de science des données les plus populaires et préférés utilisés dans Python langage de programmation pour l’analyse et l’analyse des données. Les pandas ont leurs propres limites en ce qui concerne les mégadonnées en raison de son algorithme et des contraintes de mémoire locale.
Cependant, Dask est une bibliothèque Python open-source et disponible gratuitement. Dask fournit des moyens de faire évoluer les pandas, Scikit-Learn, et Numpy workflows plus natifs, avec un minimum de réécriture. Il existe trois (3) principaux types d’interfaces utilisateur de Dask, à savoir
- tableau,
- sac, et
- trame de données.
Nous nous concentrerons principalement sur Dask dataframe dans cet article. Considérez Dask comme une extension des Pandas en termes de performances et évolutivité. Ce qui est encore plus cool, c’est que vous pouvez basculer entre la trame de données Dask et la trame de données Pandas pour effectuer toute transformation et opération de données à la demande. Il s’agit d’une bibliothèque flexible pour le calcul parallèle distribué en Python. Lis plus.
ArcGIS Pro est la dernière application professionnelle de système d’information géographique (SIG) de bureau de Esri. Avec ArcGIS Pro, vous pouvez explorer, visualiser et analyser des données; créer des cartes 2D et des scènes 3D; et partagez votre travail.
Pour commencer la session d’ingénierie des données, nous devons effectuer quelques opérations préliminaires sur ArcGIS Pro, qui comprend
- Démarrage d’un nouveau projet et d’un bloc-notes jupyter dans ArcGIS Pro
- Installation de la bibliothèque Dask sur ArcGIS Pro
Démarrage d’un nouveau projet et d’un bloc-notes jupyter dans ArcGIS Pro: Après une installation correcte, les étapes suivantes vous aideront à démarrer votre premier projet.
Installation de la bibliothèque Dask sur ArcGIS Pro: L’expérience python a été intégrée à ArcGIS via le gestionnaire de packages «Conda». Le gestionnaire de paquets «Conda» automatise l’utilisation des bibliothèques python et la gestion de l’environnement de travail. Éclaircissons le sens de certaines terminologies.
- Environnement: dossier ou répertoire contenant une collection de packages ‘Conda’.
- Packages: Un fichier compressé qui contient un logiciel python.
- Canal: URL qui mène à un référentiel.
- Référentiel: un emplacement de stockage pour les packages.
Les étapes requises pour installer Dash dans ArcGIS Pro sont décrites ci-dessous:
Ce cahier décrit le processus de téléchargement et de préparation des données des élections présidentielles aux États-Unis. Vous allez corriger les valeurs manquantes, reformater les types de données et restructurer le format d’une table. Les ressources de cet article peuvent être trouvées ici.
Charger et préparer des données
Pour télécharger et préparer les données électorales, vous utiliserez ArcPy, l’API ArcGIS pour Python et un cadre de données Pandas et Dask. Tout d’abord, vous importerez ces modules pour les utiliser. Ensuite, vous allez créer une variable pour les données électorales du comté des États-Unis et utiliser cette variable pour lire les données dans un cadre de données Dask.
Nettoyage des données
À partir de l’aperçu de l’ensemble de données ci-dessus, on peut observer que ‘state_po’ est un acronyme pour la fonctionnalité ‘state’. Pour rendre les données plus propres, nous devons supprimer cette fonctionnalité redondante.
Les données électorales incluent les enregistrements qui manquent de données dans le FIPS, parti et votes des candidats champ. Ces données manquantes sont appelées valeurs nulles. Nous devons trouver des moyens de travailler avec des fonctionnalités avec des valeurs manquantes après une identification appropriée.
- Remplissez-les d’une valeur
- Supprimer cette instance dans l’ensemble de données
La stratégie de traitement des valeurs manquantes que nous utiliserons ici consistera à remplacer les valeurs manquantes par une valeur valide et représentative. Ceci peut être réalisé avec la trame de données Dask en utilisant le fillna méthode.
le «FIPS» et «Votes candidats» les caractéristiques sont à la fois numériques. Dans ce scénario, puisque les données continues, nous pourrions utiliser la moyenne ou la médiane serait un bon représentant de la tendance centrale des caractéristiques. Dans ce cas, nous remplirons les valeurs manquantes avec la moyenne de ces caractéristiques.
Il nous reste des valeurs manquantes dans fête fonctionnalité. Les valeurs manquantes sont assez grandes, il est donc essentiel pour nous de faire un bon choix dans quoi le remplir. Voyons maintenant les valeurs uniques de la fonctionnalité. Comme on le voit ci-dessous, cela représente les partis votants aux élections. Pour avoir un ensemble de données non biaisé, nous remplirons les valeurs manquantes par «non enregistré».
Explorer et gérer les types de données
En examinant vos données, vous remarquez que FIPS champ est considéré comme un champ numérique au lieu d’une chaîne. Par conséquent, les zéros non significatifs des valeurs FIPS ont été supprimés. Les valeurs FIPS résultantes n’ont que quatre caractères au lieu de cinq. Vous déterminerez le nombre d’enregistrements manquant des zéros non significatifs et ajouterez ou ajouterez le zéro manquant.
De plus, des champs comme an doit être une valeur entière plutôt qu’un type de données flottant.
Reformater la structure de la table
Actuellement, chaque enregistrement du tableau correspond à un candidat et à ses votes dans un comté. Vous devez reformater le tableau afin que chaque enregistrement corresponde à chaque comté, avec des champs affichant les votes des différents candidats au cours de cette année électorale.
Il est possible de le faire en utilisant le Outil de géotraitement de tableau croisé dynamique ou Tableaux croisés dynamiques Excel, mais Python peut faciliter l’automatisation et le partage.
L’animation ci-dessous illustre les étapes de la restructuration du tableau:
La cellule de code suivante effectue ces étapes
Calculer des colonnes supplémentaires: Ingénierie des fonctionnalités
Ici, nous utiliserons les valeurs du tableau mis à jour pour ajouter des colonnes d’informations supplémentaires, telles que le nombre de votes pour un parti non majeur, le pourcentage d’électeurs pour chaque parti, etc. Chaque colonne est appelée attribut de l’ensemble de données.
Geoenable les données
Vous utiliserez éventuellement ces données dans une analyse spatiale. Cela signifie que les données doivent inclure des informations de localisation pour déterminer où se trouvent les données sur une carte. Vous allez géo-activer les données ou ajouter des emplacements aux données en utilisant les données de comté géo-activées existantes.
Rejoignez les données
Vous disposez d’une trame de données avec des données électorales (df) et un cadre de données spatialisé des données de géométrie du comté (counties_df). Vous fusionnerez ces ensembles de données en un seul.
Interroger et calculer des attributs
Étant donné que vous avez la population en âge de voter pour 2016, vous pouvez maintenant calculer la participation électorale moyenne (participation électorale) pour 2016. La base de données comprend des enregistrements de 2010-2016 mais n’a qu’une population en âge de voter pour 2016. Vous devrez créer un sous-ensemble de données pour 2016 avant de calculer la participation électorale.
Valider les données
Avant de poursuivre la préparation d’autres données, vous devez confirmer que les données de sortie ont été créées avec succès.
Tout d’abord, vous validerez les valeurs de participation électorale. Vous supprimerez les valeurs nulles et comme ces valeurs représentent une fraction (nombre total de votes divisé par la population en âge de voter), vous confirmerez que les valeurs varient entre 0 et 1.
Mettre à jour les données validées
Après avoir examiné les données sur la population en âge de voter du Census Bureau pour 2016, vous avez déterminé que ces comtés ont une population en âge de voter faible avec une marge d’erreur assez élevée. C’est peut-être la raison pour laquelle ces pays ont un taux de participation supérieur à 100%.
Vous recalculerez le champ de participation électorale pour ces comtés en utilisant la plage supérieure de leur marge d’erreur:
- Comté de San Juan, Colorado: 574
- Comté de Harding, Nouveau-Mexique: 562
- Comté aimant, Texas: 86
- Comté de McMullen, Texas: 566
Ces informations ont été extraites de ici.
Convertir des trames de données en classes d’entités pour l’analyse spatiale
Vous utiliserez l’API ArcGIS pour Python, importée au début de ce script, pour exporter la trame de données spatialisée vers une classe d’entités.
Remarque: L’exécution de la cellule suivante peut prendre quelques minutes
En haut de la page, cliquez sur l’onglet Carte d’ingénierie des données. Faites glisser l’onglet de la carte Data Engineering pour l’afficher comme sa propre fenêtre. Passez en revue la classe d’entités qui a été ajoutée à la carte d’ingénierie des données.
La couleur des données variera chaque fois qu’elles seront ajoutées à la carte.
J’espère que cet article vous fera apprécier l’importance de l’ingénierie des données pour l’analyse spatiale dans ArcGIS Pro Merci d’avoir lu.
En savoir plus sur Nuage de Saturne