Fractionnement des routes à l'intersection pour ArcGIS Network Analyst?

15

J'ai une classe d'entités de géodatabase fichier représentant les routes d'une ville. Les routes ne sont pas divisées aux intersections. ArcGIS nécessite que les routes soient divisées aux intersections, sinon il suppose que les routes ne sont pas connectées.

Cette image montre le modèle de connectivité pour ArcGIS Network Analyst, lorsque les routes ne sont pas séparées. Connectivité

Comment puis-je corriger ce problème et diviser les routes là où elles se croisent?

Devdatta Tengshe
la source
3
Je sais que cela pourrait causer des problèmes dans les zones de passage supérieur / inférieur. J'ai des points où il y a des passages supérieurs / inférieurs, et ceux-ci seront corrigés manuellement, car ils sont limités et gérables en nombre dans cette ville.
Devdatta Tengshe

Réponses:

19

L' outil de géotraitement Feature To Line (gestion des données) peut être utilisé pour «nettoyer» les données.

Le fichier d'aide mentionne:

Lorsque des lignes d'entrée ou des limites de polygones se touchent, se croisent ou se chevauchent à des emplacements autres que leurs sommets de début et de fin, elles seront divisées à ces intersections; chacune des lignes divisées deviendra une fonction de ligne de sortie. Si une ligne d'entrée ou une limite de polygone n'est pas coupée par une autre entité, sa forme entière sera toujours écrite en tant qu'entité linéaire.

En outre, n'oubliez pas de définir l' option Conserver les attributs sur true, afin de conserver les attributs dans le fichier de sortie.

Devdatta Tengshe
la source
C'est l'option la plus efficace, et vous pouvez aller plus loin lorsque vous définissez une cluster_tolerance appropriée pour `` corriger '' les sous-dépassements et les dépassements mineurs dans les données également (mais attention, la valeur de tolérance ne simplifie pas les données au-delà de la précision spatiale utile ).
ccn
Il vaut la peine d'ajouter que si vous souhaitez effectuer la combinaison de clusters en tant qu'étape distincte, vous pouvez utiliser l'outil Intégrer.
fmark
De plus, si vous n'êtes pas chanceux d'avoir une licence avancée, vous pouvez utiliser l'outil de séparation des lignes avec des lignes dans QGIS via le menu de traitement (> version 2.8) et ramener les résultats dans Arc.
Oliver Burdekin
Vous devriez probablement noter que cela nécessite une licence de niveau avancé, toujours le cas dans ArcGIS 10.4.1.
PolyGeo
6

Vous pouvez utiliser l' outil Planariser les lignes dans ArcGIS (une licence ArcEditor ou ArcInfo est requise).

Gardez cependant à l'esprit que vous perdriez les informations de passage supérieur / inférieur dans ce cas, car toutes les lignes qui se croisent seront divisées. Des informations plus générales sur les lignes de division sont disponibles ici .

Alex Tereshenkov
la source
Bien que cela soit en effet utile, cela nécessiterait une édition manuelle dans une session d'édition.
Devdatta Tengshe
2
OK, bien sûr. Utilisez ensuite l'outil Feature to Line GP qui a des fonctionnalités assez similaires à Planarize Lines. La seule différence dans le cas des lignes coïncidentes dans une seule classe d'entités est que certaines lignes dupliquées seront créées dans la classe d'entités en sortie (c'est du moins ce que j'ai). J'ai ensuite utilisé les outils de recherche et de suppression de GP identiques pour gérer ce scénario ( resources.arcgis.com/en/help/main/10.1/index.html#//… ).
Alex Tereshenkov
3

ET GeoWizards a un outil de polyligne avec calque divisé qui pourrait fonctionner pour vous. Il nécessite le calque de polyligne que vous souhaitez fractionner (crée un nouveau fichier de formes ou classe d'entités) et un calque qu'il utilise pour fractionner les lignes. Je l'ai utilisé pour diviser des tuyaux (polyligne) en zones (polygone) et cela a bien fonctionné, mais cela fonctionne également avec deux polylignes.

Si toutes vos routes font partie d'une seule classe de fichiers de formes / d'entités, vous devriez pouvoir l'ajouter deux fois à votre mxd et en renommer une. c'est-à-dire routes1 et routes2 et ensuite utiliser routes1 pour être divisé et routes2 pour définir où le premier doit être divisé. Je n'ai pas essayé cela donc j'espère que cela fonctionne aussi bien en pratique qu'en théorie.

Sarah
la source
2

Cela fonctionnerait dans PostGIS, mais j'ai lu qu'ArcGIS a également une interface SQL. Celui-ci sélectionne. Utilisez «sélectionner dans» si vous souhaitez enregistrer des données et ajouter une séquence pour la clé primaire

sélectionnez * dans (sélectionnez r.id, st_Dump (ST_Split (r.the_geom, r2.the_geom))
de la route de la table comme r, route comme r2 
où r.id! = r.id ET ST_Intersect (r.the_geom, r2.the_geom)) comme substance

qui devrait renvoyer des données comme

| id | geom |
--------
| 1 | xxxx |
| 1 | aaaa |
| 2 | zzzz |

si je n'ai pas fait d'erreurs

simplexio
la source
Il ne donne pas la sortie attendue.
Devdatta Tengshe
1

Utilisation de Planarize pour diviser des lignes aux intersections

  1. Dans ArcMap, cliquez sur l'outil Modifier l'outil Modifier dans la barre d'outils de l'éditeur.
  2. Sélectionnez les entités linéaires que vous souhaitez diviser aux intersections.
  3. Cliquez sur le bouton Planariser les lignes Bouton Planariser de la barre d'outils Topologie.
  4. Cliquez sur OK.

Les lignes sont divisées en nouvelles entités où elles se croisent.

Attention: Dans Arc 10 et supérieur, cet outil se trouve dans la barre d'outils de modification avancée.

Milad Baradaran Kayal
la source
Réponse en double à celle donnée déjà par @Alex Tereshenkov un an plus tôt. Mais ici, il n'est pas mentionné que vous aurez besoin d'une licence ArcGIS supérieure, ce qui est important de savoir si vous souhaitez utiliser cet outil.
Generic Wevers
-1

Depuis l'aide du bureau ESRI. Le lien est en bas et il y a plus d'une approche possible.

"Polygones issus de la géométrie d'autres entités

Dans ArcMap, cliquez sur l'outil Modifier dans la barre d'outils de l'éditeur.

2.Sélectionnez les entités dont vous souhaitez utiliser la géométrie pour construire de nouvelles entités surfaciques.

3.Dans la barre d'outils de l'éditeur, cliquez sur la flèche de la liste déroulante Tâche et cliquez sur Créer une nouvelle fonctionnalité.

4.Dans la barre d'outils de l'éditeur, cliquez sur la flèche de la liste déroulante Cible et cliquez sur la classe d'entités surfaciques dans laquelle vous souhaitez créer une nouvelle entité. Les entités sélectionnées et la couche cible ne peuvent pas appartenir à la même classe d'entités.

5.Dans la barre d'outils Topologie, cliquez sur le bouton Construire des entités.

Facultativement, saisissez une tolérance de cluster.

6.Choisissez s'il faut créer de nouveaux polygones à partir des entités sélectionnées, pour créer de nouveaux polygones en tenant compte des limites des polygones existants comme géométrie en entrée, ou pour diviser les entités là où les lignes ou polygones sélectionnés les croisent.

7.Cliquez sur OK.

Les nouvelles entités sont créées dans la classe d'entités cible. "

http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=Making_new_features_with_topology_tools

lewis
la source
Je ne sais pas ce que votre réponse a à voir avec ma question. L'avez-vous par hasard posté ici au lieu d'une autre question?
Devdatta Tengshe
Si vous allez sur le lien en bas et lisez l'aide complète, je pense que vous verrez la pertinence. En polygonisant les données, vous créez des intersections dans les rues qui ne se croisent pas et il y a des opérations similaires dans l'aide qui pourraient également aider à résoudre le problème
lewis