使用 QGIS 和 D3 可视化自定义地图.js会受到投影的损害
Visualising a custom map with QGIS and D3.js is harmed by the projection
这是我有的 4 个多边形:https://i.stack.imgur.com/GjmUu.jpg 在 QGIS 中。我现在想将它们与 D3.js 一起使用。我已经尝试了QGIS生成的形状文件中的东西,当通过mapshaper转换为topojson时,格式不正确。这在旧的 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 能够按原样画出来。=)
也许通过
- 标准化局域网/液化天然气
- 禁用 KBS
我真的不知道为什么创建自己的地图不是向前发展的。
编辑1:在这里几乎发现了我的问题 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
编辑2:已经找到了这个有趣的答案:https://gis.stackexchange.com/questions/14731/how-do-i-specify-a-crs-for-a-fictional-game-map-in-qgis
但是我使用了像他一样的投影,但仍然在d3.js上失败了。
我现在只是使用自己的投影:
+proj=eqc +a=1790493.11 +lat_ts=0 +lon_0=0 +rf=800 +units=m +no_defs
有了这个投影,一切都很好。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 如何在D3.js中绘制地图投影上的点,并使用范围滑块过滤数据
- 使用d3.js重复世界地图投影
- D3.js zoomTo指向2D地图(投影)
- three.js反投影理解
- 使用 QGIS 和 D3 可视化自定义地图.js会受到投影的损害
- 平行于投影平面移动物体,.js
- 在下划线js,我可以在输入后使用弹拨方法获取多列,其中方法作为linq选择投影
- 将 GeoJSON 坐标转换为其他投影以用于草坪.js
- D3.js 在画布图像上映射投影
- 将链接或“热点”放置在具有三个JS的等距柱状投影全景中
- 如何计算d3.js卫星投影的投影旋转和网格扩展
- 在JS中投影Euler#23
- 设置three.js投影矩阵方向
- 如何在d3 js中为地图重投影做平滑过渡
- 如何在Meteor.js的服务器端转换函数后设置mongo投影
- 三JS投影问题
- D3.js和地理投影算法/中心
- 设置Three.JS投影矩阵参数