¿Cómo se disuelven los polígonos del archivo shape utilizando herramientas de código abierto?


10

En mi proyecto actual estoy visualizando datos en un mapa que representa algunos valores para cada área administrativa de un país. Me dan un archivo de forma de este país, que estoy convirtiendo a GeoJSON para usarlo con PolyMaps. Ahora tengo el requisito de agrupar varias áreas en áreas más grandes, ya que no hay datos para algunas de las partes más pequeñas, pero se pueden adquirir datos agregados para las más grandes. Esos grupos están predefinidos (por ejemplo, A + B + C = D), por lo que pensé que sería más fácil producir un archivo de forma agrupado y luego convertirlo a GeoJSON.

Pero, ¿cómo creo un clúster de este tipo, preferiblemente automatizado y con herramientas de código abierto? Cualquier otra forma sensata es, por supuesto, bienvenida también.

Respuestas:


5

Siempre puede usar una herramienta de código abierto como QGIS para abrir su archivo de formas y fusionar características utilizando la herramienta incorporada "fusionar características seleccionadas" (solo seleccione características, haga clic en fusionar, seleccione atributos para heredar a la nueva función fusionada, listo).

Por supuesto, esto no tiene mucho sentido si estamos hablando de cientos o miles de fusiones. Yo mismo me preguntaba el otro día si es posible fusionar características "por atributo" en QGIS?

EDITAR: Ok, soy estúpido, si tienes un atributo común para todas las características que vas a "agrupar" (como el nombre de una provincia o condado), este sería un caso para la herramienta de disolución. Abra su archivo de formas, elija disolver (en QGIS se encuentra en Vector> Herramientas de geoprocesamiento> Disolver), seleccione la columna con el nombre común mencionado anteriormente e inicie el proceso. Espero que esto (si no te he entendido mal) resulte en lo que estabas buscando.


En general, buenos consejos, y si todo se reduce al trabajo manual, encontraré a alguien que creará esos archivos de forma para mí con QGIS como usted describió. Sin embargo, me gustaría poder definir esos clústeres (por ejemplo, mediante códigos NUTS: fusionar FR413 y FR411 en algo llamado _FRX1) y luego ejecutar un script que generaría esos archivos de forma agrupados. Quiero poder corregir errores o acomodar cambios acelerados sin la sobrecarga de una herramienta GUI. Es perfectamente posible que esos grupos sean definidos por los usuarios finales algún día, por lo que necesito un poco de flexibilidad.
Nikolai Prokoschenko

Nunca lo uso, pero creo que puede usar la consola para hacer todo en QGIS, por lo que no hay necesidad de la GUI. También siempre tendrá que definir esos clústeres en algún tipo de tabla, incluso si confía completamente en una solución con script. Por lo tanto, puede evitar meterse con su archivo de formas uniéndose a esta tabla y disolviéndose en ese momento. ¿Supongo que esto también sería programable?
SAnderka

perfectamente posible, soy un novato en todo lo relacionado con los SIG. Investigaré los scripts de QGIS, gracias.
Nikolai Prokoschenko

2

Para menos trabajo manual, puede echar un vistazo a SpatiaLite. Puede importar archivos de forma fácilmente usando, por ejemplo,

spatialite> .loadshp ~/maps/areas areas iso-8859-15
spatialite> UPDATE areas SET Geometry = SetSrid(Geometry,4326);
spatialite> SELECT RecoverGeometryColumn('areas','Geometry',4326,'POLYGON',2);

Luego para la parte de disolución:

Me gustaría poder definir esos grupos (por ejemplo, a través de códigos NUTS: fusionar FR413 y FR411 en algo llamado _FRX1)

La función que necesita aquí es GUnion (). Es posible que desee definir sus "grupos" en una segunda tabla. Luego puede unirse a la tabla de clúster y área y usar GUnion () con GROUP BY para crear la tabla_unión final.

Luego puede exportar a shapefile usando .dumpshp

spatialite> .dumpshp union_table Geometry new_shapefile iso-8859-15 POLYGON

Si necesita GeoJSON, puede convertir el archivo ahora.

Puede escribir un script corto en, por ejemplo, Python que maneje todas estas cargas, uniones y volcados.


Parece muy prometedor, ¡experimentaré con él! ¡Gracias! Podría explicar lo que el UPDATEy SELECTlíneas hacen?
Nikolai Prokoschenko
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.