사용자 지정 ArcGIS Desktop 도구 프로젝트에서 작업 중이며 자동화 된 선형 참조 기능을 구현하고 싶습니다. 긴 이야기를 짧게 만들기 위해 경로를 따라 문제가되는 세그먼트를 표시하고 색상 코드 (예 : 녹색, 노란색, 빨간색 등)를 사용하여 심각도를 표시하고 싶습니다. 나는 이것이 꽤 일반적인 시나리오이며,이 작업을 수행하는 "올바른 방법"이 특정 경로 세그먼트에 다른 코드를 할당 할 수있는 선형 이벤트 테이블을 만드는 것이라는 것을 이해하게되었습니다. 동료 중 일부는 수동으로 수행하는 방법을 알고 있지만이 프로그래밍 방식을 복제 할 수있는 방법을 찾을 수 없습니다.ArcGIS에서 선형 참조를 수행하는 프로그래밍 방식
현재 도구는 C#으로 작성되었으며 문제 영역을 결정하는 데 필요한 모든 계산을 이미 수행합니다. 문제는 주로 ArcObjects에 대해 많이 알지 못하기 때문에 어디에서 시작해야할지 모르겠다는 것입니다. 모든 코드 샘플 또는 제안을 환영합니다 (C#이 선호되지만 C++, VB 및 기타는 확실하게 나를 도울 것입니다).
편집 : 나는 MakeRouteEventLayer 도구를 사용하는 것을 시도하고 있지만, 다른 사전 조건이 충족 얻이 수없는 것
. 경로는 SDE 서버에서 호스팅됩니다.
ESRI.ArcGIS.esriSystem.IPropertySet pConnectionProperties = new ESRI.ArcGIS.esriSystem.PropertySet();
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory pWorkspaceFactory;
ESRI.ArcGIS.Geodatabase.IWorkspace pWorkspace;
ESRI.ArcGIS.Location.ILocatorManager pLocatorManager;
ESRI.ArcGIS.Location.IDatabaseLocatorWorkspace pDatabaseLocatorWorkspace;
pConnectionProperties.SetProperty("server", "xxxx");
pConnectionProperties.SetProperty("instance", "yyyy");
pConnectionProperties.SetProperty("database", "zzzz");
pConnectionProperties.SetProperty("AUTHENTICATION_MODE", "OSA");
pConnectionProperties.SetProperty("version", "dbo.DEFAULT");
pWorkspaceFactory = new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactory();
pWorkspace = pWorkspaceFactory.Open(pConnectionProperties, 0);
pLocatorManager = new ESRI.ArcGIS.Location.LocatorManager();
pDatabaseLocatorWorkspace = (ESRI.ArcGIS.Location.IDatabaseLocatorWorkspace)pLocatorManager.GetLocatorWorkspace(pWorkspace);
가 지금은 MakeRouteEventLayer의
constructor에 대한 모든 것을 준비하기 위해 노력하고 붙어 있어요 : 지금까지, 나는 연결이 방법을 확립하고있다. 나는
기능 레이어을
입력 경로 기능으로 전달해야하는 방법을 찾지 못하는 것 같습니다. 또한 이벤트 테이블을 올바르게 작성하는 방법을 이해하지 못합니다. 나는 내가 문서화/주석 처리되지 않았고 데이터 유형이 언급되지 않았기 때문에 내가 이해하지 못하는
this one을 제쳐두고 성취하고자하는 것에 관한 어떤 예를 찾을 수없는 것 같다.
매우 유익한 답변, 감사합니다! –