Ich stehe vor einem Dilemma, während ich versuche, mit v.generalize Polygone zu vereinfachen, die in Größe und Struktur den US-Counties oder -Staaten ähnlich sind. Oft verliere ich Polygone aus dem Datensatz, nachdem ich sie entweder vereinfacht oder geglättet habe. Was mich beunruhigt, ist, dass es kein konsistentes Muster für dieses Verhalten zu geben scheint. In einigen Fällen führt derselbe Befehlssatz, der auf verschiedene Datensätze angewendet wird, zu völlig unterschiedlichen Ergebnissen. Infolgedessen kann ich keinen wiederholbaren Workflow entwickeln und suche widerwillig nach anderen Vereinfachungswerkzeugen, die die Topologie bewahren. Hier ist ein Beispiel:
# LOAD AND CLEAN
v.in.ogr dsn=counties.shp output=county
v.build.polylines input=county output=county_polylines
v.clean input=county_polylines output=county_clean tool=bpol,rmdupl type=boundary
# SMOOTH AND GENERALIZE
v.generalize input=county_clean output=county_smooth method=sliding_averaging look_ahead=7 slide=1
v.generalize input=county_smooth output=county_general method=douglas threshold=.005
Jeder der v.generalize-Schritte führt dazu, dass einige der Polygone verschwinden. Ich würde gerne verstehen, warum das passiert. Liegt es daran, dass Funktionen in unzureichenden Speicher geladen werden? Sind meine Parameter "eng" genug, um Features auszuschließen, weil sie bestimmte Geometriekriterien erfüllen? (Beachten Sie, dass ich einige sehr große Features verliere.) Gibt es ein Problem mit der Topologie der abgelegten Features, das dazu führt, dass sie gelöscht werden? Im Zusammenhang mit dieser letzten Frage gehe ich davon aus, dass build.polylines und Bereinigungsoperationen, die ich anfänglich mache, sich darum kümmern sollten, aber ich bin nicht ganz sicher, und ich kann anscheinend keine guten Anweisungen finden, die dies ansprechen. Sind da welche?
Schätzen Sie alle Erkenntnisse, die Menschen geben können, insbesondere solche, die auf persönlichen Erfahrungen mit dem Tool v.generalize beruhen.
Roger
quelle
Antworten:
Antwort vom GRASS-Entwicklungsteam.
"Das Verschwinden von Polygonen [in Version 6.4.1] ist darauf zurückzuführen, dass geglättete Grenzen, die gegen die Vektortopologie verstießen, gelöscht wurden. Danach wurden alle Grenzen, die topologisch falsch waren. Grenzen werden jetzt [in 6.4.2] nur geglättet / vereinfacht, wenn die Änderung dies nicht tut." Vektortopologie verletzen. "
quelle