2011-11-22 19 views

Respuesta

-1

Puede mirar en GDAL, no estoy seguro si es totalmente compatible con la creación de SVG, pero GDAL generalmente puede convertir todos los formatos geo en otros geoformatos.

Ver: http://www.gdal.org/ogr/ogr_formats.html

+0

Gracias, pero necesito una biblioteca Javascript o un complemento y GDAL/OGR es C++. – camilokawerin

8

Puede utilizar d3.js biblioteca. Siguiente fragmento de código hará el trabajo:

Incluir d3.js en su archivo html

<script src="files/d3.v3.min.js"></script> 

Suponiendo, que ha div con mapa ID en el archivo html:

<div id="map"></div> 

siguiente código js agregará un mapa a su mapa div. geoJsonObj es tu geojson.

var svg = d3.select("#map").append("svg") 
      .attr("width", width) 
      .attr("height", height); 

svg.append("g") 
      .selectAll("path") 
      .data(geoJsonObj.features) 
      .enter().append("path") 
      .attr("d", path); 

Para ver un ejemplo de trabajo, vaya here. Tenga en cuenta que el ejemplo usa topojson como entrada para el atributo .data().

+0

¿De dónde viene la variable 'ruta 'en su código, en la última línea? – user568458

+0

No importa, encontré (y actualicé) un ejemplo completo aquí: http://stackoverflow.com/questions/18425440/displaying-map-using-d3-js-and-geojson/38552478#38552478 – user568458

+0

@ user568458 ruta no es una variable, es un elemento svg, como div en html. https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths –

1

Hay una herramienta básica disponible para convertir geojson a svg geojson2svg y como npm module también. El resultado de geojson2svg es svg string, por lo que esta herramienta se puede usar tanto en el navegador como en node.js.

Es muy fácil de encubrir cadena svg al elemento dom. Esto ha sido explicado por bobincehere muy bien con código JavaScript. He hecho un npm module por conveniencia.

geojson2svg le ofrece más flexibilidad, pero para una solución rápida d3 es lo mejor.

Descargo de responsabilidad: soy el autor de geojson2svg.