Foundry 온톨로지 데이터를 Gaia에 추가
Gotham의 Gaia에서 Foundry 객체와 이동 경로를 사용할 수 있습니다. 먼저 MRS 확인과 Gotham 연결 조건을 확인합니다.
MRS가 있으면 일반 Foundry 객체를 Gaia에 추가하는 데 유형 매핑이 필요하지 않습니다. MRS가 없는 환경에서 검색 템플릿, 함수 기반 EML이나 버전이 있는 객체 집합 기반 EML을 사용할 때는 해당 유형 매핑 조건을 따릅니다. 온톨로지 객체에 연결한 고급 지리 시계열 기능에는 MRS가 있어도 유형 매핑이 필요하며, GTS 통합에서 설명합니다.
추가 방식 선택
| 방식 | 지원 규모 | 갱신 | 필터 위치 | Gaia 관리 앱 접근 |
|---|---|---|---|---|
| 객체 또는 저장 탐색 끌어 놓기 | 객체 한 개 또는 객체 집합 하나의 최대 5,000개 객체 | 정적 | Foundry Object Explorer | 불필요 |
| Foundry 객체 검색 | 최대 5,000개 | 정적 또는 30초 | Gaia 왼쪽 패널 | 불필요 |
| 검색 템플릿 | 최대 5,000개 | 정적 또는 30초 | Gaia 왼쪽 패널 | 필요 |
| 지리 시계열 동기화 | 최대 5,000,000개 규모 | 실시간 | Gaia 왼쪽 패널 | 불필요 |
| 함수 기반 Enterprise Map Layer | 최대 5,000개 | 설정 가능 | Gaia 패널 또는 Foundry 함수 | 필요 |
| 버전이 있는 객체 집합 기반 EML | 최대 5,000개 | 설정 가능 | Foundry Object Explorer | 필요 |
빠르게 옮겨 볼 때는 끌어 놓기, 단순 검색에는 객체 검색을 사용합니다. 같은 YAML 검색 조건을 여러 지도에 재사용하려면 검색 템플릿, 큰 실시간 이동 데이터에는 시계열 동기화를 사용합니다. 함수 기반 EML은 온톨로지 함수의 조건을 활용하며, 객체 집합 기반 EML은 집합에 객체가 추가되거나 빠지는 변화를 지도에 반영하는 용도입니다.
구현 과정은 끌어 놓기와 직접 검색이 비교적 짧고, 검색 템플릿은 관리 설정이 필요합니다. 시계열 동기화와 두 EML 방식은 파이프라인 또는 함수 및 관리 구성을 준비해야 합니다. 표의 권한 열은 Gaia 관리 앱에 관한 것이며 Foundry 리소스의 읽기, 작성과 배포 권한을 대신하지 않습니다.
개별 객체 끌어 놓기
- Foundry Object Explorer에서 객체 유형을 찾습니다.
- 오른쪽 Results에서 객체를 선택합니다.
- 왼쪽 위 객체 아이콘을 Gaia 지도에 끌어 놓습니다.
지도와 왼쪽 패널에 객체가 나타나며 기본 레이어 이름은 Dropped Object Layer [Date] [Time]입니다. Gotham의 객체 뷰에서도 Gaia로 객체를 끌어 놓을 수 있습니다.
저장 탐색의 객체 집합 끌어 놓기
먼저 Object Explorer에서 유형을 고르고 Results로 이동합니다. 속성 검색, 차트나 그래프 필터로 대상을 좁힌 뒤 Save에서 Exploration으로 저장합니다. 이 공유 절차에는 Gaia 사용자가 접근할 수 있도록 구성한 공개 프로젝트를 사용합니다. 리소스와 객체 데이터의 권한도 별도로 필요합니다.
name 속성이 있는 location 유형에서 location_1 또는 location_2를 고르는 예제 조건은 다음과 같습니다.
where name is location_1 or where name is location_2
New exploration을 선택하고 저장한 이름으로 검색합니다. My Explorations & Lists에서도 찾을 수 있습니다. 왼쪽 위 객체 집합 아이콘을 Gaia에 끌어 놓으면 탐색 이름을 가진 검색 레이어 아래에 객체가 표시됩니다.
Object Explorer나 Workshop에서 옮긴 객체가 지도에 이미 있으면 Gaia가 중복을 알려 줍니다. 중복을 포함하거나 제외할 수 있으며, 상위 레이어가 접혀 있어도 중복 객체를 강조합니다.
Gaia에서 Foundry 객체 검색
Data sources에서 유형 이름을 검색하면 Object types 아래에 나타납니다. Search for objects를 선택하고 지리 조건을 정합니다.
| 조건 | 범위 |
|---|---|
| All | 검색한 유형 전체 |
| View | 현재 지도 화면 범위 |
| Draw | 직접 그린 도형 안 |
| Select | 활성 지도에서 선택한 항목 기준 |
시간 조건은 Static range 또는 Rolling window로 지정합니다. Live update search results를 켜면 조건에 맞는 새 객체를 포함하도록 30초마다 갱신합니다. Search title을 입력하고 Search를 선택합니다.
객체가 로드되지만 보이지 않으면 geopoint 또는 geoshape 같은 위치 속성을 확인합니다. 필요한 유형 매핑을 마쳤는데도 유형을 검색할 수 없으면 Gotham 환경의 Foundry 검색 기능 활성화 여부를 Palantir Support에 확인합니다.
검색 템플릿
검색 템플릿은 Gaia 관리 앱에서 사용자에게 제공할 검색 화면을 미리 구성합니다.
Geo Search
- Gaia 관리 앱의 Geo Search에서 Show를 선택합니다.
- 목록 아래 Add를 선택합니다.
- 검색 이름과 다음 필드를 입력합니다.
| 필드 | 의미 |
|---|---|
| Description | 검색 템플릿 위에 표시할 설명 |
| Tab ID | Geo Search와 템플릿을 연결하는 ID |
| Tab icon | Data sources에 표시할 아이콘 |
| Template ID | Tab ID와 같은 값으로 템플릿 연결 |
| Classification | 보안 분류. 환경에 따라 선택 항목일 수 있음 |
| ACL Groups | 접근할 그룹 |
필요한 추가 설정을 넣고 Preview and save로 Geo Search를 저장합니다.
Search Template YAML
Search Template에서 Show를 열고 기존 templates 목록에 다음과 같은 항목을 추가합니다. 기존 템플릿은 유지합니다. 아래 객체 유형 RID는 가상 값이며 실제로 검색할 유형 RID로 바꿉니다. id는 Geo Search의 Tab ID 및 Template ID와 같아야 합니다.
- id: french_cities
title: French cities
query:
queryType: AND
subqueries:
- inputId: keyword
queryType: KEYWORD
- field: object_type
queryType: OBJECT_TYPE
value:
- ri.ontology.main.object-type.3b8f57c0-2d79-4b64-8d56-94b849d992aa
dataSource: foundry-federation
namespaces:
- foundry-federation
description: Search for French cities and display their boundaries.
integratedDataSetIds: []
inputs:
- hint: Type a keyword...
id: keyword
inputType: TEXTFIELD
label: Keyword
aggregations: []
Preview and save로 저장한 뒤 지도 Data sources에서 템플릿 이름으로 찾거나 Integrated data sources에서 선택합니다. Keyword에 값을 넣고 Search title을 정한 뒤 Search를 선택합니다.
실시간 지리 시계열 동기화
관측 스키마를 갖춘 데이터셋에서 다음과 같이 Pipeline Builder 출력을 준비합니다.
- 데이터셋의
All actions > Create new pipeline을 선택합니다. - 데이터셋 노드의 Transform에서 Construct GeoPoint column을 찾아 위도와 경도를 geo_point 열로 만듭니다.
- 변환 이름을 Create GeoPoint로 정하고 Save한 뒤 Back to graph로 돌아갑니다.
- 변환 노드의 Add output에서 New geotemporal series sync를 선택합니다.
출력 이름, Destination namespace와 Primary fields를 설정합니다. 불필요하게 남은 미매핑 속성은 옆의 X 또는 Clear unmapped properties로 정리합니다. 새 Observation schema가 필요하면 값을 비워 자동 생성하도록 둡니다. 기본 Source system은 파이프라인 이름에 대응합니다.
Save 후 Deploy pipeline을 선택하고 그래프에서 Deployment up-to-date 상태를 확인합니다. 객체 유형과 GTSR까지 연결할 때는 전체 통합 절차를 사용합니다.
Gaia의 Data sources에서 동기화 이름을 검색하고 Tracks and observations search를 선택합니다. All, View, Draw 또는 Select로 지리 조건을 정하고 Historic search나 Live feed로 시간 범위를 선택한 뒤 Add to map을 누릅니다. 레이어가 로드되면 개별 항공편 같은 대상을 선택하여 설정할 수 있습니다.
함수 기반 Enterprise Map Layer
Foundry 온톨로지에 게시한 함수가 반환하는 객체 집합으로 EML을 구성합니다.
TypeScript v1 함수
- 객체 유형의 기반 데이터셋이 있는 프로젝트에서
New > Code repository를 선택합니다. - Functions와 TypeScript Functions를 고르고 이름을 정합니다. 이 공유 경로는 공개 프로젝트에서 함수를 관리하는 구성입니다. 공개 범위와 함수 접근 권한은 조직의 승인된 공유 정책을 따릅니다.
- Initialize repository를 선택합니다.
- Resource Imports에서 사용할 객체 유형을 프로젝트로 가져옵니다. 코드의 생성 바인딩이 준비된 뒤 Go to index.ts로 이동합니다.
다음은 가상 GroceryStore 유형과 city 문자열 속성을 사용하는 TypeScript v1 예제입니다. 저장소에 GroceryStore와 Objects.search().groceryStore() 바인딩이 생성되어 있고 지도에서 사용할 위치 속성이 준비되어 있어야 합니다. 실제 생성된 유형, 검색 메서드와 속성 이름에 맞춥니다.
import { Function } from "@foundry/functions-api";
import { GroceryStore, Objects, ObjectSet } from "@foundry/ontology-api";
export class MyEmlFunction {
@Function()
public storesInReims(): ObjectSet<GroceryStore> {
return Objects.search()
.groceryStore()
.filter(store => store.city.exactMatch("Reims"));
}
}
함수는 객체 집합을 반환하며 전체 객체를 배열로 미리 로드하지 않습니다. Private Ontology에서는 생성된 패키지 경로가 @foundry/ontology-api/<ontology-api-name> 형태이므로 실제 Resource Imports가 제공하는 패키지를 사용합니다.
Commit 후 Tag version으로 게시하고 Ontology Manager의 Functions에서 함수와 RID를 확인합니다.
Gaia EML 구성
Gaia 관리 앱의 Enterprise Map Layers에서 Add를 선택합니다.
| 항목 | 설정 |
|---|---|
| EML type | Foundry function EML |
| Description, Capabilities | 레이어 설명과 기능 |
| Tab icon | 선택적인 아이콘 |
| Classification | 레이어 보안 분류 |
| ACL Groups | 필요한 접근 그룹 |
| Function rid | Ontology Manager의 함수 Overview에서 복사한 RID |
| Refresh interval (seconds) | 선택적인 갱신 간격. 비워 두면 갱신하지 않음 |
| Geo filter property id | 선택적인 지리 필터 속성 ID. 예: 유형의 geopoint 속성 ID |
지리 속성 ID는 Ontology Manager의 Properties에서 해당 속성 옆 ... > Copy property id로 복사합니다.
Gaia의 Data sources에서 EML 이름을 검색합니다. Curated data sources의 Reference data layers 아래에 나타납니다. 지도 또는 왼쪽 패널에서 개별 객체를 선택하거나 숨길 수 있습니다.
버전이 있는 객체 집합 기반 EML
Object Explorer에서 위의 절차로 탐색을 저장하여 버전이 있는 객체 집합을 준비합니다. Gaia 관리 앱에서 EML type을 Versioned object set EML로 선택하고 해당 저장 탐색의 객체 집합을 대상으로 구성합니다. 함수 기반 EML의 설명, 접근 그룹과 갱신 설정을 사용하되 Function rid는 입력하지 않습니다.
MRS가 있으면 이 객체 집합 기반 EML의 기반 객체 유형을 별도로 유형 매핑하지 않아도 됩니다. 구성 후 Data sources에서 이름을 찾고 Curated data sources의 Reference data layers에서 지도에 추가합니다.