Dokumentace mapového prostředí AMČR
Požadavky na geometrie v ukládané do AMČR
Kontrolovat Self-intersection pro linii a polygon
Kontrolovat příliš krátké segmenty
Zajistit uložení polygonu pouze se třemi a více vertexy
Zakázat: Null geometry
Multipart feature nesmí být nikdy ze vstupu
Implementace
Sada testů a příkladů pro validaci geometrie
Validace přesnosti zadaných bodů
Pro geometrii S-JTSK je minimální vzdálenost mezi dvěma po sobě jdoucími body 0.11 m.
Pro geometrii WGS-84 je minimální vzdálenost mezi dvěma po sobě jdoucími body 0.000001°.
Validace geometrie
Validace bodu
Validace linie
Validace polygonu
Validace multi-geometrií a kolekcí
Rychlá kontrola validity v databázi
Validace PIAN
-- WGS-84
SELECT id, validateGeom(st_astext(geom)), st_astext(geom)
FROM public.pian
WHERE geom IS NOT NULL
AND validateGeom(st_astext(geom)) <> 'valid';
-- S-JTSK
SELECT id, validateGeom(st_astext(geom_sjtsk)), st_astext(geom_sjtsk)
FROM public.pian
WHERE geom_sjtsk IS NOT NULL
AND validateGeom(st_astext(geom_sjtsk)) <> 'valid';
-- statistika
SELECT validateGeom(st_astext(geom)), COUNT(*)
FROM public.pian
WHERE geom IS NOT NULL
AND validateGeom(st_astext(geom)) <> 'valid'
GROUP BY validateGeom(st_astext(geom));