问题标签 [cartography]

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 投票
3 回答
2126 浏览

leaflet - 如何通过 CartoCSS 提供样式化的矢量地图数据

我有一个线和点的示例数据集,代表人们上班的旅程以及他们在哪里感到有交通事故的风险。

现在,数据具有地点(家庭、工作、危险)等属性,以及他们在不同地方担心的事故严重程度。所以更广泛的问题是如何在网络地图上可视化它。为此,我研究了Google Maps、Leaflet 和 OpenLayers3。这些中的每一个看起来都很棒,并且允许漂亮的样式,但在我看来,没有一个具有CartoCSS的简洁性,可实现快速、复杂和直观的样式,如下面的代码用于创建下图:

所以我在瓷砖厂试了一下,这就是我想出的,在通过 TileMill 将东西转换为光栅瓷砖之后。

mb 光栅

但这是一种愚蠢的做事方式:它不能覆盖基础层,并且仅在客户端提供矢量数据并对其进行样式设置会更有效,也许使用类似mapbox.js的东西。但我无法弄清楚如何在客户端使用可爱的 CartoCSS 语言来设置 GeoJSON 文件的样式。(这怎么可能?

ps 这是我对上面地图的样式

0 投票
0 回答
560 浏览

javascript - Leaflet 中的在线和离线磁贴

我在尝试在 Leaflet 中显示来自两个不同来源的图块时遇到了各种问题:

  • 1:第一个视图与我定义的中心不匹配,但是如果我移动窗口,地图的中心会发生变化并且它会正确居中。我不知道为什么传单会这样做,因为它只适用于一个瓷砖源
  • 2:当我从一层切换到另一层时,什么也没有发生
  • 3:不是所有的数据都在加载,即使是在线瓦片服务器。

我的代码:

0 投票
1 回答
159 浏览

map - 在同一个地方用另一个 d3 可视化替换一个 d3 可视化?

我正在使用 d3 的 datamaps 库,我在 github 上没有成功地问过这个问题,所以我想在这里交叉发布。

我正在尝试做的是在一张世界地图中可视化两种衡量标准——收入不平等(基尼)和人均 GDP,并使得在这两种观点之间切换成为可能。

我快到了。这是我的例子

在顶部,您可以选择要查看的度量和更新的工作 - 除了更新的地图绘制在前一个下方而不是顶部。即使我指的是两张地图的相同 id,这种情况也会发生。

我错过了什么?谢谢你帮助我!

编辑:我设法让它变得更好一点——这是更新的版本——但地图仍然一遍又一遍地打印在它们应该出现的空间下方。

0 投票
0 回答
735 浏览

mapbox - 在 Tilemill 中使用 cartocss 将道路标签放置在线条上方

我在 Tilemill 中设计了一张地图,并试图将我所有的道路标签放在道路线上方。

通过设置 (text-dy: 10;) 标签应该放在行的上方。不幸的是,有时标签被放置在线条下方 10 像素处。我将如何设置我的样式表以使标签显式地位于该行之上?

以下是我遇到问题的道路的一个 cartocss 规则示例。

任何帮助,将不胜感激。Tilemills 标签放置有时会非常混乱。

0 投票
1 回答
482 浏览

javascript - GeoJSON 格式的多边形显示不正确

我正在尝试使用d3.js和三个数据文件制作地图:

  • 带有我的底图的简单.topojson文件
  • 具有多边形区域的.geojson文件
  • 带有数据的.csv文件(与.geojson有一个共同的字段)

首先,我使用以下代码创建了我的基本地图:

结果很好(http://raphi.m0le.net/data/BAS/App_d3_strasrk/etape%201.html),所以我让我的代码更复杂:

不幸的是,它不起作用,正如您将在此处看到的那样:http ://raphi.m0le.net/data/BAS/App_d3_strasrk/etape%202.html

尽管我付出了很多努力,但我还是无法让它发挥作用。我的.geojson是用 QGis 创建的,所以我猜它尊重右手规则。

我的控制台没有显示任何错误,所以我无法确定出了什么问题。我怀疑它可能是data()声明,但我见过几个例子,它是这样用.geojson数据编写的并且运行良好。

0 投票
1 回答
346 浏览

javascript - 在 Cartodb 中设置地图平移限制

如何为 CartoDB 地图设置 no-world-wrap 或 pan 限制?我有一张显示数据的世界地图,而客户并不热衷于在全球范围内平移。

0 投票
1 回答
382 浏览

python - 成功的 CartoDB Python API 调用不会更新地图?

使用 urllib 对 CartdoDB 进行 API 调用(根据 Andrew Hill在此处的示例)。我得到一个成功的“200”作为响应,并且可以让脚本打印出我的 JSON 响应,但我的问题是地图在做出这个 SELECT 语句后没有更新。我是否错过了一个步骤才能发生这种情况?

谢谢!


0 投票
1 回答
535 浏览

leaflet - 如何在 cartodb 中使用 mapbox 地图

我尝试将这张地图:https ://a.tiles.mapbox.com/v4/felixmichel.kh7h21lp/page.html?access_token=pk.eyJ1IjoiZmVsaXhtaWNoZWwiLCJhIjoiZWZrazRjOCJ9.62fkOEqGMxFxJZPJuo2iIQ#11/47.6732/7.5352 整合到 cartodb 中。但是,它不起作用。我使用 cartodb.js 是因为我添加了更多查询,所以我需要这部分的正确链接:

或者,如果有人知道漂亮的地形图,我也很高兴。

0 投票
1 回答
358 浏览

python - 使用 Mapnik comp-op 使用矢量图层屏蔽栅格层

我正在尝试使用 Mapnik 制作地图,使用不同的陆地和海洋数据集。

Land 是来自 Landsat 影像的栅格数据集。海洋是使用来自 NOAA 测深的 gdaldem 创建的栅格数据集。

Landsat 数据集包含海洋图像,但很丑陋。我想把它敲掉,这样我们就可以看到下面的 NOAA 测深层,创建一个类似于蓝色大理石地图的外观。

我想我可以使用包含基于世界边界矢量数据集的 PolygonSymbolizer 作为掩码的第三层,方法是将符号器的 comp-op 设置为 dst_in 并将其放在图层堆栈的最顶部,如下所示:

  • 矢量掩码 (COMP-OP DST_IN)
  • 土地栅格
  • 海光栅

我已经尝试了所有 alpha comp 模式,但都无法正常工作。我错过了什么?或者也许有更简单的方法?

这是我的代码的要点... https://gist.github.com/john-sanders/800b973858bc13e4417c

0 投票
1 回答
220 浏览

javascript - 如何从 Web Mercator Meters/Feet 在 Google Map 上绘制图形

我曾经在谷歌地图上从十进制度(latlng)绘制图形,但最近我发现了一个只提供 Web 墨卡托米(或英尺)的服务器。然后我发现绘制十进制度的功能不适用于Web墨卡托米:

请帮我解决这个问题。我知道没有简单的方程式可以将十进制度转换为州平面米/英尺。谢谢。