Estou simplesmente tentando converter um arquivo .shp em um formato geoJSON usando:
ogr2ogr -f geoJSON output.json input.shp
Depois de executar o comando, nada parece estar errado. Aqui está um trecho do output.json
{
"type": "FeatureCollection",
"features": [
{ "type": "Feature",
"properties": { "ID_0": 86, "ISO": "DEU", "NAME_0": "Germany", "ID_1": 1, "NAME_1": "Baden-Württemberg", "NL_NAME_1": null, "VARNAME_1": null, "TYPE_1": "Land", "ENGTYPE_1": "State" },
"geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 8.708400940398242, 47.715581894910606 ], [ 8.713716147005524, 47.701734382960055 ],
...
Mas quando tento usar o arquivo JSON no d3 (http://d3js.org/) para desenhar polígonos SVG, a saída está errada. Como os arquivos shp são exibidos corretamente no QGIS, acho que deve haver algo errado com o modo como uso ogr2ogr
. O SVG que recebo não está completamente errado, mas parece haver um detalhe que não consigo encontrar. Parece que foi virado de cabeça para baixo e de alguma forma distorcido em duas partes separadas.
Aqui está o javaScript que eu usei para gerar o svg:
//dimensions
var w = 2000;
var h = 2000;
var svg = d3.select("#chart").append("svg")
.attr("width", w)
.attr("height", h);
d3.json(
"http://localhost:8888/data/data.json",
function (json) {
var path = d3.geo.path();
svg.append("g")
.attr("class", "black")
.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d", path);
Alguém tem uma idéia do que deu errado aqui? Também tentei converter o arquivo shp usando o Qgis e o myGeodata (http://converter.mygeodata.eu/vector). Mas nenhum deles funciona da maneira que deveria.
Sou muito novo em todo esse material de cartografia. Então, eu ficaria muito feliz em receber alguns conselhos.
Muito obrigado!