Pipeline Builder를 사용하면 지리공간 데이터를 로드하고 변환한 후 활용할 수 있습니다. 만약 지리공간 워크플로가 현재 Pipeline Builder의 기능으로 지원되지 않는 경우, Code Repositories에서 데이터를 변환하기 위해 Foundry의 레거시 지리공간 문서를 참조하십시오.
Pipeline Builder는 기본 유형(스트링, 정수, 부울, 배열, 구조)에 데이터를 대한 추가 제약 조건이 있는 논리 유형 개념을 사용하여 지리공간 데이터를 내부적으로 모델링합니다. 예를 들어, Geometry 유형은 유효한 GeoJSON이어야 하는 스트링으로 정의되며 Geo-point는 -180
과 180
사이의 경도 및 -90
과 90
사이의 위도를 포함한 구조여야 합니다. 지원되는 유형 전체 목록은 아래에서 찾을 수 있습니다.
Pipeline Builder의 모든 논리 유형은 기본 유형의 상속자입니다. 예를 들어, Geometry는 스트링 유형의 입력을 예상하는 표현식에 입력으로 사용할 수 있지만 그 반대는 아닙니다. 기본 유형에서 해당 기본 유형을 확장하는 특정 논리 유형으로 캐스트하려면 "Logical Type Cast" 표현식을 사용할 수 있으며, 이 표현식은 해당 논리 유형과 관련된 제약 조건을 데이터에 적용하고 검증에 실패하는 값은 null로 처리합니다. 표현식이 입력 및 출력으로 논리 유형을 지정할 수 있게 되면, 지리공간 특정 표현식이 GeoJSON 스트링을 예상할 때 GeoJSON 스트링이 수신됩니다.
Pipeline Builder는 현재 다음 지리공간 유형을 지원합니다.
경도
와 위도
구조체로, 경도
는 -90
에서 90
사이의 더블 값이고, 위도
는 -180
에서 180
사이의 더블 값입니다. Geo-point는 WGS:84 또는 EPSG:4326 좌표 참조 시스템(CRS)에 따라 유효한 (x, y) 좌표여야 합니다.minLat
, minLon
, maxLat
, maxLon
구조체로 표현된 경계 상자로, 각 항목은 유효한 Geo-point이며 maxLat > minLat
및 maxLon > minLon
입니다.{lat},{lon}
형식을 충족해야 하며, -90 <= lat <= 90
및 -180 <= lon <= 180
입니다.Pipeline Builder는 지리공간 데이터를 위한 다양한 변환 및 표현식을 지원합니다.
lat,lon
쌍을 가져와서 위에서 설명한 범위를 검증하고 Geo-point 표현으로 변환합니다.x,y
쌍과 좌표 참조 시스템을 가져와서 WGS:84로 (x,y)
를 투영한 다음 Geo-point 표현을 구성합니다. EPSG 데이터베이스의 대부분의 좌표계, 모든 UTM 영역 포함,에서 변환을 지원합니다.위의 두 유형 사이에서 번역할 추가 표현식이 있으며, H3 인덱스, MGRS, 경계 상자 및 온톨로지 지리점 형식으로 변환할 수도 있습니다.
좌표 참조 시스템 및 투영에 관한 문서에서 지리공간 데이터 형식에 대해 자세히 알아보십시오.
Pipeline Builder의 지리공간 유형의 열을 채운 후 지리공간 데이터에 특화된 변환을 활용할 수 있습니다. 대부분의 변환(지오 조인 제외)은 스트리밍과 일괄 워크플로에서 모두 지원됩니다. 일부 주요 사항은 다음과 같습니다.
Pipeline Builder는 다음 지리공간 조인을 지원합니다:
Pipeline Builder의 Geometry 교차점 조인은 Geometry 유형 열이 있는 두 개의 데이터셋이 필요합니다. Geometry 교차점 조인은 Ontology Geo-point나 Geo-point를 입력 유형으로 받지 않습니다. 조인을 적용하기 전에 Geometry 열을 정규화하고 출력에서 필요하지 않은 경우 null
값은 명시적으로 필터링하는 것이 좋습니다. 파이프라인에 비결정성이나 다른 조인이 있는 경우, 지오조인 전에 체크포인트를 추가하는 것이 좋습니다.
Pipeline Builder는 중간 크기의 Geometry(약 34개의 점까지)에 대해 최대 100만 행까지 조인할 수 있으며, 출력 행 수가 두 배 증가한다고 가정합니다. 편향된 데이터의 경우, 한쪽이 최대 2억 5천만 행에 대해 다른 한쪽이 1.6천 행까지 지원할 수 있습니다. Geometry의 크기가 증가함에 따라 안정성이 저하될 수 있습니다. 조인은 하나의 대규모 Geometry(약 4만 개의 점)에 대해 최대 50만 행까지 지원할 수 있습니다. 더 큰 규모는 간헐적으로 성공할 수 있지만 공식적으로 지원되지 않습니다.
출력에서 행 수가 교차 조인의 행 수와 비슷한 경우, 조인에서 안정성이 저하될 수 있습니다.
Geometry 교차점 조인 대신에 "Geometries have intersection" 필터로 구성된 교차 조인을 사용하면 메모리 사용량이 더 안정적일 수 있습니다. 그러나 이 접근 방식은 빌드 시간이 급격하게 증가할 수 있습니다. 또 다른 대안은 Code Repositories에서 geospatial-tools
PySpark 라이브러리를 사용하는 것입니다. Palantir 담당자에게 자세한 정보를 문의하십시오.
Pipeline Builder의 Geometry 거리 조인은 Geometry 유형 열이 있는 두 개의 데이터셋이 필요하며, 거리 값은 0보다 커야 하고 거리의 단위를 결정할 좌표 참조 시스템 스트링이 필요합니다. 예를 들어, 좌표 참조 시스템에 "epsg:4326"이 제공되면 거리는 도 단위로 간주됩니다. 교차점 조인과 마찬가지로 Geometry 열을 정규화하고 출력에서 필요하지 않은 경우 null
값을 명시적으로 필터링하는 것이 좋습니다. 파이프라인에 다른 조인이나 비결정성이 있는 경우 조인 전에 체크포인트를 추가합니다.
Pipeline Builder는 작은 Geometry(각각 약 8개의 점까지)에 대해 최대 100만 행까지 조인할 수 있으며, 조인의 결과로 행 수가 2배 증가한다고 가정합니다. 출력 행 수가 교차 조인의 행 수와 비슷한 경우, 안정성이 저하될 수 있습니다.
Geometry 거리 조인 대신에 행 수 증가가 클 때 메모리 사용량이 더 안정적일 수 있는 Geometry 버퍼와 "Geometries have intersection" 필터로 구성된 교차 조인을 사용할 수 있습니다. 그러나 대부분의 경우 이 접근 방식은 빌드 시간이 급격하게 증가할 수 있습니다.
Pipeline Builder의 Geometry 최근접 이웃 조인은 두 개의 데이터셋이 필요합니다: base
Geometry 데이터셋과 neighbors
포인트 데이터셋입니다. k
정수 파라미터는 각 기본 Geometry에 대해 찾을 최근접 이웃 수를 설정합니다. 거리를 계산하고 비교할 때 사용할 좌표 참조 시스템이 필요합니다. 결과는 기본 Geometry에 가장 가까운 k
개의 점 중 하나인 geopoint를 포함하는 결합된 행 세트입니다. 동점은 임의로 처리되며 결과는 특정 순서로 반환되지 않습니다.
이 조인에는 두 가지 요구 사항이 있습니다:
neighbors
데이터셋의 모든 geopoints가 실행기와 드라이버 메모리에 맞아야 합니다. 이는 현재 하드 요구 사항으로 조인의 확장성을 제한합니다. neighbors
데이터셋을 분배하는 데 필요한 유즈케이스가 있는 경우 Palantir 담당자에게 문의하십시오.
Foundry는 현재 neighbors
데이터셋에서 geopoint 논리 유형만 허용하여 메모리 소비를 제한합니다. 조인의 neighbors
쪽에 비점 Geometry가 필요한 경우 Palantir 담당자에게 문의하십시오.
실제로, Pipeline Builder는 이웃 데이터셋에서 몇 백 천 행까지 k
의 적당한 값(< 5)을 지원하며, 기본 데이터셋에는 최대 백만 개의 Geometry가 있습니다. 두 데이터셋이 모두 몇 백 천 행이 있는 경우, Pipeline Builder는 훨씬 더 큰 k
값을 지원할 수 있습니다. 이런 경우 최대 수백 개의 최근접 이웃을 빠르게 찾을 수 있습니다. 이 시점을 넘어서 입력의 규모를 늘리면 간헐적으로 성공할 수 있지만 일반적으로 지원되지 않습니다.
조인이 안정성 문제를 겪고 있다면 다음 단계를 사용하여 수정하십시오:
Pipeline Builder에서 데이터를 변환한 후에는 맵에서 이러한 변환 결과를 시각적으로 확인하여 유효성을 검사할 수 있습니다. 일반 미리보기 창에서 맵에서 미리보기하려는 셀을 선택합니다(셀은 위에서 언급한 지리공간 유형 중 하나의 열에서 가져와야 합니다). 오른쪽 클릭하고 Open Geo Preview를 선택합니다.
새로운 미리보기 탭이 나타나며, 선택한 셀이 지도에 표시됩니다.
Pipeline Builder의 지리공간 기능은 플랫폼 전반에 걸쳐 하류 데이터와 원활하게 통합되도록 설계되었습니다.