¿Necesitas solucionar problemas de topología en tus capas? Mapshaper es la mejor herramienta de código abierto que existe para solucionarlos. Sin necesidad de instalar ningún programa. Aquí puedes ver el repositorio de GitHub en el que se aloja.
Mediante Mapshaper podemos editar Shapefile, GeoJSON, TopoJSON, CSV y otros formatos de datos.
Mapshaper admite tareas esenciales en la creación de mapas como simplificar formas, editar datos de atributos, recortar, borrar, disolver, filtrar y más.
Mapshaper se puede utilizar de dos formas:
- A través de una interfaz web.
- A través de línea de comandos.
La interfaz web es útil para simplificar de forma interactiva capas de polígonos y polilíneas:
Dicha interfaz web también admite la edición de línea de comandos a través de una consola incorporada.
Todo el procesamiento se realiza en el lado del cliente y nuestros datos se mantienen privados.
Índice
La línea de comandos
Mapshaper toma una lista de comandos y los ejecuta en secuencia, de izquierda a derecha. Un comando consta de un nombre de comando precedido por un guión, seguido de opciones para el comando. Ejemplo:
# Lee un Shapefile, lo simplificad usando el método Douglas-Peucker y genera una salida en formato GeoJSON
mapshaper ne_110m_land.shp -simplify dp 20% -o format=geojson out.json
Comandos de edición e información
Aquí tenemos todos los comandos posibles de edición:
-affine -clean -clip -colorizer -dissolve -dissolve2 -divide -drop -each -erase -explode -filter -filter-fields -filter-islands -filter-slivers -graticule -grid -include -innerlines -join -lines -merge-layers -mosaic -point-grid -points -polygons -proj -rectangle -rename-fields -rename-layers -require -run -shape -simplify -sort -split -split-on-grid -subdivide -style -target -union -uniq
El comando clean quizá sea el más popular y el más útil, ya que intenta reparar variss tipos de geometrías incorrectas que pueden causar problemas al ejecutar otros comandos de mashaper o al usar otro software.
- Las entidades con geometrías nulas se eliminan, a menos que se utilice el indicador de allow-empty.
- Las entidades poligonales se limpian eliminando las superposiciones y rellenando pequeños espacios entre polígonos adyacentes.
- Los objetos geográficos lineales se limpian eliminando las auto-intersecciones dentro del mismo camino.
- Las entidades de puntos se limpian eliminando coordenadas duplicadas dentro de la misma entidad.
Comandos para extraer información de las capas:
-calc -encodings -help -info -inspect -projections -quiet -verbose -version
Revisa la pagína wiki para ver algunos ejemplos de uso de los comandos más útiles.
Añadir capas a través de una URL
Podemos agregar una lista separada por comas de URL de archivos como una cadena de consulta, como en este ejemplo.
Ejecutar la interfaz web en local
La distribución de mapshaper incluye el script mapshaper-gui, que inicia un servidor web Node en localhost y carga mapshaper en un navegador en la dirección http://localhost: 5555. Revisa aquí el apartado de instalación.
Consulta la wiki del proyecto para obtener documentación sobre cómo usar mapshaper.
Licenciado en Geografía. Máster en Sistemas de Información Geográfica. Consultor GIS desde el año 2004. En MappingGIS desde el año 2012 para ayudarte a impulsar tu perfil GIS y diferenciarte de la competencia. Echa un vistazo a todos nuestros cursos de SIG online.
Excelente el artículo! Muchas gracias. Pero tengo una consulta… al usar la función Clean sucede que ademas de corregir errores de geometría, me modifica drásticamente la tabla de atributos del shape…. hay manera de corregir las geometrias sin alterar la tabla?