ArcMap의 피쳐 클래스에서 모든 피쳐의 엔벨로프를 얻는 방법은 무엇입니까?


10

기능 클래스의 모든 기능을 단일 봉투에 담고 싶습니다. ArcMap에서 그렇게 할 수있는 방법이 있습니까?


1
답변을 읽을 때 내 질문이 충분히 구체적이지 않다는 것을 알고 있습니다. ArcMap GUI에서 봉투를 찾을 수있는 도구를 찾고있었습니다. Swingley의 답변은 한 번에 정확히 이것을 달성합니다. 그러나 나는 그 도구가없는 ArcMap 9.3.1을 사용하고 있지만 gkh의 대답은 ArcMap 9.3.1 (9.x 추측)의 두 단계로 이것을 달성합니다. Swingley와 gkh의 답변에는 INFO 라이센스가 필요합니다. 나는 그것을 지정하지 않았지만 제 경우에는 괜찮습니다.
steenhulthin

답변:



5

FeatureClass는 모든 기능에서 사용하는 IEnvelope를 포함하는 Extent 속성이있는 IGeoDataset 인터페이스를 지원합니다.

건배 브라이언


1
안녕 브라이언-10.0에서는 레이어로 줌에서 이상한 동작이 나타납니다 (너무 크게 축소됩니다). Zoom to layer는 IGeoDataset.Extent를 사용하지만 확실하지는 않습니다. 빈 shapefile에 프로그래밍 방식으로 기능을 추가 한 후에 문제가 발생합니다. 기능을 추가 한 후 IFeatureClassManage.UpdateExtent를 호출하여 문제를 해결했습니다.
Kirk Kuykendall

hey kirk-무슨 일이 벌어지고 있는지 말할 수는 없지만 지오메트리가있을 때까지 공간 참조의 전체 범위를 사용할 수 있습니다. 또는 UpdateExtent 호출 (또는 그와 동등한 기능)을 수동 프로세스 (perf 이유로 ??)로 만들었을 수도 있습니다. 10.0은 버그로 채워져 있습니다. 훌륭한 기능이지만 많은 문제가 있습니다.
bFlood

2

9.3x에서 arcgisscripting Python 모듈을 사용하려는 경우 :

import arcgisscripting

gp = arcgisscripting.create(9.3)

fc = "C:/workshop/exercises/exercise1/data/stlouis_cities_geog.shp"

fcDesc = gp.describe(fc)

shpExtent = fcDesc.extent
print("Bounding Box: " + str(shpExtent.XMin) + "," + str(shpExtent.YMin) + "," +  str(shpExtent.XMax) + "," + str(shpExtent.YMax))

del fc, gp

1

9.3에서 Feature Envelope to Polygon 도구를 사용할 수 있습니다. 출력을 여러 부분으로 분해 한 다음 봉투 도구를 다시 실행해야 할 수도 있습니다.


0

대략적인 해킹 : 데이터 프레임 속성, 데이터 프레임 탭, 전체 범위 명령에 사용 된 범위-기타 | 범위 지정으로 이동하여 기능 개요 및 관심있는 FC를 선택하십시오. 모든 대화 상자에서 OK를 클릭하고 Extent 지정으로 돌아갑니다. FC의 범위는 이제 Custom Extent 상단, 오른쪽, 하단, 왼쪽 필드에 표시됩니다. ArcGIS Server 맵 서비스에서 사용자 지정 전체 범위를 설정하기 위해이 작업을 수행하지만 원하는 FC 범위를 확보해야합니다.

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