Je cherche un moyen de déterminer si une polyligne est "principalement dans" un polygone. Puisque la plupart du temps à l'intérieur est arbitraire, j'aurais besoin de pouvoir entrer un pourcentage lors de son exécution.
Je pensais qu'il y avait peut-être une option dans ArcMap en utilisant Sélectionner par emplacement, mais il ne semble pas y en avoir. Il existe des méthodes similaires, telles que «complètement à l'intérieur», mais je ne vois pas comment utiliser l'une d'entre elles pour réaliser ce que je recherche.
Cette fonctionnalité ou une méthode existe-t-elle pour y parvenir?
Réponses:
il vous suffirait alors de faire une jointure table à table sur les deux fichiers de ligne (d'origine et de sortie de l'outil GP), puis de calculer la différence en pourcentage entre les deux champs Shape.Len (si un segment de ligne dans le fichier d'origine mesure 100 pieds de long) , et ce même segment de ligne, coupé au polygone, mesure 75 pieds de long, alors 75% de cette ligne se trouverait dans le polygone). Ensuite, vous pouvez simplement faire une sélection par attribut en fonction de ce pourcentage.
Encore une fois, je sais que cela est plutôt impliqué, cela crée un ensemble de données intermédiaire, et il existe probablement un moyen plus facile de le faire que je ne connais pas; mais, si vous écrivez un modèle ou un script pour le faire, et supprimez la ligne de sortie FC lorsque vous en avez terminé, cela ne devrait pas sembler si difficile à l'utilisateur final ... même si c'est un peu pénible à construire initialement.
Juste quelques réflexions, et faites-moi savoir si cela n'a pas de sens et je vais essayer de mieux vous expliquer.
la source
Sur la base des réponses que j'ai reçues ici, j'ai utilisé une combinaison d'idées fournies.
Tout d'abord, j'ai ajouté un champ Longueur et pourcentage à mon jeu de données d'origine. J'ai copié les valeurs Shape.Length dans le champ Longueur.
Deuxièmement, au lieu d'utiliser Clip, ce qui représente beaucoup plus de travail dans ce cas, j'ai utilisé l'outil Intersect. Cela "coupe" les polylignes qui coupent les polygones et ajoute des attributs potentiellement précieux. Malgré un champ d'identification vraiment unique, je ne pense pas que ce soit vraiment nécessaire lors de l'utilisation d'un champ de longueur statique.
Enfin, je calcule simplement le pourcentage de la différence entre le nouveau champ Shape.Length et le champ Longueur statique du champ Pourcentage. Toutes les polylignes qui coupent la limite du polygone auront un pourcentage inférieur à 100.
la source
la source