@territory-kit/dataset
v1.2.0
Published
Dataset schema, validation, and loading utilities for TerritoryKit.
Readme
@territory-kit/dataset
Dataset schema, validation, and GeoJSON conversion utilities for TerritoryKit.
Installation
pnpm add @territory-kit/datasetBasic Usage
import {
loadTerritoryDataset,
createTerritoryAdjacencyIndex,
validateGeometryDataset,
validateTerritoryAdjacencyArtifact,
validateTerritoryDataset
} from "@territory-kit/dataset";
const result = validateTerritoryDataset(input);
if (!result.ok) {
console.error(result.issues);
}
const dataset = loadTerritoryDataset(input);
const geometryReport = validateGeometryDataset(dataset, { checks: "full" });
const adjacencyReport = validateTerritoryAdjacencyArtifact(dataset, adjacencyArtifact);
const adjacencyIndex = createTerritoryAdjacencyIndex(adjacencyArtifact);API Summary
validateTerritoryDataset(input)validates a TerritoryKit dataset and returns structured issues.loadTerritoryDataset(input)validates and returns a typed dataset or throws.createTerritoryDatasetFromGeoJson(input, options)imports GeoJSON features into the schema.createTerritoryGlobalId(input)creates deterministic global territory IDs.validateGlobalDatasetManifest(input)validates the stricter global dataset manifest contract.validateTerritoryGlobalMetadata(input)validateszone.properties.territorymetadata.validateGeometryDataset(dataset, options)runs validate-only geometry quality checks.repairGeometryDataset(dataset, options)applies explicit safe repairs and returns an audit report.computeGeometryBBox,computeGeometryCenter, andgeometryToPolygonsprovide geometry helpers.classifyTerritoryGeometryRelationandcomputeSharedBoundaryMetersprovide exact polygon adjacency primitives.validateTerritoryAdjacencyArtifactandcreateTerritoryAdjacencyIndexsupport separate adjacency artifacts.TERRITORY_SCHEMA_VERSIONexposes the currentterritory-schema@1identifier.
Global Dataset Metadata
Global datasets keep territory-schema@1 compatibility by storing semantic administrative metadata
inside zone.properties.territory.
import { createTerritoryGlobalId, validateGlobalDatasetManifest } from "@territory-kit/dataset";
const id = createTerritoryGlobalId({
countryCode: "TR",
adminLevel: "ADM2",
localId: "Fatih"
});
const manifestResult = validateGlobalDatasetManifest(manifest);License
Apache-2.0
