Files
ArchiTools/martin.yaml
T
AI Assistant ba71ca3ef5 feat(parcel-sync): fix click, color styling, UAT boundary cross-check
Click fix:
- Keep l-terenuri-fill visible but transparent (opacity 0) so it still
  catches click events for FeatureInfoPanel. Enrichment overlay renders
  underneath.

Color changes:
- No enrichment: amber/yellow fill (was light green)
- With enrichment: green fill
- Buildings: red fill = no legal docs, blue = legal, gray = unknown
- Parcel outline: red = building no legal, blue = building legal

Boundary cross-check (/api/geoportal/boundary-check?siruta=X):
- Finds "foreign" parcels: registered in other UATs but geometrically
  within this UAT boundary (orange dashed)
- Finds "edge" parcels: registered here but centroid outside boundary
  (purple dashed)
- Alert banner shows count, legend updated with mismatch indicators

Martin config: added gis_cladiri_status source with build_legal property.
Enrichment views: gis_cladiri_status now JOINs parent parcel's BUILD_LEGAL.

Requires: docker restart martin + POST /api/geoportal/setup-enrichment-views

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:05:12 +02:00

149 lines
3.5 KiB
YAML

# Martin v0.15 configuration — optimized tile sources for ArchiTools Geoportal
# All geometries are EPSG:3844 (Stereo70). Bounds are approximate Romania extent.
# Original table data is NEVER modified — views compute simplification on-the-fly.
postgres:
connection_string: ${DATABASE_URL}
default_srid: 3844
auto_publish: false
tables:
# ── UAT boundaries: 4 zoom-dependent simplification levels ──
gis_uats_z0:
schema: public
table: gis_uats_z0
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 0
maxzoom: 5
properties:
name: text
siruta: text
gis_uats_z5:
schema: public
table: gis_uats_z5
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 5
maxzoom: 8
properties:
name: text
siruta: text
gis_uats_z8:
schema: public
table: gis_uats_z8
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 8
maxzoom: 12
properties:
name: text
siruta: text
county: text
gis_uats_z12:
schema: public
table: gis_uats_z12
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 12
maxzoom: 16
properties:
name: text
siruta: text
county: text
# ── Administrativ (intravilan, arii speciale) — NO simplification ──
gis_administrativ:
schema: public
table: gis_administrativ
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 10
maxzoom: 16
properties:
object_id: text
siruta: text
layer_id: text
cadastral_ref: text
# ── Terenuri (parcels) — NO simplification ──
gis_terenuri:
schema: public
table: gis_terenuri
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 10
maxzoom: 18
properties:
object_id: text
siruta: text
cadastral_ref: text
area_value: float8
layer_id: text
# ── Terenuri cu status enrichment (ParcelSync Harta tab) ──
gis_terenuri_status:
schema: public
table: gis_terenuri_status
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 10
maxzoom: 18
properties:
object_id: text
siruta: text
cadastral_ref: text
area_value: float8
layer_id: text
has_enrichment: int4
has_building: int4
build_legal: int4
# ── Cladiri cu status legal (ParcelSync Harta tab) ──
gis_cladiri_status:
schema: public
table: gis_cladiri_status
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 12
maxzoom: 18
properties:
object_id: text
siruta: text
cadastral_ref: text
area_value: float8
layer_id: text
build_legal: int4
# ── Cladiri (buildings) — NO simplification ──
gis_cladiri:
schema: public
table: gis_cladiri
geometry_column: geom
srid: 3844
bounds: [20.2, 43.5, 30.0, 48.3]
minzoom: 12
maxzoom: 18
properties:
object_id: text
siruta: text
cadastral_ref: text
area_value: float8
layer_id: text