v.generalize를 사용할 때 GRASS가 다각형을 제거하는 이유는 무엇입니까?


9

v.generalize를 사용하여 크기와 구조가 미국 카운티 또는 주와 유사한 다각형을 단순화하려고 시도하는 동안 딜레마에 직면하고 있습니다. 종종 단순화 또는 스무딩 방법을 실행 한 후 데이터 세트에서 다각형이 손실됩니다. 문제가되는 것은이 행동에 일관된 패턴이없는 것 같습니다. 경우에 따라 다른 데이터 세트에 동일한 명령 세트가 적용되어 결과가 완전히 다릅니다. 결과적으로 반복 가능한 워크 플로를 개발할 수 없으며 지체없이 다른 단순화 도구를 찾기 시작했습니다. 예를 들면 다음과 같습니다.

# 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

v.generalize 단계 각각에 따라 일부 다각형이 사라집니다. 왜 이런 일이 발생하는지 이해하고 싶습니다. 기능이 메모리 부족으로로드 되었기 때문입니까? 매개 변수가 일종의 지오메트리 기준을 충족했기 때문에 제외 될 수있을 정도로 매개 변수가 "꽉"있습니까? (매우 큰 기능이 일부 손실됩니다.) 기능이 삭제 된 기능의 토폴로지에 문제가 있습니까? 마지막 질문과 관련하여, 나는 처음에 빌드하는 build.polylines 및 clean 작업이 이것을 처리해야한다고 가정하지만 완전히 확신 할 수는 없으며 이것을 해결하는 좋은 지침을 찾지 못하는 것 같습니다. 거기 아무도 없나요?

사람들이 제공 할 수있는 통찰력, 특히 v.generalize 도구에 대한 개인적인 경험을 바탕으로 한 통찰력에 감사하십시오.

알았다


데이터가 위도에있는 것처럼 보입니다. .005 임계 값으로 데이터를 손실하기에 충분합니다. 평면형 cs를 사용하고 있는지 확인할 수 있습니까?
Brad Nesom

나는 실제로 그것에 대해 궁금해하고 위를 실행하기 전에 Albers Equal Area 투영으로 다시 투영했습니다. 투영 매개 변수는 다음과 같습니다. USER : 100002 (+ proj = aea + lat_1 = 20 + lat_2 = -23 + lat_0 = 0 + lon_0 = 25 + x_0 = 0 + y_0 = 0 + ellps = WGS84 + units = m + no_defs) . 여전히 같은 문제가 있습니다.
lagerratrobe

왜 다각형을 폴리 라인으로 변환해야하는지 궁금합니다. 다각형을 직접 단순화하지 않는 특별한 이유가 있습니까?
underdark

자, v.build.polylines 부분을 꺼내서 "county_clean"은 이제 다각형 레이어입니다. 여전히 많은 지역을 잃습니다. 처음에는 단순화가 더 쉬울 것이라고 생각했지만 v.clean의 "bpol"도 다각형을 깨뜨리기 때문에 중요하지 않을 수 있습니다.
lagerratrobe

1
바보 같은 질문입니다. v.clean이 아닌 v.generalize를 사용하여 데이터를 잃어 버리고 있습니까?
simo

답변:


4

GRASS 개발팀의 답변.

"벡터 토폴로지를 위반 한 부드러운 경계가 삭제 되었기 때문에 [v 6.4.1에서 다각형의 소실]이 발생했습니다. 그 후 토폴로지가 올바르지 않은 모든 경계가 삭제되었습니다. 경계가 이제 [6.4.2에서] 수정되지 않으면 매끄럽게 / 단순화됩니다. 벡터 토폴로지를 위반합니다. "

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.