world with examples datamap d3.js gis geojson topojson

d3.js - with - Diferencia entre GeoJSON y TopoJSON



maps with d3 js (3)

Depende de muchas consideraciones. Entre ellos se encuentran los siguientes:

1) La naturaleza (modelo de datos) de la función o características que desea representar 2) Cualquier atributo que le gustaría asociar con esas características 3) Cómo desea que se comporten estas características en la página (estática vs dinámica)

Sin embargo, esta es una pregunta difícil de responder en abstracto. En cuanto a algunos detalles, si tiene una cobertura de polígono contigua u otra situación en la que las características comparten límites, el modelo de topojson le permite aprovechar la redundancia y factorizarla en el modelo.

Lea la documentación, diseque ejemplos (p. Ej., Bl.ocks.org), y luego obtenga algunos datos y represéntelos tanto en geojson como en topojson y cree sus propias visualizaciones.

¿Cuál es la diferencia entre GeoJSON y TopoJSON y cuándo debería usar uno sobre el otro?

La descripción de TopoJSON en GitHub implica que los archivos TopoJSON son un 80% más pequeños. Entonces, ¿por qué no usar TopoJSON todo el tiempo?


Si le importa el tamaño del archivo o la topología, use TopoJSON. Si no te importa, utiliza GeoJSON por simplicidad.

La principal ventaja de TopoJSON es el tamaño. Al eliminar la redundancia y al usar una codificación de coordenadas enteras de precisión fija más eficiente, los archivos TopoJSON a menudo son un orden de magnitud más pequeños que los archivos GeoJSON. La ventaja secundaria de los archivos TopoJSON es que la codificación de la topología tiene aplicaciones útiles, como la simplificación de conservación de topología (similar a MapShaper ) y la generación automática de malla (como en los límites estado-estado en este ejemplo de coropleta ).

Estas ventajas tienen un costo: un formato de archivo más complejo. En JavaScript, por ejemplo, normalmente usaría la biblioteca del cliente TopoJSON para convertir TopoJSON en GeoJSON para usar con herramientas estándar como d3.geoPath . (En Python, puede usar topojson.py .) Además, el formato entero de TopoJSON requiere coordenadas de cuantificación, lo que significa que puede introducir un error de redondeo si no tiene cuidado. (Consulte la documentación para topojson -q .)

Para la manipulación del lado del servidor de las geometrías que no requieren topología, entonces GeoJSON es probablemente la opción más simple. De lo contrario, si necesita topología o desea enviar la geometría por cable a un cliente, utilice TopoJSON.


TopoJSON es ideal para funciones ordenadas que se "ajustan" entre sí, como las regiones administrativas, pero no ayuda con más datos desordenados u orgánicos. Si sus datos son simplemente puntos, entonces TopoJSON no es de ninguna ayuda.