MapControl을 C++ 응용 프로그램에 임베드 할 예정입니다. 이 응용 프로그램은 독점적 인 비 관계형 데이터베이스에 연결됩니다. 따라서 맵 컨트롤을 GIS 데이터에 직접 연결하는 것은 불가능합니다. 대신 피쳐 레이어에 내 포인트 피처를로드하기 만하면됩니다. 필자는 피쳐 레이어를 만드는 메커니즘을 이해하지만 어떤 유형의 데이터 소스에 묶여있는 것처럼 보입니다. 파일이나 데이터베이스를 지정하지 않고 레이어에 직접 피쳐 데이터를로드하려면 어떻게해야합니까? 즉,이 기능은 메모리 상주에만 필요합니다.데이터베이스 또는 파일 대신 메모리에서 포인트 피처를 추가하려면 어떻게합니까?
0
A
답변
1
ScratchWorkspaceFactory 대신 InMemoryWorkspaceFactory을 사용합니다.
메모리 작업 공간에있는 featureclass에 대한 참조와 정보가 상징되는 방식을 정의하는 심볼로지 (IGeoFeatureLayer.Renderer)가 필요한 featurelayer가 여전히 필요합니다.
1
점만 표시하려면 피쳐 레이어를 사용하지 말고지도에 직접 그립니다. 예 : here
당신의 포인트는 데이터를 연결 한 경우, 당신은 (IFeatureClass.Insert를 통해) 기능 클래스로 특징로로드 및 기능 층에 기능 클래스를 첨부해야합니다. 이렇게하려면 먼저 자신 만의 피쳐 클래스를 만들어야합니다. 예제 코드 here.
이 예제에서는 형상을 저장하기 위해 ShapeFileWorkspaceFactory를 사용하여 디스크에 형상을 작성하지 않지만, 경우에 따라 ScratchWorkspaceFactory을 사용하여 ArcMap이 닫힐 때 플래시되는 임시 작업 메모리 내 작업 공간을 만들 수 있습니다.
링크 내의 다양한 프로그래밍 언어에 대한 사과, 그러나 나는 그들이 당신에게 몇 가지 출발점을 알려주기를 바랍니다.
관련 문제
- 1. Finder의 파일 아이콘에 버튼을 추가하려면 어떻게합니까?
- 2. 메모리에서 파일로 sqlite 데이터베이스 동기화하기
- 3. 배열에 요소를 추가하려면 어떻게합니까?
- 4. Menubar에 QLineEdit을 추가하려면 어떻게합니까
- 5. Eclipse에 클래스 폴더를 추가하려면 어떻게합니까?
- 6. 메모리에서 실행 파일 실행
- 7. .htaccess에 MIME 형식을 추가하려면 어떻게합니까?
- 8. 프로젝트에 XML 파일을 추가하려면 어떻게합니까?
- 9. PHP : 파일 또는 데이터베이스
- 10. (pdflatex) 스핑크스 문서의 목차 앞에 서문 또는 서문을 추가하려면 어떻게합니까?
- 11. 레일스 링크에 태그를 추가하려면 어떻게합니까?
- 12. Visual Studio 앱에 파일 시스템 찾아보기 단추를 추가하려면 어떻게합니까?
- 13. SharePoint 2010에 승인자를 추가하려면 어떻게합니까?
- 14. 우분투/fedora : 메뉴에 응용 프로그램을 추가하려면 어떻게합니까?
- 15. 두 번째 코드를 파일 뒤에 xaml 파일에 추가하려면 어떻게합니까?
- 16. SAR 파일을 Monticello 저장소에 추가하려면 어떻게합니까?
- 17. glaux없이 여러 텍스처를 추가하려면 어떻게합니까?
- 18. drupal 6.x보기 2가있는보기에 양식을 추가하려면 어떻게합니까?
- 19. 안드로이드에서 데이터베이스 또는 파일 선호 데이터베이스
- 20. 테이블 jquery에 목록을 추가하려면 어떻게합니까?
- 21. 테이블보기에서 단추를 액세서리로 추가하려면 어떻게합니까?
- 22. PyGTK에서 button.connect에 인수를 추가하려면 어떻게합니까?
- 23. VPS 서버에 사이트를 추가하려면 어떻게합니까?
- 24. 어셈블리에 대한 참조를 추가하려면 어떻게합니까?
- 25. 배열에 행과 열을 추가하려면 어떻게합니까?
- 26. 런타임시 메서드에 특성을 추가하려면 어떻게합니까?
- 27. 내 사이트에 Google지도를 추가하려면 어떻게합니까?
- 28. 이 텍스트에 이미지를 추가하려면 어떻게합니까?
- 29. 노드를 특정 위치에 추가하려면 어떻게합니까?
- 30. 기존 조건식에 조건을 추가하려면 어떻게합니까?
MarkerElements는 내가 시작한 곳이지만 클라이언트는이 지점을 선택하고 상호 작용할 수 있어야합니다. ScratchWorkspaceFactory를 사용해 보시고 다시 연락 드리겠습니다. 빠른 답변 감사합니다. – KRFournier
귀하의 링크를 통해 원하는대로 코드 작업을 완료 할 수 있었지만 Kirk의 대답은 제가 찾고있는 것이 었습니다. 하드 드라이브 공간없이 포인트를 메모리에로드하려고했습니다. 스크래치 작업 영역은 임시 액세스 데이터베이스를 작성합니다. 그렇게 할 수 있다면 두 가지 게시물을 올바른 답으로 만들었을 것입니다. 신속하고 철저한 응답에 감사드립니다. – KRFournier