ArcGIS에서 Coverages, Shapefiles 및 Geodatabases가 사용하는 공간 데이터 저장 방법의 차이점에 대해 궁금했습니다. 적용 범위는 초기 형식이었고 형태 파일과 지오 데이터베이스가 이어졌습니다. 새로운 형태의 Shapefile 및 지오 데이터베이스에서 개선 된 점은 무엇입니까?
누군가가 예제로 설명해 주시면 좋을 것입니다.
ArcGIS에서 Coverages, Shapefiles 및 Geodatabases가 사용하는 공간 데이터 저장 방법의 차이점에 대해 궁금했습니다. 적용 범위는 초기 형식이었고 형태 파일과 지오 데이터베이스가 이어졌습니다. 새로운 형태의 Shapefile 및 지오 데이터베이스에서 개선 된 점은 무엇입니까?
누군가가 예제로 설명해 주시면 좋을 것입니다.
답변:
이것은 좋은 질문입니다. 적용 범위, 셰이프 파일 및 지오 데이터베이스는 구현 관점과 철학적 관점에서 근본적으로 다른 지리 공간 데이터 저장소입니다. 너무 깊이 들어 가지 않고 요약하려고합니다.
1. 적용 범위 :
적용 범위는 흥미로운 지리 공간 데이터 구조 입니다. 토폴로지 저장에 집중합니다. 따라서 모든 지오메트리를 구성하는 노드, 모서리 인 지오메트리 요소를 먼저 저장하는 것이 강조됩니다. 그런 다음 해당 지오메트리를 속성과 연관 시켜서 "기능"이되는 별도의 테이블 세트가 표시됩니다.
"깨끗한"범위는 노드가 아니라는 것을, 당신은 서로의 상단에 노드 (또는 퍼지 허용 오차 거리에) 두 (또는 그 이상)하지 않습니다 모든 노드의 교차점에 있다는 것을, 예를 들어, 특정 규칙을 보장 서로의 상단에있는 두 모서리 등. 또한 방향 감각 (에서->으로)을 가지며 왼쪽과 오른쪽에있는 것을 구별 할 수 있습니다.
적용 범위는 토폴로지 관계에 대한 인식이 필요한 편집 (소포 경계 편집 상상)에 실제로 효과적입니다. 또한 커버리지는 디자인에 따라 기하학적 중복성을 제거하므로 압축률이 매우 높습니다. 사실, 오늘날 TopoJSON과 같은 최신 형식은 수십 년 전에 적용 범위에서 배운 것과 동일한 기술을 사용하기 시작했습니다.
커버리지는 3D 데이터를 처리 할 때 다루기가 약간 더 복잡 할 수 있습니다 (예 : 위쪽과 아래쪽이 오른쪽 인 브리지 모델링). 2D 평면 그래프 수학.
왜 우리는 그것에서 멀어 졌습니까? 더 긴 답변이 필요하지만 ESRI Shapefile을 먼저 대중화시킨 이유를 조금 더 설명해야 할 것입니다.
2. ESRI 셰이프 파일 :
Shapefile과 함께 아마도 가장 중요한 특징 은 (비교적으로) 구현하기 쉬운 공개 사양 이라는 것이었을 것입니다. 이 속성은 DBF 파일을 활용 했기 때문에 스펙의 많은 부분을 구현 한 라이브러리가 이미 많았습니다. "깨끗한 (clean)"이라는 개념은 없었습니다. 즉, 각 개별 지오메트리는 주변 지오메트리를 고려하지 않고 자신을 나타내는 것에 대해 걱정할 필요가있었습니다. 즉, 적용 범위와 달리 셰이프 파일이 올바른지 확인하기 위해 복잡한 수학을 수행 할 필요가 없었습니다.
서로 교차하는 여러 형상이 있습니까? 왜 안돼? 서로의 위에 두 점? 내 손님이 되세요
때로는 (논쟁 적으로) "최고의"형식이이기는 형식이 아니라 채택 된 형식 일 수도 있습니다. 형식이 구현하기 쉬운 경우 복잡한 형식보다 채택 가능성이 높습니다. 이것이 쉐이프 파일이었습니다.
갑자기 여러 라이브러리 (오픈 소스 및 독점)와이를 지원하는 소프트웨어 공급 업체가있었습니다. 그래서 모두 훌륭했습니다.
분명한 질문은 왜 지오 데이터베이스인가?
3. 지오 데이터베이스 :
지오 데이터베이스는 가장 오해 된 지리 공간 데이터 저장소 중 하나라고 생각합니다. 사람들은 보통 "지리 공간 형식"으로 생각합니다. 몇 년 전에 누군가 "ESRI 지오 데이터베이스 란 무엇입니까?" . 그때 내 대답을 반복하지 말고 먼저 읽어주십시오. 기다릴게 :)
이제 그 답변을 읽고 지오 데이터베이스가 무엇인지 알게되었으므로 그 답변을 조금 더 확장 할 수 있습니다. 당시에는 SQL을 최적화하고 인덱스, 열 저장소 등을 활용 한 쿼리 최적화 프로그램을 작성하는 연구가 많이있었습니다 (아직도 있습니다). SQL 데이터 스토어 위에 지오 데이터베이스를 구축함으로써 모든 연구를 무료로 활용할 수 있습니다. 지리 공간 개념에만 집중하면되고 SQL 데이터 저장소가 나아질수록 지오 데이터베이스도 무료로 향상 됩니다. 나쁜 제안이 아니십니까?
요즘에는 지리 공간 데이터에 대한 몇 가지 사양이 있습니다. 배심원은 여전히이 기술을 대체 할 내용에 대해 아직 남아 있습니다. 그럼에도 불구하고이 주제에 관심이 있다면 몇 년 전에 GIS.SE에서 질문 한 내용에 대한 답변을 읽어 보는 것이 좋습니다. "모양 파일을 바꾸려는 시도가 있습니까?"
이게 도움이 되길 바란다!
대부분의 정보는 Esri 도움말 및 일부 검색에서 찾을 수 있으므로 좋은 정보를 모았습니다.
보장은 어떻게 저장됩니까? 독점 형식이기 때문에 알고리즘 구현 방법에 대한 기술 사양을 찾을 수 없습니다 (@Vince가 약간의 조명을 비추 지 않는 한).
셰이프 파일은 나중에 등장하여 일정 수준의 상호 운용성을 제공하는 표준으로 구현되었습니다. ESRI Shapefile 기술 설명 에 전체 설명이 포함되어 있습니다.
지오 데이터베이스는 나중에 소개되었습니다. 최초의 개인 지오 데이터베이스 (MS Access), 파일 지오 데이터베이스 (이진 암호화 형식) 및 엔터프라이즈 (또는 ArcSDE) 지오 데이터베이스는 ArcSDE 및 DBMS 기술을 활용했습니다. : 현재 지오 데이터베이스에 대한 자세한 읽을 수있는 지오 데이터베이스의 종류 와 지오 데이터베이스의 구조를 .
GIS.SE에 대한 좋은 읽을 거리 : File Geodatabase (*. gdb), Personal Geodatabase (*. mdb) 또는 shapefile 중 어느 것을 사용할지?
성능과 관련하여 많은 벤치 마크가 수행되었으며 파일 지오 데이터베이스는 정보 읽기 / 쓰기 측면에서 가장 빠른 것으로 나타났습니다. 개인 지오 데이터베이스 및 셰이프 파일은 훨씬 느리고 아마도이를 사용하는 유일한 이유는 일부 MS Access 비즈니스 로직 또는 셰이프 파일 읽기 / 변환을 염두에두고 구축 된 구형 시스템을 지원하는 것입니다.
DBS가 튜닝 될 때 ArcSDE 기반 지오 데이터베이스는 파일 지오 데이터베이스만큼이나 성능이 뛰어나지 만 저장된 데이터, 네트워크 및 하드웨어 유형에 따라 다릅니다. 벤치 마크에 대한 자세한 내용은 Esri 시스템 설계 전략 리소스 (및 여기 )를 참조하십시오 .
이러한 형식의 주요 차이점은 기능이 형상과 관련되는 방식입니다. 커버리지의 전성기에, 코딩 언어는 FORTRAN으로 COMMON 블록에서 고정 된 버퍼 크기를 의미했습니다. 이 중 가장 제한적인 것은 선 기본 요소 당 500 개의 정점 ( "arc")입니다. 이러한 제한으로 인해 "의사 노드"(호가 하나의 다른 호와 만 연결되는 위치)라는 개념이 도입되었으며 다른 많은 데이터 액세스 작업이 복잡해졌습니다.
커버리지 모델은 "PAL (polygon arc list)"을 사용하여 폴리곤을 설명했습니다. 폴리곤 쉐이딩 알고리즘은 하나의 파일을 읽어 호 목록을 얻은 다음 호 자체를 읽어 정점 수를 구한 다음 충분한 RAM을 할당해야했습니다. 모든 정점을 저장 한 다음 다시 원호를 다시 읽습니다. 이번에는 정점을 정방향 또는 역순으로 복사하여 완전한 다각형을 구성합니다. ARC 파일을 두 번 방문한 후에 만 다각형을 적절하게 설명 할 수 있으며 다각형 이웃을 음영 처리하기 위해 동일한 호를 (반대 방향으로) 액세스해야합니다.
이에 비해 shapefile과 다양한 지오 데이터베이스 형식은 완전한 지오메트리를 단일 객체로 저장합니다 (객체의 물리적 구현 방법에 대한 다양한 구현 세부 정보 포함). 공유 경계를 편집하려고 할 때 단점이 있지만이 작업은 다각형 음영 처리보다 훨씬 덜 빈번합니다.
"전체 모양"저장소 모델은 적용 범위 형식과 새로운 형식의 주요 차이점이며,이 차이는 매우 근본적으로 형태 파일과 다양한 지오 데이터베이스 형식 간의 실제 차이점을보기 어렵습니다. 실제로 shapefile 형식은 FGDB가 새로운 정점 레이아웃을 도입하는 것보다 단순했기 때문에 FGDB가 정확한 형식을 사용하지 않더라도 FGDB API를 통해 FGDB 형상에 액세스하는 데 사용되었습니다.
형식 간의 또 다른 차이점은 지오 데이터베이스가 기능 클래스 간의 관계 를 모델링 할 수 있다는 것 입니다. Ragi가 지적했듯이
적용 범위는 토폴로지 관계에 대한 인식이 필요한 편집 (소포 경계 편집 상상)에 실제로 효과적입니다.
그러나이 인식 은 단일 적용 범위 내 에서만 존재합니다. 둘 이상의 적용 범위 간의 관계를 모델링하려면 "불법"토폴로지 관계를 확인하는 코드를 작성해야합니다.
예를 들어, 소포 다각형에 간격이있을 수없고 소포 경계가 도로, 적용 범위 또는 쉐이프 파일과 정확히 일치해야하는 경우, 이러한 경우인지 확인하고 이러한 규칙을 준수하지 않는 오류를 수동으로 수정해야합니다.
지오 데이터베이스는 선택적으로 토폴로지 객체를 지원 하여 데이터에 허용되는 토폴로지 규칙을 정의 할 수 있습니다. 중요한 것은 이러한 규칙은 지오 데이터베이스의 피처 클래스 내에서 또는 피처 클래스 간에 발생할 수 있다는 것 입니다.
ArcMap의 토폴로지 편집 도구를 사용하면 토폴로지 위반 을 찾고 경우에 따라 자동으로 수정할 수 있습니다 .
지오 데이터베이스 토폴로지 ( "좋은 옛날")가 도입되기 전에는 길고 복잡한 AML 스크립트를 작성하여 토폴로지 위반을 감지 한 다음 ArcEdit 에서 적용 범위를 수동으로 편집하는 것이 일반적이었습니다 (별로 재미 있지 않음).