J'utilise ArcMap 10.2.2 avec une licence avancée. J'ai utilisé ArcMap pour d'autres analyses de base, mais je suis relativement nouveau dans le programme et n'ai que des compétences de base en codage, sans expérience SQL en dehors des requêtes très basiques utilisant les générateurs de code SQL dans ArcMap.
J'ai des polygones de l'aire de répartition géographique des espèces et j'ai un tableau avec une liste des pathogènes / maladies véhiculés par ces espèces. Certaines espèces sont porteuses de multiples agents pathogènes. Dans un monde idéal, je joindrais les polygones des gammes au tableau des espèces + agents pathogènes et conserverais les données polygonales / spatiales, mais il ne semble pas qu'il y ait un outil SIG pour le faire (je vais comptez plus tard les agents pathogènes qui se chevauchent, il est donc important que chaque combinaison espèce-agent pathogène ait sa propre caractéristique, plutôt qu'une caractéristique qui possède les informations pour plusieurs agents pathogènes). Voici à quoi ressemblent mes données (# 1 & # 2, # 3 pour plus tard):
Tableau d'attributs pour les entités spatiales:
Tableau sans aucune donnée spatiale:
(Veuillez noter qu'il ne s'agit pas de données réelles et que les combinaisons pathogène-espèce peuvent ne pas être réelles. J'ai en fait 115 polygones et 519 lignes de tableau. Les espèces transportent entre 1 et 40 agents pathogènes et donc les espèces ont entre 1 et 40 lignes dans ma table)
En prime, en raison des futures analyses que je dois faire, j'aimerais idéalement pouvoir faire cette jointure un-à-plusieurs de sorte que je puisse garder une colonne supplémentaire de données du tableau (voir ci-dessous pour un exemple de à quoi cela pourrait ressembler). Cependant, cela est moins important car si je peux comprendre comment faire la jointure, je peux simplement refaire l'analyse.
Il y a quelques solutions que j'ai trouvées à ce problème, mais elles n'ont pas fonctionné pour moi pour les raisons énumérées ci-dessous:
Solution 1: le blog de David Aalbers - Je suis trop novice pour comprendre comment modifier le nouveau script et comment l'importer dans ArcMap. J'ai essayé l'ancien script et il a juste généré une tonne de polygones vides intitulé test, test_1, test_1_1, test_1_1_1, etc.
Solution 2: jointure un-à-plusieurs - J'ai essayé d'utiliser l'outil Créer une table de requête (et je n'ai aucune connaissance de SQL, bien que j'aie utilisé le générateur d'expressions) et j'ai eu l'erreur 000383: problème avec une table, impossible de trouver l'espace de travail & Échec de l'exécution (MakeQueryTable). Tous mes fichiers se trouvent dans le même dossier, mais ils ne se trouvent pas dans une géodatabase.
Réponses:
Pour multiplier les fonctionnalités, procédez comme suit (disponible pour ceux qui ont ArcGIS 10.1 ou supérieur).
Les entités se multiplieront dans une nouvelle classe d'entités où chaque entité sera présente (même si elle n'avait pas de correspondance dans le tableau) et là où il y avait une correspondance 1: M auparavant, les entités seront multipliées pour faire un 1: 1 faire correspondre chaque fonctionnalité à toutes ses entrées de table. Le champ ID unique que vous avez créé à l'étape 2 vous permettra de relier les polygones multipliés à l'ensemble de polygones unique d'origine. Avec la nouvelle classe d'entités d'entités multipliées, vous pouvez effectuer des sélections sur les champs de table, les résumés, les jointures spatiales, etc.
Si vous souhaitez générer une valeur d'identification unique qui représente chaque combinaison unique d'espèce et de maladie, vous pouvez utiliser la version 10.2 de l'outil décrit dans ce billet de blog . Le fait d'avoir ce type de clé vous permet de l'utiliser pour effectuer des jointures standard vers des tableaux récapitulatifs et des statistiques basées sur une relation multi-champs en remplacement de la création d'une relation multi-champs réelle à l'aide d'une configuration de création d'une table de requête.
Voici une bonne référence d'esri: https://support.esri.com/en/technical-article/000001228
la source
not
le même nombre de fonctionnalités ..."Requête SQL:
la source