У мене є наступний шар за допомогою SRID 27700 в postgis:
Це кожен адміністративний регіон Великобританії, і (як видно з угруповання кольорів) кожен з них має текстове поле із зазначенням округу, в якому вони перебувають.
Що я хотів би зробити, це зробити більші повітові багатокутники з менших в даному окрузі, так що ЕГ на малюнку, перш за все, багатокутники кольору сліз, утворювали б один великий багатокутник з єдиного зовнішнього кільця, який містить усі поліси в цьому Колір, як і мудрий весь фіолетовий, коричневий, рожевий, сірий тощо, повинен утворювати один багатокутник.
Я вже спробував таке:
insert into parishesmerged (geometry)
select astext(multi(ST_Union(the_geom))) as the_geom from parishes
group by county_name
Але він продовжує генерувати розбиті геометрії, які потім у мене виникають великі проблеми з обробкою.
Я намагаюся зробити простішу карту на рівні округу з основними зонами випуску в Росії.
Будь-які рішення також не повинні бути в Postgis, у мене встановлений повний стек OS4Geo, остання версія QGis та більше утиліт, ніж я можу потиснути палицю.
Єдині речі, яких у мене немає, - це такі великі хлопчики, як ArcGis (хоча у мене, можливо, десь лежить стара карта)
Для запису, набір даних, який я намагаюся створити, - це супровід книги GIS, яку я пишу, спрямованої на програмістів .NET, які бажають писати GIS-програми за допомогою .NET
Спробувавши запропоновані нижче пропозиції, найкращим було рішення «Пол Рамсейс».
Зараз у мене є приємний спрощений файл повітів та районів, який досить простий для моєї книги, але достатньо складний, щоб я міг продемонструвати цікавий геопросторовий SQL.
Незважаючи на те, що рішення Павла в кінцевому підсумку було тим, що працювало для мене, я також звернув на інші відповіді на такі речі, як спрощення карти багатокутника та подальше зниження складності.
На те, що я спостерігав, роблячи це, однак, хоча ST_Collect дійсно швидше, ніж ST_Union, біг на біг, він також був головним чином відповідальним за зламані геометрії. Моя здогадка, збільшення швидкості виходить за рахунок меншої точності основної функції.
astext(multi())
частини? Я просто закінчую те, що бачу в інших прикладах розкриття PostGIS.