지리 공간 데이터를 제공하는 방법

seohan·2022년 3월 7일
0

1. 위치 참조

한 번도 가본 적이 없는 도시에 있고 지도도 없다고 상상해 보십시오. 당신은 박물관을 찾고 있고 그래서 당신은 그것을 찾고 거기에 가는 사람에게 정보를 요청합니다. 얼마나 자주 당신이 훌륭하고 정확하며 신뢰할 수 있는 표시를 받을 것이라고 믿습니까? 명백한 간단한 질문에도 불구하고, 당신이 물어본 사람이 도시를 완벽하게 알고 있더라도 그의 정보가 혼란스럽고 어리둥절할 것입니다.

지리적 위치는 비즈니스에서 정치, 과학에서 엔지니어링 등에 이르기까지 각 분야에서 매우 중요하므로 당연하게 여깁니다. 그러나 적절한 지리 공간 데이터를 제공하는 것은 생각만큼 즉각적이지 않습니다. 교통 정보 시스템(TIS)은 위치 참조의 정확성이 얼마나 중요한지를 보여주는 가장 중요한 예입니다.

이러한 시스템에서 기본 목표는 신뢰할 수 있고 컴팩트한 방식으로 생산자가 소비자에게 트래픽 정보를 전송할 수 있도록 하는 것입니다. 교통 정보의 위치는 지구 표면의 점, 다각형 또는 2차원 모양일 수 있으며 위치 참조(LR)는 이러한 위치를 나타냅니다. 가장 일반적인 위치 참조 유형에 대해 설명하겠지만, 그 전에 간단한 역사적 설명이 제공됩니다.

RDS-TMC, TPEG 및 TISA

80년대 말 DRIVE(유럽 차량 안전 전용 도로 인프라)라는 유럽 프로젝트 덕분에 실시간 교통 정보 방송을 위한 RDS-TMC 프로토콜에 대한 유럽 차원의 첫 번째 세부 기술 제안이 있었습니다.

RDS(Radio Data System)는 기존 FM 라디오 방송을 통해 디지털 정보를 전송하기 위한 통신 프로토콜 표준입니다. TMC(Traffic Message Channel)는 RDS를 통해 소형 디지털 형식으로 전송할 트래픽 데이터의 내용을 정의하는 프로토콜입니다. 여러 제안 후에 채택된 최종 TMC 프로토콜은 ALERT-C(이름은 RDS-ALERT라고 하는 이전 프로젝트에서 상속되었으며 C는 A 및 B 다음의 세 번째 사양임)였습니다.

비영리 조직인 TMC-Forum은 교통 정보 관련 문제를 논의하기 위해 탄생했으며 2007년까지 TMC-Standard를 유지하다가 다른 조직(TPEG-Forum)과 합병하여 여행자 정보 서비스 협회(TISA)에 생명을 불어넣었습니다. TPEG(Transport Protocol Experts Group)는 TMC와 관련하여 내용 면에서 더 풍부한 데이터 프로토콜 세트이며 RDS뿐만 아니라 다른 전송 매체를 통해 전달할 수 있습니다. TPEG는 TPEG1(오늘날 더 이상 사용되지 않으며 레거시 시스템에서만 고려됨)이라는 첫 번째 형식으로 표준화되었지만 TISA에서도 지원하는 현재 ISO 표준은 TPEG2 사양입니다.

TMC 및 TPEG 기술은 모두 TISA 웹 페이지에서 볼 수 있듯이 전 세계적으로 적용됩니다(TMC 적용 범위 및 TPEG 적용 범위).

동일한 지도 공유를 통한 위치 참조

지리 공간 데이터를 전송하는 가장 간단한 방법은 생산자와 소비자가 동일한 지도를 들고 있을 때입니다. 정확함에도 불구하고 큰 단점이 있습니다. 맵을 업데이트하고 서로 공유하는 것은 고도의 조정이 필요하고 공급업체의 맵에 종속되기 때문에 매우 번거롭습니다.

미리 코딩된 위치로 위치 참조

첫 번째 대안은 미리 코딩된 위치를 사용하는 것입니다. 이는 두 행위자가 어떤 식으로든 문서화되고 업데이트에 대한 공통의 합의가 있을 때까지 고정된 위치 집합에 동의한다는 것을 의미합니다. 각자 고유한 맵을 가지고 있으며 사전 코딩된 각 위치에 대해 맵의 해당 링크 세트를 구축해야 합니다. 이와 같이 행위자 A가 자신의 링크에 있는 정보를 행위자 B에게 전달해야 할 때 공유하는 사전 코딩된 위치에 대한 매핑 덕분에 정보를 다른 맵의 링크로 쉽게 전송할 수 있습니다.

이 위치 참조 스키마는 미리 코딩된 위치와 지도 간에 매퍼 기능을 구축해야 하는 경우에도 상당히 간단하지만 다음과 같은 이유로 만족하지 않습니다.

  • 미리 코딩된 위치는 일반적으로 지리적 영역을 완전히 포함하지 않으므로 일부 정보를 전송할 수 없습니다.

  • 미리 코딩된 위치 설명은 고수준의 정의가 불가능하며 맵퍼 기능이 맵의 링크를 매핑하는 데 어느 정도 자유도가 있어 전송된 정보의 정확도가 낮아집니다.

  • 일부 사전 코딩된 위치는 지도 세부 정보로 인해 하나 또는 두 지도의 링크에 대한 매핑을 가질 수 없으며 정보를 전송할 가능성을 방지합니다.

  • 지도 버전 업데이트 또는 지도 공급업체 전환이 있는 경우 사전 코딩된 위치와 새 지도 간의 매핑을 다시 빌드/업데이트해야 합니다. 이것은 시간이 필요한 비용이 많이 드는 작업이며 그 동안 지리적 위치 정보의 오래된 프로비저닝이 있을 것입니다.

  • 미리 코딩된 위치 참조 업데이트가 있는 경우 동일한 맵을 공유하는 경우와 같이 매핑을 자체 링크로 동시에 재구축/업데이트하기 위해 여러 행위자 간의 조정이 필요하며, 이것은 힘든 작업입니다.

사전 코딩된 위치의 마스터 예는 RDS-TMC를 통해 교통 정보를 브로드캐스트하는 데 사용되는 ALERT-C 위치 테이블입니다.

동적 위치에 의한 위치 참조

앞에서 설명한 방법의 어려움을 극복하기 위한 또 다른 방법은 DLR(동적 위치 참조)입니다. 다음과 같은 의미에서 지도와 무관한 방법론으로 간주됩니다.

  • 두 행위자의 맵은 사전 코딩된 위치 참조 스키마와 완전히 독립적입니다(공급업체 및 버전 측면에서 모두).

  • 맵은 공유되지 않아야 하며 미리 코딩된 위치 참조 스키마와 같이 두 맵 사이에 다리 역할을 하는 중간 레이어가 없습니다.

몇 가지 DLR 방법이 있습니다.

  1. OpenLR
  2. TPEG-Loc
  3. AGORA-C
  4. ULR
  5. GIMME

이들의 핵심 아이디어는 높은 신뢰도의 성공률로 정보 콘텐츠를 다른 지도에서 디코딩할 수 있는 방식으로 주어진 지도의 위치를 인코딩하는 기능입니다. 이 마지막 하나는 올바른 식별 위치로 의도되어야 할 뿐만 아니라 지도에서 다른 위치로 위치를 식별하는 것이 불가능하다는 것을 올바르게 이해할 수 있는 기능이어야 합니다. 인코딩 및 디코딩 절차는 각 방법에 고유한 알고리즘에 의존하며 이에 대해서는 향후 게시물에서 자세히 설명하겠습니다.

TomTom, INRIX, HERE와 같은 교통 데이터 제공업체는 위치 참조 방법 중 DLR 방법도 사용하여 오늘날 사실상의 표준이 되었습니다.

2. OpenLR™

공간정보 교통정보를 동적으로 제공

이번에는 공간 교통 정보를 제공하기 위한 보다 일반적이고 현대적인 접근 방식에 대해 설명하겠습니다. 이동성은 정의상 완전히 동적인 시스템이므로 상세하고 업데이트된 교통 정보를 제공하기 위한 동적인 방법을 생각하는 것은 당연합니다. DLR(동적 위치 참조) 스키마는 지도에 구애받지 않는 것으로 간주됩니다. 즉, 교통 정보의 발신자와 수신자는 동일한 디지털 지도와 사전 코딩된 위치 테이블을 가지지 않아야 하지만 그들 간에 정보를 교환해야 합니다. . DLR 알고리즘에는 여러 유형이 있으며 가장 유명한 것은 다음과 같습니다.

  • OpenLR™
  • TPEG-Loc
  • AGORA-C
  • ULR
  • GIMME

이 모든 것의 아버지인 OpenLR™ 방법론에 대해 설명하겠습니다. 이 선택은 역사적 이유뿐만 아니라 그러한 기술이 오픈 소스이고 로열티가 없기 때문에 산업 분야에서 폭넓게 사용할 수 있기 때문입니다.

OpenLR™은 Tom Tom International B.V.에서 시작한 오픈 소스 프로젝트이며 OpenLR Association이 소유한 공개 표준입니다. 모든 사람은 추가 개발에 기여할 수 있습니다. 소스 코드 저장소는 GitHub에 있으며 든 Java 소프트웨어에서 사용할 수 있습니다. 그러나 decoder 기능만 필요하고 프로토타입을 만들거나 디코딩 자체를 검증하는 경우 Python 라이브러리를 더 쉽게 사용할 수 있습니다. 표준에 대한 자세한 설명은 OpenLR™ Association에서 제공하는 백서를 참조하십시오.

OpenLR™은 지도에 구애받지 않고 통신 채널에 독립적으로 설계되었으며 데이터 통신을 위한 대역폭을 최소화하도록 설계되었습니다. 두 지도 간의 가능한 차이 내에서 이 마지막 요구 사항은 위치 참조 작업의 신뢰성을 100%와 동일하지 않게 만듭니다. 오류가 발생할 수 있으며 오류를 발견하는 것이 어려울 수 있습니다.

응용 분야에 따라 예상되는 최소 품질 수준이 달라질 수 있으며, 특히 품질 매개변수로 TP(토폴로지 정확도) 및 GA(기하학적 정확도)를 정의하면 예상되는 최소 임계값은 TP > 80% 및 GA < 50미터입니다.

Topological 정확도는 방향과 동일한 라우팅 거리 시퀀스 측면에서 두 지도의 동일한 경로를 식별하는 것을 목표로 하는 반면 Geometry Accuracy는 위치를 가능한 한 정확하게 식별하는 것을 목표로 합니다. 정보 시스템으로 작업하는 경우 TP > 90% 및 GA < 20m를 가질 것으로 예상됩니다. 경고 응용 프로그램으로 작업하는 동안 TP > 95% 및 GA <10m; 마지막으로 제어 애플리케이션의 경우 예상 정확도는 TP > 99% 및 GA < 5m입니다.

위치 참조를 판단하는 데 사용되는 또 다른 품질 기준은 디코더가 불가능한 일치를 올바르게 식별하는 기능입니다. 이 상황은 예를 들어 두 지도 사이에 큰 차이가 있어 일부 거리가 두 지도 중 하나로 완전히 누락된 경우 또는 물리적 네트워크의 표현이 원형 교차로 및 복잡한 교차로에서 발생하는 것처럼 너무 많이 다른 경우에 발생할 수 있습니다.

어쨌든 이러한 DLR 작업의 중요한 점은 결과 품질의 자동 평가이며 위에서 언급한 임계값은 수동 검사를 통해 확인됩니다. DLR 방법론을 통해 참조할 지속적인 데이터 스트림이 잠재적으로 존재하는 실시간 시스템에 대해 이러한 접근 방식을 따를 수 없다는 것은 분명합니다.

기본 아이디어

이제 높은 수준의 이해에 유용한 몇 가지 개념을 소개하겠습니다.

OpenLR™은 위치 참조를 인코딩, 전송 및 디코딩(지도 독립적)하기 위한 방법 및 형식을 설명합니다. 위치는 점, 경로 및 영역과 같은 객체입니다. 이 방법을 사용하면 지도에서 위치를 인코딩하고 다른 지도가 있는 시스템으로 보내고 이 수신 지도에서 위치를 다시 찾을 수 있습니다. 이러한 위치 참조를 전송하는 형식은 대역폭 제한이 있는 시스템에서 사용할 수 있도록 컴팩트합니다. OpenLR™은 도로 네트워크에 연결된 위치뿐만 아니라 지구상의 모든 위치에 있는 위치도 처리할 수 있습니다.

OpenLR™의 주요 아이디어는 순서가 있는 LRP(위치 참조 포인트) 집합으로 위치를 설명하는 것입니다. 이 LRP 집합은 지도에서 위치를 고유하게 식별하며 위치 참조라고 합니다. 각 LRP는 지도의 위치 또는 선을 지정합니다.

도로 네트워크에 연결된 위치에 대한 아이디어는 최단 경로들을 연결하여 위치를 덮는 것입니다. 그러한 최단 경로의 연결은 위치를 완전히 커버해야 합니다. 각 최단 경로는 시작 라인과 끝 라인에 대한 정보로 지정됩니다. 이 정보는 LRP(위치 참조점)에 결합됩니다. LRP는 위치의 시작부터 위치의 끝까지 정렬되며 두 개의 후속 LRP 사이의 최단 경로는 위치의 일부를 포함합니다. 이러한 모든 최단 경로의 연결은 위치를 완전히 커버하며 이 경로를 위치 참조 경로라고 합니다. 위치 참조 경로는 원래 위치보다 길 수 있으며 오프셋은 이 경로를 위치 경로의 크기로 자릅니다.

OpenLR™ 인코더의 역할은 위치를 고유하게 설명하기 위해 위치 참조 포인트의 수와 위치를 결정하는 것입니다. OpenLR™ 디코더의 역할은 수신된 위치 참조 포인트를 자체 맵의 위치로 해석하는 것입니다.

위치 참조를 전송하기 위한 물리적 형식은 OpenLR™ 표준에도 설명되어 있습니다. 바이너리 형식(Base64로 인코딩됨)은 컴팩트하며 데이터 크기가 작아야 하는 위치 참조 데이터 전송에 사용할 수 있습니다. 기존 데이터 전송 환경이 이미 XML을 기반으로 하고 있는 경우 XML 형식을 사용할 수 있습니다.

위치 유형

OpenLR™은 여러 유형의 위치를 지원합니다.

  • 선분
  • 지리 좌표
  • 선분 위의 점
  • Poi-With-Access-Point
  • 직사각형
  • 그리드
  • 다각형
  • 닫힌 라인

주로 가장 많이 사용하고 일반적인 것, 즉 라인 위치에 대해 설명합니다. 그러나 다음 그림에서 모두의 스케치를 볼 수 있습니다.

요구 사항

인코딩 및 디코딩에 사용되는 디지털 맵과 위치 자체는 OpenLR™ 방법에 대해 수용 가능한 결과를 보장하기 위해 몇 가지 요구 사항을 충족해야 합니다.

지도의 경우 다음 요구 사항이 있습니다.

  • 좌표는 WGS84 참조 시스템에 있어야 합니다.
  • 좌표는 도에 대해 최소 5자리 십진수
  • 길이는 미터 단위
  • 선은 실제 기하학을 가져야 합니다.
  • 모든 선에는 망에서 중요성을 나타내는 FRC 값이 있어야 합니다.
  • 모든 선에는 물리적 속성을 나타내는 FOW 값이 있어야 합니다.

지도의 세 가지 정보 중 적어도 두 개는 기하학, FRC 및 FOW 중에서 사용할 수 있어야 하며, FRC보다 기하학이 더 중요하며, 이는 더 나은 디코딩을 부여하는 데 FOW보다 더 중요합니다.

위치의 요구 사항과 관련하여 다음과 같은 질문에 대한 1번 라인에만 초점을 맞출 것입니다.

  • 라인 위치가 연결되어 있어야 합니다.
  • 라인 위치는 라인 요소의 정렬된 목록으로 표시됩니다.
  • 오프셋은 양수 값이며 합계는 위치의 총 길이와 같아야 합니다.

논리 데이터 형식

OpenLR™ 위치를 개념적으로 이해하기 위해 OpenLR™이 위치 참조 점(LRP)라고 부르는 것을 레고 브릭으로 설명하겠습니다. LRP는 LRP 자체를 구성하는 데 사용되는 몇 가지 빌딩 블록 덕분에 지도에서 위치를 결정합니다.

이러한 빌딩 블록에 대한 설명은 다음과 같습니다.

  • COORD: 경도와 위도의 좌표 쌍

  • FRC: 도로가 나타내는 도로의 중요성에 기반한 선의 기능적 도로 등급. OpenLR™은 다음 8가지 값을 정의합니다.

    • 0 ~ 7
  • FOW: 선분의 물리적 도로 유형을 설명합니다. FRC의 경우 OpenLR™에 의해 정의되고 아래 표에 나열된 값과 맵에서 식별된 값 사이에 적절한 매핑을 갖는 것이 중요합니다.

    • Undefined
    • 차로
    • 다중 운반로
    • 단일 운반로
    • 일방통행로
    • 교통섬
    • 진입로
    • 기타
  • BEAR: LRP의 좌표와 LRP에 의해 정의된 선을 따라 BEARDIST인 점의 좌표로 정의되는 선과 진북 사이의 각도를 설명합니다. 선 길이가 BEARDIST보다 작으면 선의 반대 점이 사용됩니다. 방위는 북쪽에서 시계 방향으로 각도로 표시되는 양수입니다.

BEAR는 LRP의 북쪽 방향(빨강 점선)과 벡터(빨강 화살표)와 LRP에서 BEARDIST(강조된 빨간색 호 )
  • DNP: Distance to Next Point 필드는 LRP의 토폴로지 연결에서 다음 LRP까지의 거리입니다. 거리 단위는 미터로 측정되며 두 개의 후속 LR 포인트 사이의 위치 참조 경로를 따라 계산됩니다. 마지막 LRP는 거리 값이 0입니다.

  • LFRCNP: 다음 지점까지의 가장 낮은 FRC는 두 개의 연속 LR 지점 사이의 위치 참조 경로에 나타나는 가장 낮은 FRC 값입니다.

  • POFF: 포지티브 오프셋은 위치의 시작점과 위치 참조 경로를 따라 원하는 위치의 시작점의 차이입니다. 값은 미터로 측정됩니다. (선택사항입니다)

  • NOFF: Negative Offset은 원하는 위치의 끝점과 위치 참조 경로의 끝점의 차이입니다. (선택사항입니다)

이러한 모든 속성은 LRP를 생성하고 도로망에 바인딩된 경우 모든 속성은 이 LR-포인트에 연결됩니다. 모든 LR-포인트(마지막 LR-포인트 제외)에 대해 속성은 위치에 속하는 LR-포인트 좌표에서 노드의 나가는 선분을 설명합니다. 마지막 LR-포인트의 속성은 해당 위치에 속하는 LR-포인트 좌표에서 노드의 들어오는 선분으로 향합니다.

선분 위치의 경우, 세 가지 유형의 위치 참조 포인트에 초점을 맞추고 있습니다. "첫 번째 LRP"는 라인 위치의 시작 라인을 설명합니다. "마지막 LRP"는 위치의 끝선을 나타냅니다. 두 유형 모두 라인 위치에 필수입니다. 인코더가 위치 경로를 따라 추가 라인을 표시하기로 결정한 경우 "중간 LRP"가 위치 참조 포인트 목록에 추가됩니다. 이러한 추가 LRP는 디코더가 위치를 재구성하는 가이드 역할을 합니다.

LRP의 시퀀스로 정의된 선분 위치. POFF 및 NOFF는 선택 사항이며 정밀도를 향상시키는 데 사용됩니다.

OpenLR™은 다음과 같이 적절하게 정의된 위치에 대한 몇 가지 규칙도 정의합니다.

  • 두 개의 연속 LRP 사이의 최대 거리는 15km입니다.
  • 도로 길이는 정수로 보고됩니다.
  • LRP는 가급적 유효한 네트워크 노드에 배치해야 합니다.
  • 오프셋은 처음 두 개(마지막 두 개) LRP를 참조해야 합니다.

선분 위치 인코딩/디코딩

이제 선분 위치를 인코딩/디코딩하기 위해 수행된 작업에 대해 설명합니다.

인코딩

인코딩 맵의 선분 위치, 즉 인코더 맵의 연결된 링크 시퀀스가 주어지면 적절한 OpenLR 인코딩을 생성하는 아이디어는 첫 번째 유효한 노드와 마지막 노드 사이에 최단 경로 검색을 적용하는 것입니다. 이전에 언급된 모든 규칙이 충족됨). 결과 경로가 지정된 위치의 모든 링크를 정확히 포함하는 경우 절차가 중지되고 적절한 물리적 형식(바이너리 또는 XML)으로 패키지된 LRP가 생성됩니다. 그러나 최단 경로가 주어진 위치에서 벗어나면 첫 번째 이탈 지점이 식별되고 새로운 중간 LRP가 생성되고 새로운 최단 경로가 수행됩니다. 이러한 절차는 해당 위치가 최단 경로로 완전히 덮일 때까지 재귀적으로 반복됩니다.

디코딩

인코딩된 OpenLR 위치가 주어지면 디코더는 우선 지리적 관점에서 인코딩된 위치의 LRP와 가장 잘 일치하는 디코딩 맵의 노드를 식별합니다. 각 LRP에는 둘 이상의 노드가 연결될 수 있습니다. 이러한 동작 후에, 디코더는 LRP의 속성과 디코딩 맵의 속성을 모두 고려하는 스코어링 기능에 기초하여 이전에 식별된 노드와 관련된 디코딩 맵의 최상의 링크를 인코딩된 각 LRP에 대해 선택합니다. 링크가 발견되면 각각의 후속 링크에 대해 최단 경로가 수행되고 모든 결과가 디코딩된 위치를 제공하여 적절하게 연결됩니다.

인코딩 및 디코딩 프로세스에 대한 대략적인 설명에서 상상할 수 있듯이 인코딩 맵에 설명된 위치와 디코딩 맵에서 식별된 위치가 완벽하게 일치할 확률은 1이 아닙니다. 맵의 차이와 실패할 수 있는 랭킹 기준을 사용한다는 사실 때문에 맵이 같아도 완벽한 매치가 불가능합니다! 디코딩 응용 프로그램의 목적은 좋은 일치를 최대화하는 디코딩 절차의 매개변수 집합을 찾는 것이지만 여기에서는 수동으로 평가를 수행하는 것이 불가능하고 자동 절차를 사용해야 하기 때문에 이러한 프로세스를 설정하는 데 가장 많은 비용이 듭니다. 어쨌든 동적 위치 참조 시스템 사용의 이점은 방금 강조한 단점에 비해 큽니다. 방법론의 한계를 인식하고 100% 정확성을 요구하지 않는 것이 중요합니다.

profile
코드코드

0개의 댓글