Я просто намагаюся перетворити .shp файл у формат geoJSON, використовуючи:
ogr2ogr -f geoJSON output.json input.shp
Після виконання команди нічого, здається, не так. Ось уривок з 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 ],
...
Але коли я намагаюся використовувати файл JSON у d3 (http://d3js.org/), щоб намалювати SVG полігони, вихід просто неправильний. Оскільки файли shp відображаються правильно в QGIS, я думаю, що в моєму використанні має бути щось не так ogr2ogr
. SVG, який я отримую, не зовсім помиляється, але, здається, є деталь, яку я не можу знайти. Здається, вона була перевернута догори дном і якось перекручена на дві окремі частини.
Ось javaScript, який я використовував для створення 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);
Хтось має уявлення, що тут пішло не так? Я також намагався перетворити shp-файл за допомогою Qgis та myGeodata (http://converter.mygeodata.eu/vector). Але жоден з них не працює так, як слід.
Я дуже новачок у всьому матеріалі картографії. Тож я був би дуже радий отримати поради.
Дуже дякую!