태그 보관물: arcgis-desktop

arcgis-desktop

매우 큰 shapefile의 렌더링 성능을 향상시키는 방법은 무엇입니까? 그것이 전체 지구의 토지

100MB .dbf 및 500MB .shp 파일 구성 요소를 가진 다각형 shapefile이 있습니다. 그것이 너무 큰 이유는 그것이 전체 지구의 토지 기반으로 분류되기 때문입니다.

ArcCatalog 또는 ArcMap에서 파일을보고보기 창을 약간 이동할 때마다 전체 파일을 처음부터 다시 그려야합니다. 공간 인덱싱 및 지오 데이터베이스로 가져 오기를 시도했지만 렌더링과 관련하여 눈에 띄는 성능 향상을 제공하는 방법은 없습니다.

Esri의 도움말 페이지는 shapefile 성능을 향상시키기 위해 파일을 일반화 할 수 있다고 제안 합니다 . 이것은 분명히 효과가 있지만 정보를 잃고 싶지 않습니다. 전체 영역에서 많은 지오 프로세싱 / 쿼리를 수행하고 있기 때문에 파일을 분할하는 것은 이상적이지 않습니다. 전체 영역을 한 번에 보지 않아도 될 수 있지만 때로는 쿼리에서 선택한 파일 부분을 보는 것이 좋습니다.

렌더링 성능을 향상시키기 위해 취할 수있는 다른 방법이 있습니까?

(이론적으로 쉐이프 파일 “피라미드”를 만드는 것이 이상적입니다. ArcGIS가 왜 그런 접근 방식을 지원하지 않았는지 확신이 서지 않습니다.



답변

내 생각은 :

  1. 파일 지오 데이터베이스 기능 클래스에 Shape 파일 내보내기 – 내가 생각하는 그 도면 성능이 더 좋을 것입니다하지만 얼마가 확실하지 않다
  2. ArcGIS Desktop 10.0 이상을 사용하는 경우 베이스 맵 레이어 로 이동 하면 드로잉 성능이 크게 향상됩니다.
  3. 벡터 데이터에 대한 피라미드 소리가 마음에 드시면이 ArcGIS Idea 에 투표하십시오 .

답변

ArcMap 성능을 개선하는 데 도움이되는 많은 팁이 있지만 여기에 내가 사용한 세 가지 제안이 있습니다.

  1. 데이터 프레임 좌표계가 내 shapefile 및 TOC에있는 다른 레이어와 일치하는지 확인합니다. 레이어가 적을수록 더 좋습니다.
  2. 투명도 나 다른 복잡성없이 간단한 선과 채우기를 기반으로 한 기호 만 사용합니다.
  3. 개요와 가까이 이동하는 기능이 모두 필요한 경우 돋보기 또는 뷰어 사용을 고려하십시오.

답변

레이어가 대규모로 표시되지 않도록 레이어 표시 매개 변수를 설정하여 렌더링을 향상시킬 수 있습니다 (예 :> 1 : 10,000). 레이어 속성에서이 옵션을 찾을 수 있습니다. 레이어 속성> 일반 탭> “축소시 레이어 표시 안함 …”

또한 저장 위치가 중요합니다. 예를 들어, 대역폭이 낮은 오래된 서버에 저장 한 경우 성능이 저하됩니다. 나는 정기적으로 서버에서 1GB + 벡터 데이터를 처리하므로 시스템 사양을 업데이트 해야하는지 여부를 알 수 있습니다 (참고로 12GB RAM, 2 세대 i7, 평균 그래픽 카드를 실행 중입니다).

여기에 이미지 설명을 입력하십시오


답변

쿼리를하려면 맵을 렌더링해야합니까? 파이썬 스크립트를 실행하고지도를 그리지 않고 데이터에 액세스하면 어떻게 되나요? 나는 당신의 정확한 과정, 요구 등을 확신하지 못하지만 생각입니다.


답변

Aaron의 답변 에 대한 후속 조치로 정의 쿼리를 사용하여 시각화에 반환되는 결과 수를 제한 할 수 있습니다 (분석 포함-선택과 매우 유사하다고 생각합니다). 특정 시점에서 모든 기능을 볼 필요가없고 영역을 톤으로 전환하지 않는 경우, 정의 쿼리는 실행 가능한 솔루션 일 수 있지만 질문이나 요구에 대한 정확한 답변은 아닙니다.


답변

당신의 좌절감을 들었습니다. 나는 일반적으로 이와 같은 대형 shapefile로 작업하며 일반적으로 디스플레이 문제가 없습니다. 위의 모든 의견, 특히 데이터 프레임을 포함하여 모든 것이 동일한 투영에 있는지 확인하는 데 동의합니다. 파일을 로컬로 복사했으며 네트워크를 통해 파일에 액세스하려고하지 않습니까? 이 크기의 셰이프 파일에 표시 문제를 일으키는 한 가지 이유는 스트림 네트워크 에서처럼 정점이 너무 많은 경우입니다. 내가 찾은 유일한 해결책은 즉시 레이어 정의를 수행하는 Python 스크립트를 작성하여 한 번에 몇 개만 그리는 것입니다. 또 다른 것은 컴퓨터 그래픽 메모리와 그래픽 카드를 업데이트하는 것입니다.


답변