Tengo la siguiente capa usando SRID 27700 en postgis:
Es cada región administrativa en el Reino Unido y (como puede ver en la agrupación de colores) cada una de ellas tiene un campo de texto que especifica el condado en el que se encuentran.
Lo que me gustaría hacer es hacer polígonos de condado más grandes a partir de los más pequeños en un condado determinado, por lo que EG en la imagen sobre todos los polígonos de color verde azulado formaría un polígono grande del anillo exterior único que contiene todas las polis en ese color, como sabio todo púrpura, marrón, rosa, gris, etc., todos deben formar un polígono.
Ya he intentado lo siguiente:
insert into parishesmerged (geometry)
select astext(multi(ST_Union(the_geom))) as the_geom from parishes
group by county_name
Pero sigue generando geometrías rotas que luego tengo grandes problemas para procesar más.
Estoy tratando de hacer un mapa a nivel de condado más simple con las principales áreas de salida.
Cualquier solución no tiene que estar en Postgis tampoco, tengo la pila OS4Geo completa instalada, la última versión de QGis y más utilidades de las que puedo sacudir.
Las únicas cosas que no tengo son los grandes como ArcGis (aunque es posible que tenga un Old Mapinfo por ahí)
Para el registro, el conjunto de datos que estoy tratando de crear es acompañar un libro SIG que estoy escribiendo dirigido a programadores .NET que desean escribir aplicaciones SIG usando .NET
Después de probar las sugerencias a continuación, la que mejor funcionó fue la solución 'Paul Ramseys'.
Ahora tengo un buen archivo simplificado de condados y distritos que es lo suficientemente simple para mi libro, pero lo suficientemente complejo como para permitirme demostrar un interesante SQL geoespacial.
Aunque la solución de Paul finalmente fue la que funcionó para mí, también recurrí a otras respuestas para cosas como simplificar el mapa de polígonos y reducir aún más la complejidad.
Sin embargo, en lo que sí observé al hacer esto, aunque ST_Collect es más rápido que ST_Union, correr por correr también fue el principal responsable de las geometrías rotas. Supongo que el aumento de velocidad se obtiene a expensas de una menor precisión en la función central.
astext(multi())
parte? Solo estoy saliendo de lo que veo en otros ejemplos de disolución de PostGIS.