7 votos

¿Limitar los decimales de los valores de las coordenadas en el archivo GEOJSON utilizando QGIS?

Utilizando "QGIS 2.0.1-Dufour", intento convertir una capa vectorial en un archivo GEOJSON utilizando el submenú "Guardar como". Obtengo el archivo GEOJSON, pero las coordenadas de los puntos tienen valores de hasta 15 decimales.

¿Cómo puedo redondear los valores con el número deseado de decimales?

11voto

Mephisztoe Puntos 1182

No sé si es posible limitar el número de valores de las coordenadas cuando se guarda una capa vectorial como un archivo GeoJSON, utilizando QGIS, pero te mostraré una forma alternativa utilizando un simple (pero potente) editor de texto: Notepad++ .

Por supuesto, puede utilizar cualquier software similar que desee, sólo asegúrese de que puede realizar search an replace using regular expressions .

Suponiendo que ya tienes el archivo GeoJSON, sólo tienes que abrirlo con el Bloc de notas++:

enter image description here

A continuación, vaya a Search > Replace y utilizar estas expresiones:

en el Encuentre lo que campo:

([0-9]+\.[0-9]{2})([0-9]+)

y en el Sustituir por campo:

\1

enter image description here

(Recuerde que Regular expression debe ser comprobado)

Este es el resultado tras pulsar Replace all :

enter image description here

Si quieres un número diferente de decimales sólo tienes que sustituir {2} con el nuevo valor deseado:

enter image description here

0 votos

Una forma muy complicada de resolver un problema. Le agradezco su sugerencia.

1 votos

Como ha señalado otro usuario (en una respuesta), conviene señalar que este método no redondea, sino que trunca los decimales.

11voto

pix0r Puntos 328

Es muy fácil limitar las coordenadas al exportar GeoJson, ya que QGIS sólo utiliza el programa ogr2ogr para la exportación, y permite pasar parámetros adicionales al guardar el archivo. Aquí hay una foto:

enter image description here

Eso asegurará sólo 2 decimales en las coordenadas.

1 votos

Las versiones más recientes de Qgis disponen de esta opción.

1 votos

Sólo para redondear la pregunta de @chrismarx. También puede hacerlo por la línea de comandos añadiendo una opción de creación a su declaración ogr2ogr: ogr2ogr -f GeoJSON -dsco "COORDINATE_PRECISION=6" output.json input.shp -progress

2 votos

@Valentin - debe utilizar -lco, no -dsco en ogr2ogr. \\ ogr2ogr -f GeoJSON -lco COORDINATE_PRECISION=6

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X