연결된 모서리 사이의 특수한 관계를 어떻게 설명합니까?


11

세 개의 모서리가 노드에서 연결되는이 간단한 상황을 고려하십시오.

가장자리 관계

A와 C의 관계와 구별되는 방식으로 A와 B 사이의 관계에 대한 간결하고 명확한 설명을 작성하고 싶습니다.“시계 방향으로 노드를 통과 할 때 A가 인접합니까? B에 있지만 A가 인접 하지 않습니까? C에게.” 그러나 실제로 인접하지는 않습니다.

다른 방법으로 말했다 : 당신이 노드에 서 있고 당신이 A를 향하고 있다고 상상해보십시오. 당신은 시계 방향으로 회전하기 시작합니다. 다음은 C가 아닌 B입니다.

위에서 쓴 것보다 더 간결하고 공식적이거나 올바른 방법으로 A와 B 사이의 관계를 설명하는 방법이 있습니까?

방향성이 있어야합니다 (이 유형의 관계는 시계 방향으로 A부터 존재하고 다른 관계는 시계 반대 방향으로 존재합니다). 그리고 노드에서 3 개 이상의 에지가 연결된 경우까지 확장해야합니다. 라우팅과 관련이 있습니까? (나는 도로 네트워크와 관련하여 이것을 생각하고 있습니다.)

이미 시도했지만 두 가지 접근 방식이 있습니다.

  1. 9IM과 같은 토폴로지 참조 : DE-9IM을 살펴 봤는데 , 비록 수학자가 아니더라도 다이어그램과 용어에서 이러한 유형의 관계를 다루지 않는다는 것을 알 수 있습니다. ESRI 도움말 또는 Oracle 도움말 의 토폴로지 설명에서 아직 찾지 못했습니다 . (아마도 거기에 있지만 아직 찾지 못했습니다!)

  2. Faces : A의 "north"쪽에있는 얼굴도 B가 아니라 B에 구속 될 수 있다는 사실을 가지고 놀았습니다. 그러나 여기 다이어그램에서 볼 수 있듯이 항상 사실이 아닙니다. 내 다이어그램이 A와 C가 동맥 도로이고 B가 짧은 막 다른 길인 도로 네트워크에서 추출한 것이라고 상상해보십시오.

내가 말하려는 것에 대한 용어가 하나도 없을 것 같습니다. 최소한 위에서 한 것보다 더 간단한 방법으로 그러한 관계를 설명하고 싶습니다. 이것은 플랫폼 독립적 질문입니다. 지금, 나는 단지 올바른 단어를 찾고 있습니다. 나중에 셰이프 파일에 파이썬 (pyqgis 또는 arcpy)의 개념을 구현하려고 시도하므로 끝점을 염두에 둔 답변은 특히 흥미롭지 만 필요하지는 않습니다.


방향별로 순서대로 연결된 모서리 목록을 각 노드에 연결하지 않는 이유는 무엇입니까?
Julien

1
DCEL을 찾고있는 것 같습니다 . 평면 그래프 를 이중화 하면면이 노드가됩니다. 그림에서 세 가지 얼굴의 존재 알파 , 베타감마 에지 분액으로, 베타 에서 감마 , 분리 에지 B 감마 에서 알파 및 분리 에지 C 알파 에서 베타 . 그것은 당신이 찾고있는 모든 정보를 포함하는 순환 그래프를 생성합니다. 실제로 이중 그래프에서 인접 합니다.
whuber

@julien, 고마워. 그것은 괜찮은 구현 아이디어입니다. 시도해 볼게요. 그러나 먼저 ... 나는 이런 유형의 관계를 설명 할 단어 나 구를 찾고 있습니다.
andytilia

@ whuber, 팁 주셔서 감사합니다. 전에는 DCEL을 본 적이 없습니다. B는 A의 북쪽 경계, 서쪽 끝 반 가장자리의 "다음"절반 가장자리처럼 보입니다. 흠 : 시계 반대 방향으로 가고 싶다면 A의 남쪽 경계 절반을 고려합니다. 공통 노드에 의해 암시됩니다. B가면 경계가 아닌 경우 (즉, 막 다른 길) 작동하는지 궁금합니다. 더 자세히 살펴 보겠습니다.
andytilia

@julien, 나는 당신의 의견을 다시 읽고 있습니다. 나는 당신이 나에게 제안 된 문구도 제공하고 있음을 알 수 있습니다. :-) 어쩌면 관계를 설명하기 위해 "방향으로 정렬"을 사용할 수도 있습니다. 그것으로 조금 놀아야합니다.
andytilia

답변:


1

나는 여기서 파티에 조금 늦었다는 것을 알고 있지만 이것은 매우 흥미로운 일이며 내 대답이 약간 유용 할 수 있기를 바랍니다.

당신이 요구하는 것은 질적 인 관계입니다. 종종 양적 관계의 형제를 무시했다. 질적 추론은 지리 공간 과학에서 자주 등장합니다. 쿼리의 예는 다음과 같습니다. 영역 A와 영역 B가 겹치는 부분에는 어떤 기능이 있습니까? 어느 지역이 오목합니까? 왼쪽에 어떤 도로가 있습니까? 관계는 다음과 같습니다 : 인접, 내부, 오목 및 왼쪽. 질적 쿼리는 더 크거나 짧거나 더 많은 양의 질문과 비교할 때 종종 간과되거나 저평가됩니다.

두 개의 입력을받는 정 성적 관계를 이진 관계라고합니다. 이에 대한 두 가지 공통된 표기법이 있습니다.-isLeftOf (A, B) 이것은 접두사 표기법입니다. -A isLeftOf B 이것은 부호 표기법입니다.

위의 예에서 단항 관계는 isConcave였습니다. 이 관계는 영역과 관련이 있으며 부울 값을 반환합니다.

9- 교차 모델 (9EIM에서 참조)에서 모든 Egenhofer의 공간 술어는 두 영역 간의 이진 관계입니다. Randell, Cui 및 Cohn의 RCC (http://en.wikipedia.org/wiki/Region_connection_calculus)에 관심이있을 수도 있습니다. 이 연구 영역에서 주어진 질적 (토폴로지) 관계는 영역을 영역과 관련시키고 나중에 작업은 선을 영역과 관련시킵니다. 그러나 이것은 당신이 찾고있는 것이 아닙니다.

좋아요, 미안하지만 질문의 용어 측면에서 도움이되기를 바랍니다.

@whuber는 DCEL (Doublely Connected Edge List)을 제안하는 데 성공했습니다. 이것은 CAD 시스템의 커버 및 날개 달린 모서리에서 자주 사용되는 조합 맵과 밀접한 관련이 있습니다. 날개 달린 가장자리 (http://en.wikipedia.org/wiki/Winged_edge) 개념은 잘 알려진 텍스트 표준이 다각형의 구멍을 정의하는 방법입니다 (http://en.wikipedia.org/wiki/Well-known_text). #Geometric_objects). 다각형에서 바깥 쪽 점의 순서는 시계 반대 방향이고 안쪽 점의 경우 시계 방향입니다. 이 순서대로 경계를 따라 걷는 작은 요정 사람은 항상 그녀의 왼쪽에있는 지역의 내부를 볼 것입니다.

조합 맵과 DCEL의 핵심은 이러한 객체가 방향이 지정된 표면에 정의되어 있다는 것입니다. 우리는 수학 형식에 들어갈 필요가 없습니다. 아이디어는 매우 간단합니다. GIS의 공간 참조 시스템에서와 같이 표면의 방향을 정의 할 수 있으면 방향이있는 표면이 있습니다. 따라서 방향을 정의 할 수 있으면 표면의 임의의 점 주위에 방향 순서를 정의 할 수 있습니다. 방향 순서를 사용하면 isLeftOf (A, B), isRotationallyAdjacentTo (A, B) 등을 정의 할 수 있습니다.

표면에 포함 된 그래프에서 정점을 기준으로 순서를 정의하려면 1) 가장자리 끝점에 레이블을 지정하고 2) 정점을 기준으로 규칙을 지정해야합니다. 배열의 요소 순서 (예 : 그림의 [A, B, C])가 시계 방향이면 B의 왼쪽에있는 가장자리를 알 수 있습니다.

귀하의 예에서 각 요소는 다른 요소와 인접합니다. 배열은 실제로 순열, 즉 순서가 중요하지만 어떤 요소가 먼저 중요하지 않기 때문에 배열에서도 볼 수 있습니다. 따라서 [A, B, C]는 [C, A, B]와 같습니다. 다시 말해, 배열은 마지막 요소를 첫 번째 요소에 인접하게 만드는 것입니다.


감사! 나는“회 전적으로 인접한”이라는 용어를 좋아합니다. 당신이 말했듯이 정점 주위의 순서에 대한 규칙으로 확장하면됩니다. 필자의 경우 컨벤션을 사례별로 정의해야하므로 제안한 순열을 사용하여 isRotationallyAdjacentTo (A, B, Direction)와 같은 코드를 작성하는 작업을 수행합니다. 또는 상기의 경우에있어서, "A는 B에 시계 방향으로 회전하고 A는 C에 시계 방향으로 회전하지 않는다".
andytilia

그건 그렇고, 나는 아직 지역 연결 미적분학을 보지 않았습니다. 이 문제를 해결하는 것은 아니지만 (그렇지만) 흥미 롭습니다. Randell, Cui 및 Cohn이 생각한“나중의 작품”을 알려주시겠습니까? (hm : RC & C 캐릭터는 RCC라고하는 프레임 워크를 만들었습니다)
andytilia

4

Teleatlas, Navteq, ESRI 등과 같은 공급 업체에서 제공하는 토폴로지 및 연결 그래프를 살펴보면 패턴이 표시되기 시작합니다 (물론 모든 사람이 자신의 "특별한"작업 방식을 가짐).

개인적 , 비록 1) 지리 토폴로지2) 라우팅 그래프는 단지있는 그래프 와 동일한 데이터 구조로 표현하도록 일반화 될 수 있으며, I는 가능한 그만큼 피하려고.

나는 내 머리를 구별하려고 노력합니다.

  • "지리 공간 토폴로지" (1) 라고 말하면 피쳐의 기하학적 관계를 나타내는 그래프 구조를 의미합니다 (예 : 모서리 A의 왼쪽, 모서리에 의해 형성된면 [A, B, C],면에 포함 된 것) B 등).
  • "라우팅 그래프" (2) 라고하면 라우팅 문제를 해결하기위한 그래프 구조를 의미합니다 (예 : [X] 제한 / 조건을 사용하여 A-> B에서 가장 짧은 경로).

그것들은 단지 그래프 일 뿐이며 과학폭에 속 하지만 같은 것과 일반화하지 않는 것이 분명한 장점이 있습니다. 서로 다른 용도로 사용되며 특정 목적에 특화된 작업을 최적화하고 적용하는 것이 훨씬 쉽습니다.

ESRI는 이것을합니다. 이들은하는 그래프 구조가 지리 토폴로지 (TopologyGraph) 및 다른 라우팅 문제를 그래프 구조 (네트워크 데이터 세트). 심지어 유틸리티 네트워크의 흐름 문제를 해결 하는 구형 그래프 구조- 기하 네트워크 -도 있습니다.

아마도 PostgreSQL / PostGIS 세계에서도 이와 같은 문제가 발생합니다. 라우팅을 위한 데이터 구조 와 지리 공간 토폴로지 를 위한 데이터 구조가 있습니다 .

귀하의 질문에, 당신은 그래프에 대해 이야기하고 시계 방향과 시계 반대 방향뿐만 아니라 얼굴을 탐색하여 얼굴을 만들었습니다.

"지리 공간 토폴로지"의 경우, 이러한 종류의 토폴로지를 표현하는 좋은 방법은 영국 수로 청이 S57 토폴로지 전체 토폴로지 설명에서 수행 하는 방식이라고 생각합니다 .

UKHO 전체 토폴로지

모든 주요 구현과 매우 유사합니다.

이제 찾고자하는 것이 라우팅 인 경우 단일 방향 또는 양방향 연결이 필요한지 여부에 따라 그래프가 달라집니다. 결국, 그것은 다음과 같이 요약됩니다.

  • 갖는 노드의 연결 TO 노드 생성 가장자리
  • 가장자리는 왼쪽과 오른쪽 (예 : 주소 범위)에 대한 속성이 있습니다.
  • 접합은 (가장자리가 연결하는 곳 노드를 즉) 제한의 집합을 가질 수 있습니다. 따라서 기본적으로 접점 자체를 나타내는 마스터 접점 항목과 흐름 제한을 나타내는 FROMTO 항목이있는 개별 항목이 있습니다.

행운을 빌어 프로젝트가 어떻게 진행되는지 알려주세요.


두 가지 유형의 그래프를 명확하게 구분 해 주셔서 감사합니다. 라우팅 그래프에는 일반적으로 가장자리 및 / 또는 노드에 대한 정보가 포함되어 있지만 지리 공간 토폴로지는 가장자리와 노드에 대한 속성이 필요하지 않다고 말하는 것이 공정한 차이라고 생각하십니까? 내 문제는 지리 공간 토폴로지 영역에 잘 맞습니다. 모서리 A와 B의 관계는 모서리의 특성에 관계없이 존재합니다. 그러나 나는 아직도이 관계를 명명하는 간결한 방법을 놓치고있다.
andytilia

"지리 공간 토폴로지는 에지와 노드에 대한 속성이 필요하지 않다"고 말하는 것이 너무 강력하다고 생각합니다. 실제로는 사례마다 다릅니다. 해당 노드가있는 기능간에 공유되는 속성이 포함 된 토폴로지 그래프를 보았습니다. 예는 Z 또는 온도 값입니다. 난 그냥 그냥 전화라고 말할 것입니다 노드 와하게 연결된 노드 필요하지만, 물론, 당신이 해결하고자하는 전반적인 문제의 충분한 상황이 없을 때 차이를.
Ragi Yaser Burhum

아, 맞아, 고마워 : 다리에서 교차하는 두 도로의 평면 그래프 표현. 네 개의 모서리가있는 하나의 노드가있을 수 있지만 모든 모서리가 서로 연결되는 것은 아닙니다. 따라서 해당 상황을 등급 교차점과 구별하기 위해 노드에 교차 레벨에 대한 정보가 포함되어야합니다.
andytilia

1
바로 그거죠 :). 이것이 제가 접합점을 언급 한 이유입니다. 나는 그 사건에 대해 생각하고 있었다. 이를 수행하는 한 가지 방법은 접점을 FROM-TO 항목이있는 "마스터 노드"로 표시하는 것입니다. 육교 / 육교 상황은 항상 발생합니다. 베이 브리지 또는 시카고와 같은 경우는 최악입니다. 2D 공간에서 가장자리가 일치하고 가장자리가 한쪽으로 흐르는 반면 다른 세트는 다른쪽으로 흐릅니다.
Ragi Yaser Burhum
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.