Enable governed GRB evolution
This commit is contained in:
@@ -10,7 +10,6 @@ VectorFeatureService; this operator never writes directly to vector_features.
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
@@ -340,11 +339,11 @@ def build_partition_features(
|
||||
pages_by_collection[collection.name] += 1
|
||||
for source_feature in payload.get("features") or []:
|
||||
bbox_feature_count += 1
|
||||
raw_id = str(source_feature.get("id") or "")
|
||||
raw_id = str(source_feature.get("id") or "").strip()
|
||||
if not raw_id:
|
||||
raw_id = hashlib.sha256(
|
||||
json.dumps(source_feature.get("geometry"), sort_keys=True).encode("utf-8")
|
||||
).hexdigest()
|
||||
raise RuntimeError(
|
||||
f"GRB {collection.name} feature is missing an official source identity"
|
||||
)
|
||||
feature_id = f"{collection.name}:{raw_id}"
|
||||
if feature_id in seen_ids:
|
||||
continue
|
||||
@@ -736,6 +735,11 @@ def provision_dataset(
|
||||
"feature_count": manifest["feature_count"],
|
||||
"partition_count": len(partition_paths),
|
||||
"partition_strategy": manifest["partition_strategy"],
|
||||
"identity_stable": True,
|
||||
"identity_scheme": "grb_ogc_feature_id",
|
||||
"identity_prefixes": [
|
||||
f"{item.name}:{item.name}." for item in definition.collections
|
||||
],
|
||||
"selection_aggregation": {
|
||||
"metric_key": definition.metric_key,
|
||||
"method": definition.metric_method,
|
||||
|
||||
Reference in New Issue
Block a user