问题标签 [topojson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6864 浏览

javascript - D3js:如何通过鼠标单击获取纬度/对数地理坐标?

在任何投影的地图 dataviz 上使用一些 D3js 代码和投影的 topojson 数据,我怎样才能取回地理坐标?像这样的东西:

如何通过单击 D3js 地图可视化来获取地理坐标?

欢迎提供演示链接。


编辑:相关演示列表:

0 投票
11 回答
66895 浏览

d3.js - 给定 geoJSON 对象,在 d3 中将地图居中

目前在 d3 中,如果您有一个要绘制的 geoJSON 对象,您必须对其进行缩放和转换,以使其达到所需的大小,并对其进行转换以使其居中。这是一项非常繁琐的反复试验任务,我想知道是否有人知道获得这些值的更好方法?

因此,例如,如果我有此代码

我怎么能不一点一点地获得 .scale(8500) 和 .translate([0, -1200]) ?

0 投票
3 回答
40594 浏览

d3.js - GeoJSON 和 TopoJSON 的区别

GeoJSON 和 TopoJSON 有什么区别,我什么时候可以使用其中一个?

GitHub 上对 TopoJSON的描述意味着 TopoJSON 文件小了 80%。那么为什么不一直使用 TopoJSON 呢?

0 投票
1 回答
5221 浏览

map - 使用 d3.js 和 TopoJSON 绘制地图,阿尔伯斯西伯利亚投影

我正在尝试使用 d3.js 制作 Choropleth,但我一开始就被卡住了。我找到了一个 Shapefile 并从中生成了 GeoJSON 和 TopoJson 文件,就像这里一样。该地图使用阿尔伯斯-西伯利亚投影。我对这个投影的发现:

投影:Albers 等积圆锥

  • 单位:米
  • 球体:克拉索夫斯基
  • 中央经线:105
  • 标准并行 1:52
  • 标准并行 2:64
  • 参考纬度:0
  • 假东:18500000
  • 伪北:0

PROJ.4: +proj=aea +lat_1=52 +lat_2=64 +lat_0=0 +lon_0=105 +x_0=18500000 +y_0=0 +ellps=krass +units=m +towgs84=28,-130,-95 ,0,0,0,0 +no_defs

地图信息:“阿尔伯斯-西伯利亚”,9、1001、7、105、0、64、52、18500000、0。

所以我终于得到了这段代码,它什么也没做(甚至冻结),怎么了?

您可以在此处 找到所有 JSON 文件。
还有一个问题:如何在我的TopoJson 文件中引用region字段的值。

0 投票
1 回答
7583 浏览

d3.js - TopoJSON ‹‹properties›› 字段,如何使用 d3.js 获取值?

0 投票
1 回答
1051 浏览

javascript - 如何避免 TopoJSON 内存错误

我正在尝试创建美国学区的 TopoJSON 文件。我的工作流程如下:

  1. 从人口普查局下载并解压缩单个 TIGER 形状文件(24 ESD,19 SSD,56 USD)
  2. 用ogr2​​ogr批量合并这99个文件
  3. 将合并的 shapefile 转换为 GeoJSON
  4. 将 GeoJSON 转换为 TopoJSON(理想情况下,我也会在此处将状态边界添加到文件中)

第 4 步是导致我出现问题的原因,我正在使用以下批处理脚本:

但是我遇到了以下致命的内存错误:

这让我对如何继续感到有些不知所措,如果有人能就更好的工作流程或在转换为 topojson 时更好地管理内存的方法提出建议,我将不胜感激。谢谢你。

0 投票
1 回答
5091 浏览

map - SVG/TopoJSON 用于美国各州的世界地图

我正在使用 D3 创建一个 Choropleth 世界地图。我需要一个 SVG 或 TopoJSON 文件,该文件在国家一级显示世界地图,但带有美国的州轮廓。我发现的唯一文件是来自 Wikimedia Commons 的过时文件,这些文件太大(从 1998 年到 ~18MB,见下文)。

谁能指出我可以在哪里找到更新(和更小)的文件?

谢谢!

过时/过大

http://commons.wikimedia.org/wiki/File:World98.svg http://commons.wikimedia.org/wiki/File:World98%2B.svg

0 投票
1 回答
389 浏览

javascript - 如何排查topojson错误:距离未定义

我正在尝试创建美国学区的 TopoJSON 文件。我有一组三个 shapefile,我试图使用以下批处理脚本将它们组合成一个 topojson 文件:

运行一段时间后(例如,不是立即) - 我看到以下输出和错误消息:

如果有帮助,我已将我正在使用的源 shapefile 放在http://jsl6906.net/D3/SDs/

任何有关如何解决此错误的帮助将不胜感激

0 投票
0 回答
567 浏览

d3.js - 安装后无法运行topojson

我正在学习 Mike Bostock 的映射教程。我已按照说明安装 v0.10.5 的 node 并使用 npm 安装 topojson。如果我运行 'whereis topojson ',它会显示 'topojson: /usr/bin/topojson /usr/bin/X11/topojson '。当我尝试运行 topojson 以按照教程格式化子单元 json 时,我收到以下错误:

module.js:340 抛出错误;

错误:

Function.Module._load (module.js:280:25)
在 Module.require (module .js:364:17)在对象
的 require (module.js:380:17)
处。(/usr/lib/node_modules/topojson/index.js:4:21)
在 Module._compile (module.js:456:26)
在 Object.Module._extensions..js (module.js:474:10)
在Module.load (module.js:356:32) 在 Function.Module._load (module.js:312:12) 在 Module.require (module.js:364:17)

有谁知道我在这里做错了什么?

0 投票
0 回答
653 浏览

d3.js - topojson中如何生成省份多边形

我正在尝试使用 D3.js 和 TopoJSON 构建南非各省的地图。我已经尝试使用 QGIS 的 GRASS 插件创建 GeoJSON 输出,这似乎可行 - 我可以在 GeoJSON 输出中看到具有适当 ID 等的各个多边形。

我已将 GeoJSON 文件转换为 TopoJSON 文件,并且可以在我的 finl HTML 页面中看到南非的(单个)轮廓,但是我似乎无法在各省的 TopoJSON 文件中生成多个多边形(类似于美国各州) )。

我是否需要使用任何特定参数来强制生成省份多边形。我的 SVG 只有一条路径。