问题标签 [d3.geo]

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 投票
1 回答
787 浏览

d3.js - d3.js 地图图表绘制矩形

我正在尝试使用 geojson 为阿联酋酋长国绘制地图。

geojson 在 geojson.io 上是有效和验证的,结果出现而不是 map a rectangle ,编写的代码在这里:

JSON 数据在这里:https ://files.fm/f/ndsz3v85

这是geojson的一个示例功能:

0 投票
1 回答
433 浏览

javascript - d3.js 可见性区域计算或如何绘制地理矩形

我想弄清楚如何正确计算可见性区域并使用 d3.geo 投影绘制它。在我的情况下,可见区是光学相机平截头体

现在,我有两个图,都表示从视点的方位角和仰角,一个在 gnomonic(根据wiki)投影中:

在此处输入图像描述

下面的宽度和高度是按方位角和仰角轴以度为单位的光学相机视角

在 gnomonic plot 我已经通过它的边界放置了点,然后使用d3.projection.invert方法重新投影这些点并使用投影图上的结果角度d3.geoEquirectangular来绘制区域(如这里),结果如下:

viewport这是截头锥的角度大小

在此处输入图像描述

当前方法是错误的,但给了我大概的结果

我想弄清楚我的场景出了什么问题..

ps:我提取了最小示例,它与原始代码不同但有相同的错误:在这里您可以看到水平轴的大小与输入大小不同(必须是 10、20、30、40 度)

建议和意见是appriciated。谢谢阅读!

0 投票
1 回答
180 浏览

d3.js - 如何让我的 topojson 文件与数据图一起使用?

我正在尝试加载我的自定义 topojson 文件,但出现此错误:

无法读取未定义的属性“类型”

来自 topojson.min.js v1.6.9 中的第 219 行

返回 o.type === "GeometryCollection" ?{

我正在使用 d3 v3.5.3 和 topojs v1.6.9,因为我无法让更新的版本与我的自定义 topojson 文件一起使用。

Utah_Municipalities_custom.topojson

我猜我的 topojson 文件可能有问题,或者我可能需要弄清楚如何使用更新版本的 topojson 或其他东西创建这个地图......

0 投票
0 回答
826 浏览

json - 从 .json 文件在 svg 地图上绘制多边形

我想在使用下面的程序实现的 .svg 地图上绘制一些多边形。多边形在单独的 .json 文件中指定(参见示例)。是否可以使用地图的“绘图”功能来做到这一点?有没有更好的方法?不幸的是,我不是 html 专家,也找不到如何去做。谁能帮我?

.json 文件:

0 投票
1 回答
2684 浏览

javascript - D3.js:为具有多个 geoJSON 文件的地图设置 fitExtent 或 fitSize(或以编程方式居中和缩放)

我想绘制数据来自各个 topoJSON 文件的多个国家/地区。包含这些国家的地图应位于屏幕中间(居中),并且应设置适当的比例以使地图填满整个窗口。

我已经尝试过的:

  • 要获得path.bounds(d)每个国家的边界​​框并为每一侧(顶部、左侧、底部、右侧)分别使用最大值和最小值,并提供从path.centroid(d)到的平均中心projection.center()。这没有用。

  • 应用projection.fitExtent([[x0,y0],[x1,y1]],geojsonObject)projection.fitSize([width,height],geojsonObject)按照解决方案中的建议。在这里,我无法按照描述创建 featureCollection 并使用它来创建地图。

我认为应该可以通过 Andrew Reid 在这篇文章中提供的建议来解决这个问题,fitSize或者fitExtent。但是我无法将其应用于我的问题。这也是我解决问题的首选方式。

或者,是否可以用center()and解决这个问题scale()?我将如何确定我必须提供哪些坐标center()以及 . 的值scale()?非常感谢您的帮助,我尝试了几天但没有成功。

0 投票
1 回答
780 浏览

javascript - d3地图上的线没有形成曲线

我使用 d3.js 创建了一个地图。我想在两个位置之间显示一条曲线。我可以显示一条线,但有时它不会形成完美的曲线。对于某些线,线在地图后面(穿过反子午线)弯曲到它们的目的地。

这是一个演示问题的代码笔: https ://codepen.io/peeyush-pant/pen/WqbPax

还有一张图片:

在此处输入图像描述

这是我的投影数据:

这是我画线的方式:

谢谢你。

0 投票
0 回答
162 浏览

javascript - 使用 D3.js 和 Leaflet 绘制许多多边形时未在地图上绘制路径元素

我需要从 FeatureCollection geojson 文件中绘制许多多边形。当我使用 D3.js 和 Leaflet 这样做时,我的路径元素被绘制在远离地图的地方。我的 svg 元素的高度为零。为什么我的代码会给我这个结果?

我认为 path.bounds() 能够处理我的 FeatureCollection,但我认为这是我的 svg 元素以零高度绘制的原因。当我在 DOM 中看到我的路径元素时,我很难理解为什么我的路径元素被绘制得离地图如此之远。

...

路径元素应该在 Tucson 上绘制许多重叠的矩形多边形。我在这里重现了我的问题:http: //bl.ocks.org/Alex-Devoid/97a003bf42cfc9a7e922b650c42d264c

0 投票
1 回答
836 浏览

d3.js - D3 V4 在美国地图中正确放置气泡

我正在创建一张美国地图,并且我有一系列美国某些地方的实际坐标。我想在地图的正确位置放置一个点或气泡。我如何缩放/翻译这些?

这就是我得到的:

https://imgur.com/a/KsxiFPv

根据我的尝试:

我不知道这些气泡是否在实际位置下降——我肯定在寻找。

0 投票
1 回答
210 浏览

d3.js - 为什么我的地理 LineString 不遵循纬度/刻度曲线?

我正在尝试绘制遵循各种纬度段的 LineStrings,但是内置的测地圆弧插值似乎并未绘制遵循纬度的弧线。我的问题是:为什么不,我如何实现这一目标?

这是我的结果:

在此处输入图像描述

我的代码:

我的小提琴:https ://jsfiddle.net/jovrtn/komfxycz/

0 投票
1 回答
39 浏览

d3.js - 我的城市正在以错误的投影进行绘制(非常小且在左侧)。使用 d3.geo.albersUSA()

D3新手。

与我的正确尺寸的地图相比,我的城市以错误的投影(非常小且在左侧)绘制。看起来经度可能会颠倒。使用 d3.geo.albersUSA()。

地图的 .scale 设置为 1000,地图看起来很棒。但是我的数据并没有以相同的规模投影。