Ich suche nach einer Möglichkeit, um festzustellen, ob sich eine Polylinie "meistens innerhalb" eines Polygons befindet. Da meistens innerhalb willkürlich ist, müsste ich bei seiner Ausführung einen Prozentsatz eingeben können.
Ich dachte, dass es in ArcMap eine Option mit Select By Location gegeben haben könnte, aber es scheint keine zu geben. Es gibt ähnliche Methoden, wie "vollständig im Inneren", aber ich sehe nicht, wie ich eine davon verwenden kann, um das zu erreichen, wonach ich suche.
Gibt es diese Funktionalität oder eine Methode, um dies zu erreichen?
Antworten:
Dann müssten Sie nur noch eine Tabelle-zu-Tabelle-Verknüpfung für die beiden Zeilendateien (Original und Ausgabe des GP-Tools) durchführen und dann die prozentuale Differenz zwischen den beiden Shape.Len-Feldern berechnen (wenn ein Liniensegment in der Originaldatei 100 Fuß lang ist und dasselbe Liniensegment, das am Polygon abgeschnitten ist, ist 75 Fuß lang, dann würden 75% dieser Linie innerhalb des Polygons liegen. Dann können Sie einfach ein Attribut auswählen, das auf diesem Prozentsatz basiert.
Ich weiß wieder, dass dies ziemlich kompliziert ist, es erstellt einen Zwischendatensatz und es gibt wahrscheinlich einen einfacheren Weg, dies zu tun, von dem ich nichts weiß. Wenn Sie jedoch ein Modell oder ein Skript schreiben, um dies zu tun, und die Ausgabezeile FC löschen, wenn Sie damit fertig sind, sollte es dem Endbenutzer nicht allzu schwierig erscheinen ... auch wenn es ein bisschen schmerzhaft ist zunächst zu bauen.
Nur ein paar Gedanken, und lassen Sie mich wissen, wenn das keinen Sinn ergibt, und ich werde versuchen, es besser zu erklären.
quelle
Basierend auf den Antworten, die ich hier erhalten habe, habe ich eine Kombination von Ideen verwendet.
Zuerst habe ich meinem ursprünglichen Datensatz ein Feld für Länge und Prozent hinzugefügt. Ich habe die Shape.Length-Werte in das Feld Length kopiert.
Zweitens habe ich anstelle von Clip, was in diesem Fall wesentlich mehr Arbeit bedeutet, das Intersect-Tool verwendet. Dadurch werden die Polylinien "abgeschnitten", die die Polygone schneiden, und einige potenziell wertvolle Attribute hinzugefügt. Obwohl es ein wirklich eindeutiges ID-Feld gibt, denke ich nicht, dass es wirklich erforderlich ist, wenn ein statisches Längenfeld verwendet wird.
Schließlich berechne ich einfach den Prozentsatz der Differenz zwischen dem neuen Feld Shape.Length und dem Feld Static Length zum Feld Percent. Alle Polylinien, die die Polygongrenze geschnitten haben, haben einen Prozentsatz von weniger als 100.
quelle
quelle