R에서 SpatialPolygons 및 보존 토폴로지를 일반화하는 방법은 무엇입니까?


18

SpatialPolygonsDataFrame 플롯을보다 효율적으로 만들기 위해 R 을 일반화하고 싶습니다 . 내가 가지고있는 다각형은로드가 느리고 문서에 통합하기가 어려운 거대한 PDF 플롯을 생성합니다.

패키지 에서 gSimplify함수 를 사용하려고 rgeos했지만 불행히도 다각형의 토폴로지를 보존하지 않습니다.

사용할 수있는 대안이 있습니까?


실제로 해결책은 아니지만 대신 래스터 (jpg / png)로 플롯 할 수 있습니까? pdfsize 축소에 대해 설명하는이 stackoverflow 질문은 다음과 같습니다. stackoverflow.com/questions/8521299/…
djq

래스터 이미지로 맵을 플로팅하는 것은 옵션이지만 가능할 때마다 벡터 그래픽을 사용하고 싶습니다. 벡터 그래픽을 사용할 때, 특히 디지털 버전의 문서를 볼 때 이미지 품질이 더 좋습니다.
yellowcap

gSimplify()선택적 매개 변수 topologyPreserve가 기본값으로 설정됩니다 FALSE. 로 설정해 보셨습니까 TRUE?
krlmlr

답변:


7

r-sig-geo 에 대한 토론이 있습니다. 결정적인 대답을 얻으려면 공간 R에 대한 통찰력을 아는 사람들이 있어야합니다.

그러나 QuantumGIS, GRASS 또는 SAGA와 같은 GIS 데스크톱 애플리케이션 (rgdal의 writeOGR 명령 또는 maptools의 writePolyShape ()을 사용하여 모양 내보내기)에서이 작업을 수행 할 수도 있습니다.

QuantumGIS의 경우 Vector / Geometry Tools / Simplify geometry를 사용하십시오 (토폴로지를 테스트했지만 토폴로지를 보존하지는 않지만 루마니아 admin1 shapefile에 적용하면 2000 노드에서 잘 보입니다).

GRASS의 경우 v.generalize를 사용하십시오 (알고리즘에 대한 자세한 내용은 설명서를 참조하십시오).

SAGA의 경우 먼저 다각형을 선으로 변환하고 (모양-선 / 다각형을 선으로 변환) 선을 단순화하고 (모양 선 / 선 단순화) 선을 다각형으로 변환해야합니다 (모양-다각형 / 선을 다각형으로 변환). 나는 이것을 테스트했고 결과는 토폴로지를 유지했다.

건배와 행운을 빈다


그 동안 토폴로지를 보존하면서 단순화를 수행하는 온라인 서비스 인 mapshaper.org 도 발견했습니다 . R에서는 직접 사용할 수없는 것처럼 보이므로 대안으로 사용했습니다 (QGis는 실제로 토폴로지를 보존하지 않으며 다른 소프트웨어 패키지를 모릅니다)
yellowcap

1
Saga 2.0.8에서 관찰 한 결과를 테스트했으며 결과에 토폴로지가 유지 되지 않았습니다 !
Fabian Zeindl

2

rmapshaperAndy Teucher는 "토폴로지로 인식되는 다중 다각형 단순화를 수행하는"단순화 기능을 포함하는 멋진 패키지를 제공합니다.

그들의 github 저장소에서 사용법 예 :

states_simp <- ms_simplify(states_sp)

어디 states_sp있어spatialPolygons*개체 ?

자세한 내용은 패키지 README를 참조하십시오 : https://github.com/ateucher/rmapshaper


0

도움이 될 것입니다.

  • gSimplify(..., topologyPreserve=T)로부터 GEOS패키지

2
불행히도 토폴로지 보존 옵션은 gSimplify실제로 여러 다각형에 대한 토폴로지를 보존하지 않습니다. 단일 또는 다중 다각형의 토폴로지와 관련이 있다고 생각합니다. 다각형이 많은 모양 파일의 경우 토폴로지가 보존되지 않습니다.
yellowcap
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.