J'essaie simplement de convertir un fichier .shp au format geoJSON en utilisant:
ogr2ogr -f geoJSON output.json input.shp
Après avoir exécuté la commande, rien ne semble aller mal. Voici un extrait du fichier 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 ],
...
Mais lorsque j'essaie d'utiliser le fichier de JSON dans d3 (http://d3js.org/) pour dessiner des polygones SVG, la sortie est tout simplement fausse. Étant donné que les fichiers shp s'affichent correctement dans QGIS, je pense qu'il doit y avoir un problème avec la façon dont j'utilise ogr2ogr
. Le SVG que j'obtiens n'est pas complètement faux, mais il semble y avoir un détail que je ne trouve pas. Il semble qu'il ait été renversé et déformé d'une manière ou d'une autre en deux parties séparées.
Voici le javaScript que j'ai utilisé pour générer le 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);
Quelqu'un at-il une idée de ce qui s'est mal passé ici? J'ai également essayé de convertir le fichier shp en utilisant Qgis et myGeodata (http://converter.mygeodata.eu/vector). Mais ni l'un ni l'autre ne fonctionnent comme ils le devraient.
Je suis très nouveau dans ce domaine de la cartographie. Je serais donc très heureux d'obtenir des conseils.
Merci beaucoup!