Stoję przed dylematem, próbując użyć v.generalize w celu uproszczenia wielokątów, które pod względem wielkości i struktury są podobne do hrabstw i stanów USA. Często tracę wielokąty ze zbioru danych po uruchomieniu na nich metody uproszczenia lub wygładzenia. Martwi mnie to, że takie zachowanie nie wydaje się być spójne. W niektórych przypadkach ten sam zestaw poleceń zastosowanych do różnych zestawów danych powoduje zupełnie inne wyniki. W rezultacie nie jestem w stanie opracować powtarzalnego przepływu pracy i niechętnie zaczynam szukać innych narzędzi upraszczających, które chronią topololgy. Oto przykład:
# 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
Każdy krok v.generalizuj powoduje znikanie niektórych wielokątów. Chciałbym zrozumieć, dlaczego tak się dzieje. Czy to z powodu ładowania funkcji do niewystarczającej pamięci? Czy moje parametry są „wystarczająco ścisłe”, aby wykluczyć obiekty, ponieważ spełniają one kryteria geometryczne? (Zauważ, że tracę niektóre bardzo duże funkcje.) Czy istnieje problem z topologią upuszczonych funkcji, który powoduje ich usunięcie? W związku z tym ostatnim pytaniem zakładam, że build.polilines i czyste operacje, które robię na początku, powinny się tym zająć, ale nie jestem do końca pewien i nie mogę znaleźć dobrych instrukcji, które by to rozwiązały. Czy są jakieś?
Doceń wszelkie spostrzeżenia, jakie mogą dać ludzie, szczególnie te oparte na osobistym doświadczeniu z narzędziem v.generalize.
zrozumiałem
źródło
Odpowiedzi:
Odpowiedź od zespołu programistów GRASS.
„Zniknięcie wielokątów [w wer. 6.4.1] nastąpiło, ponieważ wygładzone granice naruszające topologię wektorową zostały usunięte, a następnie wszystkie granice, które były topologicznie niepoprawne. Granice są teraz [w 6.4.2] tylko wygładzone / uproszczone, jeśli modyfikacja nie naruszać topologię wektorów. ”
źródło