我有一个。Geojson文件(称之为data.geojson),我用它来手动更新mapbox上的数据集。
假设我的data.geojson文件的结构如下:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"suburb": "A",
"unemployed": 10
},
"geometry": {
"type": "Point",
"coordinates": [
0,
0
]
}
},
{
"type": "Feature",
"properties": {
"suburb": "B",
"unemployed": 20
},
"geometry": {
"type": "Point",
"coordinates": [
1,
1
]
}
data.geojson存储在本地,每12小时使用另一个从web上抓取数据的python脚本更新每个功能的“待业”属性。
目前,为了在在线数据集中(存储在mapbox.com)更新这些属性,我正在手动导航到mapbox网站并重新加载data.geojson文件。我正在寻找一种方法来完成这项任务pythonical。
任何帮助都将不胜感激!
最终,我的解决方案只是将Mapbox层的源指向本地存储的dataset.geojson文件,而不是在线存储在Mapbox.com上的相应数据集。
我能够使用“json”python包编辑本地存储的dataset.geojson。由于Mapbox层源直接指向本地数据集,因此对该本地文件的所有更新都将反映在Mapbox层中。这样,就不需要将任何数据上载到Mapbox。
@如果你想走这条路,David还发布了一个有用的解决方案。
您可以设置某种计时器,使用javascript函数自动更新数据。在这里,我使用一个名为“STI”的源代码和层,它只是geoJSON行数据。
该函数将首先添加数据源以及层:
var STI_SOURCE = 'json/sti/STI.json'; // declare URL for data
map.addSource('sti', { type: 'geojson', data: STI1 }); // Add source using URL
// Add the actual layer using the source
map.addLayer({
"id": "sti",
"type": "line",
"source": "sti",
"layout": {
"line-join": "miter",
"line-cap": "round"
},
"paint": {
"line-color": "#fff",
"line-width": 1,
"line-dasharray": [6, 2]
}
});
然后,当您要刷新数据时,请删除它们:
map.removeLayer('sti');
map.removeSource('sti');
然后,您可以从头开始重新添加它们。还有其他方法(更好)可以做到这一点,但这只是一种有效的方法。我认为有一个setData()函数可以做得更好。但希望这能让你开始。
有没有一种方法可以使用标准ajax请求从mapbox获取geojson文件? 比如: 我们目前下载了一个geojson文件,并将其作为本地脚本加载到站点上,一切正常。但是拜托,必须有一种方法从mapbox获取它,这样我们就不必不断更新本地文件。客户永远不会理解这个概念。 有人知道API访问点或获取geosjon文件的东西吗?
我试图使用MapBox来显示所有聚集在一个城市中的多个属性。 (还没有在这和传单之间做出决定) 这是我第一次处理geoJSON内容,并尝试创建包含多个地址的文件。 这是我从网上某个地方得到的一个示例,Mapbox一直在说: 它来自这个名为testing.geojson的文件,其中只包含以下内容: 我真的很困惑为什么它一直产生这个错误,因为我希望使这个示例与属性的实际地址一起工作。 任何建议/帮助将
因此,我在脚本文件夹中有两个独立的GeoJSON文件,一个用于绘制边界线,另一个用于放置标记。每个GeoJSON文件都有不同的内容,例如: 还有一个: 将一个GeoJSON放在这种格式中工作, 但是如何添加另一个geoJSON呢?
我有一个MapBox地图,上面有通过MapBox网站创建的图钉。 我用我网站上的图钉打电话给这张地图。 就我的一生而言,我无法找到任何相关代码来完成以下两件事: 1) 我需要修改预先制作的点的GeoJSON数据,以向其添加URL(要执行类似操作:https://www.mapbox.com/mapbox.js/example/v1.0.0/markers-as-links/ ). 如何访问JS中的
我举了一个例子:https://docs.mapbox.com/android/maps/examples/marker-symbol-layer/ 它起作用了。 然后,我尝试用源geojson替换这些点,但没有成功,如下所述:https://docs.mapbox.com/android/maps/guides/data-driven-styling/#geojson 除了在地图上添加新东西的部
我正在用RubyonRails编写这个应用程序,我将应用程序设置为从特定路径提供GeoJson。我想让Mapbox从指定路径获取GeoJson,并将其添加到地图中。下面是我创建地图的javascript代码 当我导航到时,我得到以下响应。 地图加载得很好,但没有形状。令人沮丧的是,浏览器中没有错误,GeoJson在GeoJson.io上签出。 我做错了什么?