Estoy tratando de fusionar algunas características especificadas en un mapa topojson usando Mapshaper. Para este ejemplo, estoy tratando de fusionar Somalia, Somalilandia y Puntlandia para que coincidan con un conjunto de datos que no los separa.
Mapshaper tiene comandos de características, -dissolve
y -dissolve2
, que parecen hacer lo que quiero. Sin embargo, parecen aplicarse a todas las características en la capa seleccionada, y no puedo ver ninguna forma obvia en la documentación de Mapshaper para seleccionar solo ciertas características dentro de una capa a las que aplicar.
Las opciones name
y target
se aplican a archivos y capas respectivamente, no a características. Del mismo modo, todos los ejemplos de uso que puedo encontrar no seleccionan características específicas para fusionar.
Hay una característica para limitarlo por campo:
Nombre de un campo de datos en el que disolver.
... pero no puedo encontrar ninguna forma de ingresar una lista de valores de campo. Puedo especificar el campo de nombre, pero no puedo encontrar una forma de especificar que el campo de nombre debería ser "Somalia" o "Somalilandia".
Si es posible, preferiría no mover las características a una capa temporal ficticia y luego volver a moverlas.
Lo ideal sería usar algo similar a cómo -each
y -filter
permiten hacer coincidir por una expresión, pero eso no parece existir para -dissolve
. Por ejemplo, esto, que funciona perfectamente para -filter
, no funciona:
-dissolve '(NAME == "Somalilandia" || NAME == "Puntlandia" || NAME == "Somalia")'
... porque ese parámetro debe ser un nombre de campo y no puede ser una expresión:
Tabla de datos falta el campo: (NAME == "Somalilandia" || NAME == "Puntlandia" || NAME == "Somalia")