3 votos

La conversión de shp a geojson falla

Estoy siguiendo el tutorial de Mike Bostock, hagamos un mapa pero para un mapa de México. Quiero mostrar los límites de los estados.

Pude obtener el mapa de México de los mapas del mundo de Natural Earth Data. Mi fuente para los límites de los estados está aquí:

http://duopixel.com/LIMITE_ESTATAL.shp

NOTA: este debe ser el mismo archivo que aquí pero el servidor del INEGI parece estar caído desde hace días. Pude convertirlo de ogr2ogr a geojson. Al convertir de geojson a topojson, sale este aviso:

duopixel$ topojson -s 5 -o estados_simp.json -- estados.json
quantization: maximum error 78.607km (0.707°)
simplification: retained 1130 / 454450 points (0%)

Parece que sigue generando el archivo y parece que es correcto. Este es el archivo que genera . Este es mi código javascript:

d3.json("estados.json", function(error, mex) {

  var estados = mex.objects.estados.geometries

  svg.selectAll(".estado")
    .data(estados)
    .enter().append("path")
    .attr("class", "estado")
    .attr("d", path)
});

Sin embargo, me da un error al ejecutar este código...

Uncaught TypeError: Cannot read property 'length' of undefined 

Ahora, como ni siquiera estoy seguro de lo que estoy haciendo, no tengo ni idea de dónde está el punto de fallo. Estoy atascado en este punto y cualquier ayuda es apreciada.

2voto

Laurens Puntos 16

Fue un error en mi código javascript, no estaba desempaquetando los datos con el topojson del lado del cliente...

d3.json("estados.json", function(error, mex) {
  var estados = topojson.object(mex, mex.objects.estados);

  svg.selectAll(".estado")
    .data(estados.geometries)
    .enter().append("path")
    .attr("class", "estado")
    .attr("d", path);
})

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