#postgis
#postgis
Вопрос:
Я пытаюсь упростить округа, приходы и районы Великобритании и избежать разрывов и перекрытий, которые создают st_simplifyPreserveTopology, поэтому я следил за этой темой, я задавал разные похожие вопросы, такие как этот или этот, но не решил мою проблему или все еще нарушал геометрию.
т.е. первый подход
with poly as (
select name, (st_dump(geom)).*
from new_bdline_county
) select d.name, baz.geom
from (
select (st_dump(st_polygonize(distinct geom))).geom as geom
from (
select (st_dump(st_simplifyPreserveTopology(st_linemerge(st_union(geom)), 10000))).geom as geom
from (
select st_exteriorRing((st_dumpRings(geom)).geom) as geom
from poly
) as foo
) as bar
) as baz,
poly d
where st_intersects(d.geom, baz.geom)
and st_area(st_intersection(d.geom, baz.geom))/st_area(baz.geom) > 0.5;
получил эти результаты:
то же самое с этим подходом:
Комментарии:
1. Доступны ли эти полигоны где-нибудь для скачивания? или еще лучше: можете ли вы поделиться инструкциями create table и insert вашего набора данных? Трудно увидеть проблему на таком маленьком изображении 🙂 приветствия
2. кстати, я пробовал этот запрос в наборе данных GADM, и, похоже, он работает. Можете ли вы также протестировать это?
3. @JimJones спасибо, я попробую этот запрос, наборы данных доступны в границах ОС