问题标签 [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.
d3.js - d3.js 地图图表绘制矩形
我正在尝试使用 geojson 为阿联酋酋长国绘制地图。
geojson 在 geojson.io 上是有效和验证的,结果出现而不是 map a rectangle ,编写的代码在这里:
JSON 数据在这里:https ://files.fm/f/ndsz3v85
这是geojson的一个示例功能:
javascript - d3.js 可见性区域计算或如何绘制地理矩形
我想弄清楚如何正确计算可见性区域并使用 d3.geo 投影绘制它。在我的情况下,可见区是光学相机平截头体
现在,我有两个图,都表示从视点的方位角和仰角,一个在 gnomonic(根据wiki)投影中:
下面的宽度和高度是按方位角和仰角轴以度为单位的光学相机视角
在 gnomonic plot 我已经通过它的边界放置了点,然后使用d3.projection.invert
方法重新投影这些点并使用投影图上的结果角度d3.geoEquirectangular
来绘制区域(如这里),结果如下:
viewport
这是截头锥的角度大小
当前方法是错误的,但给了我大概的结果
我想弄清楚我的场景出了什么问题..
ps:我提取了最小示例,它与原始代码不同但有相同的错误:在这里您可以看到水平轴的大小与输入大小不同(必须是 10、20、30、40 度)
建议和意见是appriciated。谢谢阅读!
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 或其他东西创建这个地图......
json - 从 .json 文件在 svg 地图上绘制多边形
我想在使用下面的程序实现的 .svg 地图上绘制一些多边形。多边形在单独的 .json 文件中指定(参见示例)。是否可以使用地图的“绘图”功能来做到这一点?有没有更好的方法?不幸的是,我不是 html 专家,也找不到如何去做。谁能帮我?
.json 文件:
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()
?非常感谢您的帮助,我尝试了几天但没有成功。
javascript - d3地图上的线没有形成曲线
我使用 d3.js 创建了一个地图。我想在两个位置之间显示一条曲线。我可以显示一条线,但有时它不会形成完美的曲线。对于某些线,线在地图后面(穿过反子午线)弯曲到它们的目的地。
这是一个演示问题的代码笔: https ://codepen.io/peeyush-pant/pen/WqbPax
还有一张图片:
这是我的投影数据:
这是我画线的方式:
谢谢你。
javascript - 使用 D3.js 和 Leaflet 绘制许多多边形时未在地图上绘制路径元素
我需要从 FeatureCollection geojson 文件中绘制许多多边形。当我使用 D3.js 和 Leaflet 这样做时,我的路径元素被绘制在远离地图的地方。我的 svg 元素的高度为零。为什么我的代码会给我这个结果?
我认为 path.bounds() 能够处理我的 FeatureCollection,但我认为这是我的 svg 元素以零高度绘制的原因。当我在 DOM 中看到我的路径元素时,我很难理解为什么我的路径元素被绘制得离地图如此之远。
...
路径元素应该在 Tucson 上绘制许多重叠的矩形多边形。我在这里重现了我的问题:http: //bl.ocks.org/Alex-Devoid/97a003bf42cfc9a7e922b650c42d264c
d3.js - 为什么我的地理 LineString 不遵循纬度/刻度曲线?
我正在尝试绘制遵循各种纬度段的 LineStrings,但是内置的测地圆弧插值似乎并未绘制遵循纬度的弧线。我的问题是:为什么不,我如何实现这一目标?
这是我的结果:
我的代码:
d3.js - 我的城市正在以错误的投影进行绘制(非常小且在左侧)。使用 d3.geo.albersUSA()
D3新手。
与我的正确尺寸的地图相比,我的城市以错误的投影(非常小且在左侧)绘制。看起来经度可能会颠倒。使用 d3.geo.albersUSA()。
地图的 .scale 设置为 1000,地图看起来很棒。但是我的数据并没有以相同的规模投影。