Визуализации пользовательской карты с помощью QGIS и D3.js вредит проекция

У меня есть 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 все равно не получилось.


person kwoxer    schedule 23.01.2015    source источник


Ответы (1)


Сейчас я просто использую собственную проекцию:

+proj=eqc +a=1790493.11 +lat_ts=0 +lon_0=0 +rf=800 +units=m +no_defs

С этой проекцией все в порядке.

person kwoxer    schedule 03.02.2015