Suite

Remplacer arcpy.AddMessage() par open source ?

Remplacer arcpy.AddMessage() par open source ?


J'ai récemment hérité d'anciens scripts python contenant des modules ArcPy. J'utilise la version 10.0.

Je recherche un système de messagerie d'erreur qui remplace arcpy.AddMessage() ?


Je suppose que vous essayez de convertir vos scripts afin qu'ils puissent être utilisés dans des logiciels open source ou avec des bibliothèques open source, sinon le titre de la question n'aurait pas trop de sens pour moi.

Tout d'abord, vous devez être conscient que arcpy.AddMessage n'a de sens que dans un contexte précis: lorsqu'il est utilisé dans un outil de script qui est utilisé dans ArcGIS. Il ne fait pas beaucoup plus qu'une déclaration d'impression, mais il l'imprime sur l'interface de l'outil au lieu de votre console. Donc, si vous essayez de convertir vos scripts en utilisant l'open source, vous n'aurez qu'à remplacer ces pièces par un simple imprimer (si vous l'exécutez depuis la console ou un IDE, si vous utilisez une bibliothèque GUI telle que Tkinter ou alors PyQt, alors vous devrez utiliser différentes commandes pour afficher les messages dans votre interface).

Si vous êtes corriger spécifiquement les erreurs alors vous utiliseriez votre instruction dans un bloc try/catch ou dans une instruction conditionnelle (qui résout tout ce qui échoue).

Si vous vous en tenez à Esri, vous pouvez également utiliser la commande arcpy.AddError, mais vous devez savoir que contrairement Ajouter un message ou alors ajouterAvertissement cette commande va mettre fin à l'exécution de votre outil la seconde il apparaît! Par conséquent, faites très attention à ne l'utilisez que lorsqu'une erreur se produit vraiment, ou votre outil va planter (même s'il n'y a peut-être pas eu d'erreur du tout).


Comment vérifier si une carte réelle est chargée/ouverte dans ArcMap

je travaille avec C#, Visual Studio 2010 et ArcMap. J'ai une question assez simple à laquelle je ne suis pas sûr de la réponse en raison de mon statut Noob avec ArcObjects et ArcMap.

Je connais de nombreuses interfaces ArcObjects telles que IMxDocument , IMap , IActiveView et IPageLayout .

Je me demandais comment vérifier si une carte réelle est chargée dans ArcMap ou ouverte dans ArcMap. Je travaille sur une fonction booléenne sur un clic de bouton. Je ne sais tout simplement pas quelles interfaces ou ArcObjects (le cas échéant) seraient nécessaires pour renvoyer True si une carte est chargée ou non.


2 réponses 2

Comme alternative à la réponse de Jason, si vous vouliez vous en tenir à os.walk, je fais normalement ce qui suit pour trouver les fichiers CSV et ensuite travailler avec eux

De cette façon, vous pouvez simplement utiliser la liste de fichiers pour travailler sur

Oh, je viens de voir ton problème. Vous joignez l'ensemble des fichiers de liste pour créer votre variable full_path. Si vous n'avez pas besoin de creuser dans les sous-répertoires où se trouvent vos fichiers csv, je peux utiliser le module glob. J'ai également utilisé le caractère rawstring r ce petit gars est très utile car il vous permettra de copier et coller vos chemins sans avoir à ajouter une autre barre oblique inverse pour chaque répertoire ou les changer en barres obliques :


Projet 2 : Outil de reprojection par lots pour les jeux de données vectorielles

Certains services SIG ont déterminé une projection standard unique dans laquelle conserver leurs données sources. Les ensembles de données brutes, cependant, peuvent être obtenus auprès de tiers dans d'autres projections. Ces ensembles de données doivent ensuite être reprojetés dans la projection standard du ministère. La reprojection par lots, ou la reprojection de plusieurs ensembles de données à la fois, est une tâche bien adaptée à la création de scripts.

Dans ce projet, vous pratiquerez les principes fondamentaux de Python en écrivant un script qui re-projette les ensembles de données vectorielles dans un dossier. À partir de ce script, vous allez ensuite créer un outil de script qui peut facilement être partagé avec d'autres.

L'outil que vous allez écrire devrait ressembler à l'image ci-dessous. Il a deux paramètres d'entrée et aucun paramètre de sortie. Les deux paramètres d'entrée sont :

  1. Un dossier sur disque contenant des ensembles de données vectorielles à reprojeter.
  2. Chemin d'accès à un jeu de données vectorielles dont la référence spatiale sera utilisée dans la re-projection. Par exemple, si vous souhaitez reprojeter dans NAD 1983 UTM Zone 10, vous recherchez un jeu de données vectorielles déjà dans NAD 1983 UTM Zone 10. Il peut s'agir de l'un des jeux de données du dossier que vous avez fourni dans le premier paramètre, ou il pourrait exister ailleurs sur le disque.

L'exécution de l'outil entraîne le placement des jeux de données reprojetés sur le disque dans le dossier cible.

Conditions

Pour recevoir l'intégralité du crédit, votre script :

  • doit reprojeter les ensembles de données vectorielles shapefile dans le dossier pour correspondre à la projection de l'ensemble de données cible
  • doit ajouter "_projected" à la fin de chaque nom de jeu de données projeté. Par exemple : CityBoundaries_projected.shp
  • doit ignorer la projection des ensembles de données qui sont déjà dans la projection cible
  • doit signaler un message de géotraitement indiquant quels jeux de données ont été projetés. Dans ce message, les noms des ensembles de données peuvent être séparés par des espaces. Dans le message, n'incluez pas les ensembles de données qui ont été ignorés car ils étaient déjà dans la projection cible. Cela doit être un seul message, pas un message par ensemble de données projeté. Notez un exemple de ce type de message personnalisé ci-dessous dans la ligne "Projected . . . :"

La réussite des exigences ci-dessus est suffisante pour gagner 90 % du crédit sur ce projet. Les 10 % restants sont réservés aux efforts « au-delà » qui peuvent inclure, sans s'y limiter, les éléments suivants :

  • Votre message de géotraitement des jeux de données projetés contient des virgules entre les noms des jeux de données, sans virgule "de fin" supplémentaire à la fin.
  • Une aide utilisateur est fournie pour votre outil de script. Cela signifie que lorsque vous ouvrez la boîte de dialogue de l'outil et passez la souris sur l'icône "i" à côté de chaque paramètre, l'aide apparaît dans une boîte contextuelle. L'aide d'ArcGIS Pro peut vous apprendre comment procéder.

Vous êtes ne pas requis pour gérer les transformations de données dans ce script. Il est supposé que chaque jeu de données du dossier utilise la même donnée, bien que les jeux de données puissent se trouver dans des projections différentes. La gestion des transformations vous obligerait à ajouter un paramètre supplémentaire dans l'outil Projet et rendrait votre script plus compliqué que vous ne le souhaiteriez probablement pour cette affectation.

Exemples de données

Le dossier de données de la leçon 2 contient un ensemble de fichiers de formes vectorielles avec lesquels vous pouvez travailler lors de la réalisation de ce projet (supprimez tous les sous-dossiers de votre dossier de données de la leçon 2 - vous pouvez en avoir un appelé PracticeData - avant de commencer ce projet). Ces fichiers de formes ont été obtenus à partir du catalogue de distribution des géodonnées du département des transports de l'État de Washington, et ils représentent diverses caractéristiques géographiques autour de l'État de Washington. Aux fins de ce projet, j'ai placé ces ensembles de données dans diverses projections. Ces projections partagent le même datum (NAD 83) afin que vous n'ayez pas à faire face à des transformations de datum.

Les ensembles de données et leurs projections originales sont :

  • Limites de la ville et ÉtatRoutes - NAD_1983_StatePlane_Washington_South_FIPS_4602
  • Lignes de comté - NAD_1983_UTM_Zone_10N
  • Ferries - USA_Contiguous_Lambert_Conformal_Conic
  • Lieux peuplés - GCS_NorthAmerican_1983

Livrables

Les livrables de ce projet sont les suivants :

  • le fichier source .py contenant votre script
  • le fichier .tbx contenant votre outil de script
  • un court article (environ 300 mots) décrivant comment vous avez abordé le projet, comment vous avez réussi à surmonter les obstacles et ce que vous avez appris en cours de route. Vous devez indiquer quelles exigences vous avez satisfaites ou n'avez pas satisfaites. Si vous avez ajouté certains des efforts "au-delà", veuillez les signaler afin que le correcteur puisse les rechercher.

Les conseils suivants peuvent vous aider à améliorer vos chances de réussite avec ce projet :

    N'utilisez pas l'outil Esri Batch Project dans ce projet. Essentiellement, vous devez créer votre propre variation d'un outil de projet par lots dans ce projet en exécutant l'outil Projet dans une boucle. Votre outil sera plus facile à utiliser car il est personnalisé en fonction de la tâche à accomplir.

Il existe de nombreuses façons d'insérer "_projected" dans le nom d'un jeu de données, mais vous trouverez peut-être utile de commencer par supprimer temporairement ".shp" et de le rajouter plus tard. Pour que votre code fonctionne à la fois pour un fichier de formes (qui a l'extension .shp) et une classe d'entités dans une géodatabase (qui n'a pas l'extension .shp), vous pouvez utiliser les éléments suivants :

Dans le code ci-dessus, fc est le nom de votre classe d'entités. S'il s'agit du nom d'un fichier de formes, il inclura le .shp . La fonction de remplacement recherche n'importe quelle chaîne ".shp" (le premier paramètre) dans le nom du fichier et la remplace par rien (symbolisé dans le deuxième paramètre par des guillemets vides ""). Ainsi, après avoir exécuté ce code, la variable rootName contiendra le nom de la classe d'entités sans le ".shp" . Puisque replace(. ) ne change rien si la chaîne donnée comme premier paramètre n'apparaît pas dans fc, le code ci-dessus peut être remplacé par une seule ligne :

Vous pouvez également potentiellement couper les quatre derniers caractères en utilisant quelque chose comme

mais les nombres codés en dur autres que 0 ou 1 dans votre script peuvent rendre le code moins lisible pour quelqu'un d'autre. Voir une fonction comme replace est beaucoup plus facile à interpréter pour quelqu'un que de voir -4 et d'essayer de comprendre pourquoi ce nombre a été choisi. Vous devez donc utiliser replace(. ) dans votre solution à la place.


La première chose est que votre fonction fileExists peut être remplacée par la fonction os.path.isfile

Maintenant, ici, vous ne pouvez pas avoir une taille de chaîne négative, donc pour le rendre moins déroutant, vous pouvez simplement faire :

Cependant, je ne créerais même pas de fonction pour cela, car la chaîne vide est un False au sens booléen, donc ceci:

qui peut être embelli à l'aide de la fonction de filtre :

En parlant maintenant d'ouverture de fichiers, il est préférable d'utiliser avec instruction, c'est plus sûr, plus joli et plus pythonique. Donc ça:

Une autre chose est que les fonctions/variables python doivent être nommées en utilisant un trait de soulignement comme séparateur. Donc au final on a :

Je vois deux bonnes stratégies pour accomplir la tâche.

Une solution consiste à lire tout le texte dans une liste, puis à revenir au début du fichier et à écrire les lignes souhaitées.

L'inconvénient de cette approche est qu'elle évolue mal si le fichier est volumineux, car tout le contenu doit d'abord être lu en mémoire. L'autre approche serait d'écraser le fichier lors de sa lecture. Cela utilise deux objets fichier, chacun gardant une trace de sa propre position dans le fichier.

Notez quelques autres problèmes avec votre code.

D'abord, PPE 8, le guide de style officiel de Python, recommande lower_case_with_underscore pour les noms de fonction et deux lignes vides entre les fonctions.

La fonction fileExists ne teste pas seulement l'existence du fichier - elle vérifie en fait si vous pouvez l'ouvrir en lecture, ce qui est une condition plus stricte, car elle implique également des autorisations de fichier. Mais je ne vois aucune raison de vérifier spécifiquement l'existence du fichier. Toutes sortes d'erreurs d'E/S sont possibles, telles qu'un refus d'autorisation de système de fichiers, un système de fichiers en lecture seule, un quota de disque ou une défaillance matérielle. De plus, même si le fichier existe lorsque vous vérifiez, il pourrait disparaître pendant la fraction de seconde entre if not fileExists(…) et le véritable appel open(…). En plus de cela, votre fonction rmoveEmptyLines n'a aucun moyen de signaler un échec à son appelant. (L'impression d'un message d'erreur ne compte pas !) Par conséquent, la seule approche raisonnable est de Fais-le, et gérer toute exception qui pourrait se produire.

Tout appel open() doit être écrit à l'aide d'un avec bloc, qui fermera automatiquement le descripteur de fichier en quittant le bloc.


Script Python : utilisation des classes d'entités avec les services GP

Je travaillais sur un service de géotraitement (GP) qui pourrait permettre à un utilisateur de spécifier avec quelle classe d'entités dans une géodatabase enregistrée sur le serveur une tâche GP fonctionnera. J'ai d'abord testé à l'aide de l'outil Tronquer la table pour effacer essentiellement toutes les lignes d'une classe d'entités tout en préservant le schéma.

Après avoir créé un modèle simple avec un seul outil et un seul paramètre de modèle (table d'entrée), je l'ai exécuté avec succès et j'ai commencé le processus de publication. Pourtant, lors de la publication d'un modèle en tant que service GP, on aurait trois choix : “Valeur définie par l'utilisateur” (l'utilisateur spécifie la valeur du paramètre - par exemple, quelles fonctionnalités seront utilisées comme FeatureSet), « Liste de choix » (cet une est créée lors de l'exécution du modèle dans ArcMap et de l'ajout de plusieurs couches à la table des matières), et enfin « Valeur constante » (les mêmes données d'entrée seront utilisées pour le paramètre). Le seul choix applicable dans mon scénario consiste à utiliser une valeur définie par l'utilisateur lorsque les utilisateurs spécifient quelle classe d'entités dans la géodatabase sera utilisée. Étant donné que de nouvelles classes d'entités seront créées, l'option de liste de choix ne peut pas être utilisée. L'utilisation d'une valeur constante n'est pas non plus une option, car je souhaite laisser un utilisateur spécifier une classe d'entités de manière dynamique plutôt que de le laisser exécuter la tâche GP sur la même classe d'entités tout le temps.

Cependant, FeatureClass n'est pas un type d'entrée pris en charge pour les services GP, ce qui rend impossible la publication et l'utilisation directe de mon modèle. Cela signifie que je devrai implémenter une logique de recherche et ne transmettre qu'une chaîne au service au lieu de la classe d'entités elle-même. Une telle chaîne représenterait un nom de classe d'entités. Donc, ce que je devais faire était d'obtenir un nom de classe d'entités auprès d'un utilisateur, puis d'utiliser la logique pour ajouter le nom de la classe d'entités au chemin de la géodatabase. Le service GP trouvera ensuite la classe d'entités dans une géodatabase spécifiée au préalable et exécutera l'outil Tronquer la table.

J'ai eu du mal à rendre cela possible dans ModelBuilder en utilisant la substitution de variable en ligne pour le chemin de la table d'entrée, j'ai donc décidé de passer complètement à Python. J'ai créé un outil de script qui demande un nom de classe d'entités en entrée, puis utilise cette chaîne dans le chemin de données avec lequel le service GP peut fonctionner. Le code est comme ci-dessous :

Évaluer ce:


DEV203x Introduction à Bootstrap : Oh-oh

J'étais très heureux de voir que Microsoft propose désormais des MOOC via edX. Je me suis immédiatement inscrit à Introduction to Bootstrap et Transact-SQL. Bootstrap a ouvert ses portes le 1er avril, j'ai donc passé du temps à obtenir les vidéos, à télécharger les notes et à préparer ma section OneNote pour cela.

J'ai cliqué paresseusement sur le premier laboratoire, qui semblait prometteur - une mission détaillée, clairement conçue pour tester les connaissances acquises à partir des vidéos et des notes, avec des règles de soumission claires. J'ai ensuite fait défiler vers le bas et j'ai vu ceci:

J'ai mentionné dans plusieurs articles précédents que les évaluations par les pairs dans un MOOC sont une rupture pour moi. J'ai quelque peu changé d'avis sur l'utilisation des conférences vidéo (à peine cependant), mais faire des évaluations par les pairs une exigence est un peu trop pour moi.

Bien que mon besoin de terminer ce que j'ai commencé soit fort, j'ai aussi beaucoup d'autres choses à faire, donc pour celui-ci, je me contenterai peut-être de saisir le contenu pour un apprentissage/une référence à mon rythme à un stade ultérieur.


Afficher les sous-types et leurs descriptions pour une classe d'entités

J'ai publié cet aperçu plus tôt dans la journée pour vérifier les sous-types disponibles dans une classe d'entités donnée.

importer arcpy
ftr = r"C://Some//Arb//Dossier//work.gdb//ftr"
sous-titres = arcpy . da. ListSubtypes ( ftr )
pour k , v dans les subs . éléments ():
print k , v [ 'Name' ]

C'est assez explicite, donc je l'ai posté tel quel, comme un extrait de code utile. Les codes de sous-type sont renvoyés sous forme de clés dans le dictionnaire, tandis que les valeurs sont elles-mêmes des dictionnaires contenant toutes les propriétés du sous-type.

Je ne suis intéressé que par la description du sous-type, c'est pourquoi j'imprime la valeur dans le dictionnaire des valeurs à la clé ‘Name’. La description complète des capacités de la fonction est ici.

Sur une note sans rapport, je ne peux pas m'habituer à la nouvelle structure de l'aide en ligne.


Cary Chadwick

13h35 HAE

14h15 HAE

AUTEURS: Paula Kay Lazrus, Université St. John's

ABSTRAIT: L'idée de créer une opportunité pour les étudiants qui apprennent les SIG pour la première fois d'utiliser leurs compétences nouvellement acquises est à la fois attrayante et stimulante. En collaboration avec les jardins botaniques de New York, un projet a été développé qui permettrait aux étudiants d'appliquer les compétences qu'ils maîtrisaient encore à la production d'un produit tangible. Des paires d'étudiants ont exploré une plante particulière et sa distribution dans la région de New York, puis ont créé à la fois des mises en page de carte et une carte d'histoire finale de leur projet. Les étudiants impliqués dans le projet n'avaient aucune expérience SIG antérieure et souvent aucun accès aux logiciels SIG en dehors des laboratoires institutionnels. Les défis comprenaient l'acquisition de base de compétences suffisantes dans le délai nécessaire pour mener à bien le projet ainsi que des problèmes de compréhension des problèmes fondamentaux liés aux questions auxquelles ils ont été invités à répondre.

14h15 HAE

AUTEURS: Keith Ratner, État de Salem Glenn Hazelton, Université Northeastern

ABSTRAIT: Là où les SIG sont enseignés dans l'enseignement supérieur, dans le monde de la géographie, il a été remarqué que la discipline perd les SIG au profit d'autres domaines d'études. Où migre-t-il ? Qu'est-ce que cela signifie pour la géographie? Keith Ratner présentera la vue du point de vue de la géographie. Glenn Hazelton discutera de la gamme d'étudiants qu'il voit dans ses classes. Ensemble, nous espérons générer une discussion intéressante. Notre objectif commun est de générer une discussion sur le développement d'une approche interdisciplinaire coordonnée pour éduquer les gens sur les SIG et la science des technologies géospatiales.

14h15 HAE

AUTEURS: Lyn Malone, SIG World Views

ABSTRAIT: Les participants à cet atelier apprendront à travailler avec ArcGIS Online, StoryMaps, les applications de collecte de données mobiles telles que Collector for ArcGIS et Survey123, et d'autres ressources géospatiales historiques. Dans le cadre de cet atelier, les participants commenceront à réfléchir à l'élaboration d'une leçon ou d'un exercice pouvant être utilisé dans l'un de leurs cours. Cet atelier est fortement encouragé pour les enseignants de sciences sociales du secondaire et pour les professeurs de sciences sociales des collèges et universités.

14h45 HAE

AUTEURS: Shane Bradt, Extension coopérative UNH

ABSTRAIT: Alors que les technologies géospatiales sont enseignées en tant que sujet et utilisées dans la sensibilisation à UNH Cooperative Extension depuis près de deux décennies, l'utilisation accrue récente d'ArcGIS Online et des applications connexes a apporté des améliorations substantielles aux programmes de sensibilisation dans le New Hampshire. Autrefois axé sur les SIG de bureau et les unités GPS standard, le Centre de formation aux technologies géospatiales dispense désormais une variété d'ateliers sur les technologies de cartographie en ligne et mobiles, notamment ArcGIS Online, Story Maps, la cartographie participative, Survey123 et Collector. En plus d'aider le public NH à apprendre à utiliser ces technologies dans sa vie, UNH Cooperative Extension a commencé à intégrer des approches basées sur ArcGIS Online dans divers programmes de sensibilisation, ainsi que pour la communication et la collaboration internes. Alors que certaines applications d'ArcGIS Online ont simplement servi à améliorer la communication Web avec le public, d'autres ont profondément modifié la manière dont la programmation est fournie. Dans ces cas, non seulement ArcGIS Online a permis à UNH Cooperative Extension de créer une nouvelle programmation, mais il a également permis à l'organisation d'atteindre de nouveaux publics. Rejoignez cette session pour découvrir comment UNH Cooperative Extension utilise ArcGIS Online pour la diffusion et partagez des exemples de votre propre diffusion à l'aide de la cartographie en ligne.

14h45 HAE

AUTEURS: Mike Wagner, Écoles publiques du comté de Loudon

ABSTRAIT: Le semestre géospatial est un partenariat unique entre les écoles secondaires de Virginie et le département des sciences et technologies intégrées de l'Université James Madison (JMU). Les lycéens participant au semestre géospatial suivent des cours sur la technologie géospatiale dans leur école d'origine et peuvent obtenir des crédits auprès de JMU. Un aspect clé du programme est l'accent mis sur des projets locaux reliant les étudiants, la technologie et leur communauté. Mike Wagner, enseignant principal pour les SIG dans les écoles publiques du comté de Loudon, partagera le modèle de mise en œuvre de son comté pour ce programme passionnant.

15h30 HAE

Comment enseignez-vous aux étudiants à utiliser les SIG et d'autres technologies géospatiales ? Qu'est-ce qui a le mieux fonctionné pour vous et quels conseils avez-vous pour les débutants ?

Réseaux d'échange de tables rondes
Les sessions finales de la journée offrent aux participants des opportunités de réseauter avec d'autres sur des sujets critiques en matière d'éducation et de SIG. Le but de ces sessions est de partager des idées, des ressources, des projets et des stratégies d'enseignement qui ont du succès. Les sessions seront animées par des animateurs de discussion, mais le contenu de la discussion sera totalement façonné par les participants. Les discussions de la table ronde seront résumées lors de la séance de synthèse finale.

15h30 HAE

Comment avez-vous utilisé le SIG et d'autres technologies géospatiales pour mettre en œuvre votre propre programme ?

Réseaux d'échange de tables rondes
Les sessions finales de la journée offrent aux participants des opportunités de réseauter avec d'autres sur des sujets critiques en matière d'éducation et de SIG. Le but de ces sessions est de partager des idées, des ressources, des projets et des stratégies d'enseignement qui ont du succès. Les sessions seront animées par des animateurs de discussion, mais le contenu de la discussion sera totalement façonné par les participants. Les discussions de la table ronde seront résumées lors de la séance de synthèse finale.

15h30 HAE

Qu'est-ce que vous appréciez le plus et le moins dans la Journée des éducateurs SIG telle qu'elle est actuellement configurée ? Que voudriez-vous voir inclus d'autre?

Réseaux d'échange de tables rondes
Les sessions finales de la journée offrent aux participants des opportunités de réseauter avec d'autres sur des sujets critiques en matière d'éducation et de SIG. Le but de ces sessions est de partager des idées, des ressources, des projets et des stratégies d'enseignement qui ont du succès. Les sessions seront animées par des animateurs de discussion, mais le contenu de la discussion sera totalement façonné par les participants. Les discussions de la table ronde seront résumées lors de la séance de synthèse finale.

16h15 HAE

17h00 HAE

7h30 HAE

7h30 HAE

7h30 HAE

8h00 HAE

8 h 45 HAE


Dimanche 15 juillet 2018

Décisions de localisation

La recherche de l'endroit idéal pour vivre peut être délicate lorsqu'il y a plusieurs facteurs à considérer. Cette semaine, dans Applications in GIS, nous avons été chargés d'aider un couple fictif à trouver un endroit idéal pour vivre près de l'Université de Floride et du North Florida Regional Medical Center (leurs lieux de travail). Les deux lieux de travail se trouvent dans la ville de Gainesville, en Floride, située dans le comté d'Alachua. En plus d'envisager les déplacements quotidiens pour les deux parties, le couple souhaite vivre dans un quartier où se trouvent des personnes proches de leur tranche d'âge (40 à 49 ans) et une majorité de propriétaires.

Pour commencer l'analyse, des données raster ont été compilées pour montrer la distance euclidienne entourant à la fois UF et NFRMC. Ensuite, des données raster supplémentaires ont été créées à partir des informations du recensement pour déterminer où résidaient les personnes du même groupe d'âge que le couple ainsi que l'endroit où la majorité des propriétaires vivaient dans la région. Chaque ensemble de rasters a été reclassé en conséquence pour être utilisé ultérieurement dans une analyse pondérée. Toutes les données devaient être dans le même format pour être utilisées de manière appropriée dans l'outil d'analyse pondérée et chaque ensemble de données devait donc être reclassé.

Voici mes cartes pour cette semaine. La première carte montre toutes les données individuellement dans des cartes séparées. Il y a des secteurs de recensement surlignés dans chacun pour montrer les zones potentielles de vie si seulement ces données étaient prises en compte. La deuxième carte contient les résultats de l'analyse pondérée. À l'origine, le couple souhaitait que leurs quatre demandes soient prises en compte de manière égale dans l'analyse, mais après avoir vu la circulation dans la région, il a décidé qu'il fallait mettre davantage l'accent sur l'emplacement par rapport au travail. Le premier cadre de la deuxième carte illustre les résultats de la pondération de la distance entre l'UF et le NFRMC à 30 % et les considérations relatives aux données du recensement à 20 %. La deuxième image illustre les résultats de la pondération égale de chaque facteur à 25 %. J'ai décidé de ne modifier que légèrement les pourcentages pour la distance du travail car les conditions de déplacement des heures supplémentaires peuvent changer avec la mise en place de nouvelles constructions de routes ou de transports en commun. Les considérations de style de vie dans une région ont tendance à changer plus lentement, ou les emplois peuvent changer, et j'ai donc décidé de ne pas trop insister sur le temps de trajet, mais de l'augmenter comme demandé.


Voir la vidéo: ArcPy: Beyond the Basics of