У меня есть 4 полигона: https://imgur.com/vsVjxE1 в QGIS. Теперь я хотел использовать их с D3.js. Я уже пробовал вещи в QGIS сгенерированный шейп-файл искажен при преобразовании в topojson с помощью mapshaper. Это хорошо работало со старым файлом json. Но когда я создавал новый, он глючил по вертикали посередине. Вот пример http://jsfiddle.net/kwoxer/kpL1uyy2/5/:
var projection = d3.geo.projection(function(x, y) { return [x, y];})
.precision(0).scale(1).translate([0, 0]);
var path = d3.geo.path().projection(projection);
Я также пробовал:
var path = d3.geo.path().projection(null);
но тогда вся карта была зеркально отражена посередине.
Я думаю, что я неправильно использую эту систему, я должен предположить. Json тоже подходит для mapshaper. Итак, у вас есть несколько советов, так что я просто рисую все, что хочу, каким бы большим оно ни было, а затем d3.js может рисовать это как есть. знак равно
Может быть,
- нормализация lan/lng
- отключение KBS
Я действительно не знаю, почему создание собственной карты не так просто.
Edit1: нашел здесь почти мою проблему >https://gis.stackexchange.com/questions/54373/either-geojson-to-topojson-conversion-problem-or-projection-issue-with-d3-js, но я получил:
C:\Program Files\GDAL>ogr2ogr.exe -f "GeoJSON" -s_srs region.prj -t_srs EPSG:432
6 asdas.json region.shp
ERROR 4: Failed to create GeoJSON datasource: asdas.json.
GeoJSON driver failed to create asdas.json
Edit2: уже нашел этот интересный ответ: https://gis.stackexchange.com/questions/14731/how-do-i-specify-a-crs-for-a-fictional-game-map-in-qgis
Но я использовал такую же проекцию, как и он, но с d3.js все равно не получилось.