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.