Sto provando a disegnare una mappa di New York utilizzando d3. Ho scaricato un mucchio di shapefile da http://www.nyc.gov/html/dcp/html/bytes/dwndistricts.shtml. Li ho convertiti in geoJSON usando http://converter.mygeodata.eu/, in modo tale che siano in WGS 84 (ovvero, penso, latitudine e longitudine).ridimensionamento proiezioni d3.js
Sono abbastanza sicuro che il geoJSON sia valido: posso tracciarlo usando matplotlib e sembra NYC, ei numeri sembrano essere in un intervallo valido. Ecco il mio javascript:
var path = d3.geo.path()
d3.select("body")
.append("svg")
.attr("height", 1000)
.attr("width", 1000)
.append("g")
.selectAll("path")
.data(data.features)
.enter()
.append("path")
.attr("d", path)
.style("stroke","black")
.style("stroke-width","1px")
Questa trama, come pubblicizzato, la proiezione di Albers di New York. Il problema è, penso, che la scala della proiezione è stata scelta in modo che gli Stati Uniti si adattino a una bella pagina Web, rendendo i percorsi per New York un po 'scarabocchi sul lato destro dello schermo.
Qual è il modo "corretto" (provare a pretendere di essere il primo a dire d3onic) per ridimensionare uno geo.path()
tale che le estensioni della mia scala lat/lon sulla larghezza e altezza del mio SVG?
(poco disclaimer: scuse se ho perso qualcosa di ovvio, questo è per un progetto che sto cercando di completare agli estremi del giorno)
grazie mike! Ora ho solo bisogno di trovare uno shapefile NYC che possa renderizzare con SVG senza rompere il mio laptop –
E ancora una volta vediamo perché * guardare questo link a ... * sono scoraggiati. Sarebbe un 404. Era questo? https://gist.github.com/minikomi/4552802 – user13500