Créer des fonctionnalités en double basées sur la conversion plusieurs à une de la table associée?


11

J'ai besoin de créer des entités en double (dans ce cas des parcelles), en utilisant une table associée pour remplir les champs ID. Essentiellement, je dois utiliser une table associée de propriétaires de colis pour créer des parcelles en double, chacune avec son propre ID unique à partir de la table de propriétaire associée. La table associée contient déjà le lien plusieurs-à-un vers les parcelles, je veux juste forcer une relation un-à-un entre les propriétaires et les parcelles, en créant une parcelle en double pour chaque enregistrement de propriétaire.

J'utilise ArcGIS Desktop 9.3.1.


2
Pourquoi ne pouvez-vous pas simplement joindre la table d'entités à la table propriétaire? Vous obtiendrez toujours plusieurs lignes par forme (car ce sera une relation un-à-plusieurs, fonction au propriétaire), ce qui signifie essentiellement que vous verrez une relation "un-à-un" lors de l'affichage des données tabulaires .
Michael Todd

Quel logiciel? quelle version?
Jay Cummins

ArcGIS 9.3.1 Je voudrais réellement dupliquer la géométrie et pas seulement voir un 1: 1 dans le tableau.
Jodi

Étant donné que chaque polygone superposerait un polygone de la même forme exacte, vous ne glanerez vraiment aucun avantage (à ce que je pense) d'avoir plusieurs formes. Faites-vous cela pour autre chose que de symboliser des entités sur une carte?
Michael Todd

1
Ne pas utiliser pour symobliser des fonctions. En créant des formes en double, je veux gagner la capacité de trouver l'emplacement spatial d'une entité dans une table associée (une inverse ou plusieurs pour un, pour ainsi dire). Et en ayant des formes en double «empilées» les unes sur les autres, on peut utiliser l'outil de sélection ou d'identification pour capturer tous les enregistrements sans avoir à rechercher des enregistrements dans une table associée.
Jodi

Réponses:


9

Je viens de le faire avec notre fonctionnalité de parcelle et notre table propriétaire.

j'ai fait une jointure sur les parcelles aux propriétaires, et en sélectionnant "Conserver uniquement les enregistrements correspondants" - juste après la jointure - faites une "Copie des fonctionnalités" à partir d'ArcToolbox - et cela fera des doublons de toutes les parcelles où il y a des propriétaires pour cela.

Cela a fonctionné pour moi ... enfin ...


5

Dans ArcMap 10, utilisez la table MAKE QUERY. Tout d'abord, assurez-vous que la table et la classe d'entités se trouvent dans la même géodatabase. L'outil MAKE QUERY TABLE créera une couche d'entités. Vous devrez donc utiliser COPY pour créer une classe d'entités permanente. Vous pouvez ensuite exporter cette classe d'entités vers un fichier de formes.


Cela semble être la "bonne" façon de le faire si vous ne voulez pas seulement une table, mais que les polygones soient également dupliqués. Si vous voulez une sortie de couche d'entités, vous devez d'abord ajouter la couche d'entités (et n'oubliez pas d'inclure "layer.Shape" comme variable sélectionnée), et vous ne pourrez pas la revoir à moins de la copier / exporter ... mais il gère parfaitement la jointure un-à-plusieurs, table-à-polygone.
ORH

2

Nous utilisons une vue spatiale dans SDE pour obtenir un résultat similaire. Dans notre cas, c'est parce que nous avons des parcelles avec plusieurs propriétaires (condos, maisons en rangée, etc.). Nous importons un fichier dans SDE tous les soirs qui contient tous les propriétaires fonciers du comté, chacun avec un identifiant unique se rapportant à une parcelle spécifique. Nous créons une vue spatiale à l'aide de cette table et de notre classe d'entités polygones de parcelles. Le résultat est une vue spatiale avec des parcelles empilées, une parcelle pour chaque propriétaire individuel. Lorsque vous identifiez cette couche dans ArcMap, vous obtenez un résultat pour tous les propriétaires. Nous sommes à Arc 9.3.1. Cette couche a été très bénéfique pour notre service fiscal.


Malheureusement, aucun SDE ou INFO n'est disponible. Je pense que ce n'est pas possible dans ArcView?
Jodi

Avec ArcMap, vous devez disposer d'une licence ArcSDE que vous pouvez connecter à SQL Server Express. Vous devriez pouvoir pousser votre classe d'entités parcelles et votre table propriétaire dans la base de données, créer votre vue spatiale, puis la repousser à nouveau en tant que fichier de formes ou géodatabase personnelle / fichier (dérouler la relation).
mwalker

2

La réponse de Mads Grens fonctionne parfaitement.

  1. Vous joignez votre table propriétaire à votre table de parcelle avec l'option Conserver uniquement les enregistrements correspondants activée.

  2. Utilisez la fonction Copier des entités dans ArcToolbox (Outils de gestion des données -> Entités) pour copier vos parcelles dans une nouvelle classe d'entités. La nouvelle classe d'entités contient chaque parcelle une fois par propriétaire, ce qui signifie que si une parcelle a deux propriétaires, la parcelle figurera deux fois dans la nouvelle classe d'entités - elle est simplement dupliquée avec l'outil de fonctions de copie.

Tout cela, vous pouvez le mettre dans un modèle dans Model Builder - Vous trouverez Ajouter une jointure sous Outils de gestion des données -> Jointures. Le modèle peut ensuite être exécuté à chaque fois que vos données de base sont mises à jour.


Excellent! Je viens d'essayer votre méthode et elle fonctionne parfaitement. Savez-vous pourquoi cela fonctionne? Je suis cependant content que ce soit le cas; Je suis à court d'explication. J'aimerais vraiment comprendre la logique derrière l'opération car elle ne semble pas être documentée.
Brent Edwards

Puis-je simplement vérifier. Votre couche «d'entités» doit-elle être liée au tableau avant de joindre le tableau aux «entités»? J'ai essayé les deux et les deux ne fonctionnent pas.
Howeitzer


0

Sélectionnez simplement les parcelles que vous souhaitez dupliquer (une clause 'where in' fonctionnerait bien) et créez un nouveau fichier de formes de la sélection. Fusionnez les deux fichiers. Terminé.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.