기계로 읽을 수있는 형태로 지리적 질문을 표현하는 방법


22

GIS의 핵심 개념은 데이터 세트에 대한 질문에 답하는 것입니다. 데이터베이스의 관점에서; 공간 확장이 포함 된 SQL은 이러한 질문을하는 방법입니다. 기계가 읽을 수있는 텍스트 기반 형식으로 질문을 표현할 수있는 다른 방법은 무엇입니까? 다른 접근 방식의 장점은 무엇입니까?




@ whuber, 나는 더 구체적이어야했습니다. ArcGIS 쿼리에서 Clementini 연산자에 대한 대안 또는 ArcGIS가 연결할 수있는 데이터베이스에 대한 쿼리에 관심이 있습니다. 언뜻보기에 Clementini는 인간과 기계를 모두 읽을 수있는 것처럼 보이지만 인간 은 종종 어려움을 겪습니다 .
Kirk Kuykendall

1
@ Kirk OK, 그러나 ArcGIS가 어려움을 겪고있는 것 같습니다. :-)이 Clemintini 등이 최종 것은 흥미 롭다 원래 종이 발언과 함께 "미적분 기반 방법은 최종 사용자에 정말 적합한 지 시험에 관한 우리의 위시리스트에있는 또 다른 점."
whuber

1
@ 매튜 관심있는 "질문"의 범위에 대해 좀 더 명확하게 설명해 주시겠습니까? 예를 들어, 지형지 물 간의 공간적 관계 를 발견하고 처리하여 (물리적으로 GIS의 힘이 필요할 것으로 예상되는) 질문에 관심이 있거나 개별 명명 된 엔티티 또는 위치의 정적 속성 을 찾기 만하면 충분합니다 ( 어떤 공간 처리가 필요하지 않습니까?
whuber

답변:


7

속성 또는 해시 기반 쿼리를 무시하고 3 가지 유형의 공간 쿼리 만 생각할 수 있습니다.

  1. 지오메트리를 기반으로하는 공간 쿼리이며 벡터 피처 간의 관계를 찾는 데 사용됩니다. SQL 공간 쿼리는 다음과 같은 단순한 API 낮은 수준 alogorithms 정말 벤틀리-Ottmann - OpenLayers에 사용되는 두 개의 선이 교차하는 경우 확인합니다.

    Kirk가 언급했듯이 피처 사이의 관계 유형은 차원 확장 9 교차 모델 에서 표준화되었습니다 .

    • 같음
    • 분리
    • 교차
    • 손길 (만남)
    • 십자가
    • 내부 (내부)
    • 포함
    • 오버랩
    • 표지
    • 덮음

    인덱스를 기반으로 한 공간 쿼리 는 단순한 형태의 지오메트리 쿼리 라고 주장 할 수 있습니다 . 대부분의 지오메트리 쿼리는 시간이 많이 걸리는 개별 지오메트리를 비교하기 전에 공간 인덱스를 첫 번째 통과 쿼리로 사용하여 관련없는 기능을 필터링합니다. 이것들은 MongoDB 와 같은 NoSQL 데이터베이스 에서도 구현됩니다 .

  2. 그래프 이론에 기반한 공간 쿼리 . 이러한 유형의 쿼리는 Network Analyst 와 같은 도구를 통해 GIS에서 구현 되며 다시 낮은 수준의 알고리즘 입니다.
  3. 래스터 그리드 및 집합 이론 (및 퍼지 집합 이론 )을 기반으로하는 공간 쿼리 .

래스터와 벡터 쿼리를 결합 하는 StarSpan 과 같이 위의 조합을 구현하는 몇 가지 구현이 있지만 실제로는 전처리 단계를 숨 깁니다.

머신 및 텍스트를 읽을 수있는 이러한 유형의 쿼리를 구현하는 수많은 API가 있습니다. 다양한 구현과 그 문제에 대한 좋은 토론이 있습니다 .


3d 공간 쿼리 언어를 향한 논문 은 공간 연산자를 데이터 유형이 아닌 쿼리를 기반으로 4 가지 유형으로 나눕니다.

  1. 방향 연산자 (예 : 위, 아래, northOf, southOf)
  2. 위상 연산자 (터치, 포함, 동일, 내부)
  3. 미터법 연산자 (예 : 거리)
  4. 부울 연산자 (예 : 공용체, 교차점)

또한 DE-I9M에 포함되지 않은 3D 기능 (본체 및 표면)을 다루는 용어도 제공합니다.


따라서 차원이 확장 된 9 개 교차 모델을 넘어서 다른 영역에서 빌린 형태로만 질문을 표현할 수 있습니까?
Matthew Snape

1
원하는 GIS 도메인 특정 언어로 질문을 정의하십시오. 그러나 결국 기계는 위의 방법 중 하나를 사용하여 쿼리합니다 (몇 가지가 빠져있을 수도 있지만).
geographika

7

1 -이 소프트웨어와 일부 연구가 있습니다 http://nlp.uned.es/MLQA06/papers/ferres.pdf를
가 더 인터넷 검색에 관련이에도 불구하고, 컴퓨터 언어와 인간의 언어를 번역하는 방법에 대한 몇 가지 지침을 제공 할 수있다.
인터넷 검색 'GeoTALP-Q'에서도 주제에 대한 더 많은 기사를 제공합니다.

2- GeoDjango 는 공간 쿼리를위한 API를 제공합니다. SQL에서 객체 지향 언어로의 변환으로 복잡한 공간 쿼리를위한 PL / python 함수 작성과 같은 많은 지루한 작업을 가속화 할 수 있습니다 . 그것은 것 데이터베이스에 의해 제한 사용.


흥미로운 발견입니다. 우리는이 사이트가 독립형이고 즉시 유용한 답변을 제공하기를 좋아하므로 관련 결론에 대한 요약과 함께 이와 같은 참조를 제공하는 것이 가장 좋습니다. 여기서 할 수 있습니까? 필자가이 논문을 매우 빠르게 해석하면 공간 관계 에 대한 쿼리를 처리하는 것이 아니라 웹 기반 데이터에서 지리적 속성 을 추출하는 데 더 중점을 둘 수 있다고 제안합니다 .
whuber

@whuber. 좋아요, 팁 주셔서 감사합니다. 향후 답변을 위해이를 고려하겠습니다.
Pablo

2
한 SQL에 대한 불행한 것입니다 자사의 공간 - 소리 예약어의 많은 공간과는 거의 무관하므로 : WHERE, FROM, 인디애나 등
커크 Kuykendall

@ Kirk Funny, 나는 그런 식으로 생각하지 않았습니다. 위치와 공간의 차이는 남자에게 두통을주기에 충분합니다. :)
Nathanus

@nathanus 네, 그리고 가장 가까운 거리 를 찾기 위해 dbms가 사용할 수있는 두 개의 사운드 엑스 사이 의 어휘 거리 개념도 있습니다 .
Kirk Kuykendall
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.