Accrocher des points aux lignes dans ArcGIS Desktop et automatiser à l'aide de VBA?

11

J'utilise ArcGIS Desktop et je souhaite créer un réseau avec une entité ponctuelle et une entité linéaire. J'ai besoin que mes entités ponctuelles soient sur les entités linéaires, je devrais donc effectuer un accrochage point à ligne.

Cependant, je ne sais pas comment le faire dans ArcGIS, puis l'automatiser avec du code pour cela dans VBA.

PolyGeo
la source
Avez-vous essayé l'environnement de capture de l'éditeur?
Jakub Sisak GeoGraphics
"et ensuite l'automatiser avec du code d'écriture pour cela dans VBA"
Simon
si les points ne contiennent pas les informations critiques. vous pouvez également transformer votre ligne en points
tarif nadeem

Réponses:

22

Accrochage de points à une ligne à l'aide des outils de géotraitement ArcGIS

Hypothèses:

Vous avez un calque de points et un calque de lignes. Vous souhaitez qu'un point soit accroché au calque de ligne.

Instructions

1. Utilisez l' Nearoutil pour trouver des emplacements d'accrochage

  1. Dans le volet Boîte à outils d'ArcGIS, sélectionnez Analysis Tools-> Proximity->Near
  2. Choisissez votre couche de points comme Input features, votre couche de lignes comme Near features. Assurez-vous de cocher la Locationcase.
  3. Quatre nouveaux attributs seront ajoutés à votre couche point, NEAR_FID, NEAR_DIST, NEAR_Xet NEAR_Y.

2. Exportez le calque sous forme de tableau

  1. Ouvrez la table attributaire de la couche de points
  2. Cliquez sur le Table Optionsbouton dans la fenêtre du tableau d'attributs et choisissez Export.... L'enregistrer est un .dbffichier dbase ( ).
  3. Lorsque vous êtes invité à ajouter le tableau à votre carte actuelle, choisissez Yes.

3. Recréez la couche de points à partir du tableau

  1. Recherchez le tableau que vous venez d'ajouter dans votre Table of Contentsvolet. Vous devrez peut-être changer d'onglet si vous utilisez ArcGIS 9.3 sur l' Sourceonglet.
  2. Cliquez avec le bouton droit sur le tableau et choisissez Add XY Data.
  3. Assurez-vous que le champ X est défini sur NEAR_Xet le champ Y sur NEAR_Y. Ajustez le système de coordonnées si nécessaire.
  4. Votre nouveau calque d'événement de point doit apparaître dans la table des matières. Faites un clic droit dessus et sélectionnez Data-> Export data...pour enregistrer le calque de manière permanente en tant que fichier de formes.
fmark
la source
Merci pour cette réponse. C'est une méthode claire que je peux essayer immédiatement. Je peux travailler avec les résultats pour obtenir ce dont j'ai besoin.
cwb
Il convient de mentionner que cette solution fonctionne pour les utilisateurs qui ont une licence ArcInfo (avancée).
Hornbydd
6

ArcGIS 9.3.x:

Dans l'interface ArcGIS, utilisez l' environnement de capture dans la barre d'outils de modification.

Par programme, vous pouvez trouver un certain nombre d'exemples Visual Basic basés sur la capture sur la page des ressources ESRI (remarque: personnellement, j'aime utiliser l'ancienne page . Je pense qu'il est plus facile de trouver des choses. Ressources VB ). Voir, par exemple, le code VB pour "accrochage en bloc" : "La commande d'accrochage en bloc prendra les fonctionnalités sélectionnées et tentera de les accrocher en fonction des paramètres actuels de l'environnement d'accrochage de l'éditeur".

ArcGIS 10:

glennon
la source
1

Vous pouvez le faire avec Hawths Analysis Tool. Vous pouvez le télécharger ici .

Je l'ai trouvé ici pour ArcGis 9.3 mais je vous préviens que je ne l'ai pas testé. Si vous avez le temps, vous pouvez l'essayer.

com
la source
Je l'ai, mais cela ne peut pas fonctionner avec ArcGIS 9.3.
J'ai supprimé votre deuxième réponse et l'ai fusionnée dans celle-ci.
fmark
0

Supposons que vous disposez de l'extension d'analyse de réseau pour ArcGIS (9.3) Sp3: votre «réseau»

Création d'un réseau> Arcatalog (vous devez d'abord comprendre le TYPE de réseau que vous essayez de créer!) Http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Creating_a_network_dataset

Vous pouvez automatiser cela avec ModelBuilder (Python)

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Add_Locations_(Network_Analyst )

{unité linéaire}
Tolérance de recherche pour localiser les entités en entrée sur le réseau. Le paramètre comprend une valeur et des unités pour la tolérance.

{source {snap type}; source {snap type} ...} point et ligne Vous permet de spécifier quelles sources de votre jeu de données réseau seront recherchées lors de la recherche d'emplacements , ainsi que de spécifier les portions de géométrie qui seront utilisées.

Mapperz
la source
0

De nombreux outils sont disponibles sur Arcscripts. Voir cette recherche

Je ne peux pas en témoigner, mais le programme Snap and split semble correspondre à vos besoins?

Faites-moi savoir si vous avez des problèmes pour "l'installer" ou l'utiliser.

Simon
la source