小编Dav*_*id 的帖子

Mapbox GL JS:更改多边形边框宽度

我在地图上有一个简单的多边形,我只想调整边框颜色宽度。(geoJSON 是外部的)我无法在API 手册中找到它。

这是我的示例(和来源)的链接

目前我的多边形样式代码是:

'paint': {
'fill-color': 'rgba(60, 120, 40, 0.4)',
'fill-outline-color': 'rgba(20, 100, 25, 1)'
}
Run Code Online (Sandbox Code Playgroud)

我应该添加什么来增加边框的宽度?我缺少的简单多边形还有其他样式选项吗?(因为我找不到有关此的文档。)

我在我的问题下方发布了一张图片 - 基本上边界在图片的左侧定义得很好,但是如果用户改变视角,由于宽度太小,它变得很难看清。

geoJSON 边界问题图像

geojson mapbox mapbox-gl-js

7
推荐指数
1
解决办法
6080
查看次数

GDAL:重新投影netCDF文件

我正在尝试通过GDAL将netCDF文件转换为EPSG:3857,以便与Mapbox一起使用。这将是.nc到.nc的转换。不光栅。我愿意使用GDAL或其他方法来执行此操作。必须将这些数据重新投影到控制台应用程序之前-这个过程要花几周时间才能找到解决方案-我认为这很简单。

我正在为卫星数据着色。有3个.nc文件(蓝色,红色和红外)经过组合和处理后可以创建彩色图像。从Amazon AWS下载3个文件后,一个python控制台应用程序进行处理并将.jpg转储到同一文件夹。该应用程序的源代码位于此处,因此您可以验证数据。(因为文件是超高分辨率,所以速度很慢)。

我试过的代码是:

gdalwarp -t_srs EPSG:3857 test.nc test-projected.nc
Run Code Online (Sandbox Code Playgroud)

但是,还尝试了其他几种变体,但没有任何效果。

我不是专业人士,但我是否应该使用gdalwarp来做到这一点?我只想更改投影-别无其他,因此python应用仍然可以处理数据。它必须能够使用重新投影的文件来创建.jpg。

以下链接是需要转换的数据的样本:

AWS>彩色通道1(蓝色1km分辨率)上的.nc文件

AWS> .Color Channel 2上的.nc文件(红色,更高0.5km分辨率和更大的文件大小)

AWS>彩色通道3(红外-用作绿色)上的.nc文件

另外,其他在线用户已经通过pyproj模块(位于https://github.com/blaylockbk/pyBKB_v2/tree/master/BB_GOES16)使用类似的投影来完成此操作。(与Mapbox一起使用时,我的必须为EPSG:3857)。如果将python代码修改为一次性完成所有操作,那也将很棒。我将悬赏作为最后的希望。

预期结果

我不了解python,因此我一直在尝试GDAL,但是添加到我的源代码中以达到预期结果的工作python代码(或有效的GDAL脚本)将获得丰厚的回报。

python gis geospatial gdal pyproj

7
推荐指数
2
解决办法
686
查看次数

如何在 Mapbox Javascript 中添加简单的图像叠加层?

Mapbox Javascript API 中的以下链接描述了如何在地图上添加图像叠加层,非常简单:

https://www.mapbox.com/mapbox-gl-js/example/image-on-a-map/

这有效!但是,我正在尝试在自定义地图上添加图像叠加层。我想在不创建瓷砖或任何类似东西的情况下做到这一点。

我找不到在卫星地图上叠加图像的方法(这是我的目标,只是卫星地图上的天气雷达 GIF),但除了上面的链接!我该怎么做呢?我不想要他们在示例中使用的地图。我只是想将其覆盖在任何自定义地图上,而不像他们的示例中那样复杂。感谢您的任何帮助。

编辑:这是代码 - 我在这里发表评论后试图更改它,但我仍然做错了什么。

<link href='https://api.mapbox.com/mapbox-gl-js/v0.44.2/mapbox-gl.css' 
rel='stylesheet' />
</head>
<body>

<div id='map' style='width: 100%; height: 100%;'></div>


<script>
mapboxgl.accessToken = 
'pk.eyJ1IjoiZm9ybXVsYTQiLCJhIjoiY2lzNWl5N3RpMDNhYTNvcDFvNGVrZmZheCJ9.2X- 
n4Yk2XyxYqoPbP_IMnQ';
var map = new mapboxgl.Map({
container: 'map',
zoom: 4,
style: 'mapbox://styles/mapbox/satellite-v9',
center: [-80.425, 37.437]
});



map.addSource("myImageSource", {"type": "image",
"url": "radar.gif",
"coordinates": [
[-80.425, 46.437],
[-71.516, 46.437],
[-71.516, 37.936],
[-80.425, 37.936]
]})



map.addLayer({
"id": "overlay",
"source": "myImageSource",
"type": "raster",
"paint": {"raster-opacity": 0.85}
})



</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript maps geospatial mapbox mapbox-gl-js

5
推荐指数
1
解决办法
8262
查看次数

Mapbox GL JS:JSON 点消失

我的地图上有 JSON 图标,当它们靠得很近时,它们会随着我缩小而消失。(我猜是为了避免混乱)。我想保留它们 - 即使它们以某种方式重叠 - 因为这些图标用于分析。我找不到避免这种情况的文档。下面是一个示例屏幕截图 - 以及我显示 JSON 点的代码。

截屏 :

在此处输入图片说明

当前代码(整个功能,因为它没有太多 - 简单):

function addMDA_toA(){

    topleftmapbox.loadImage('images/MDA.png', function(error, image) {
        if (error) throw error;
        topleftmapbox.addImage('meso-image', image);

    });


     var url = 'json/MDA.json';



    window.setInterval(function() {
        topleftmapbox.getSource('mesocyclone').setData(url);
    }, 2000);

    topleftmapbox.addSource('mesocyclone', { type: 'geojson', data: url });
    topleftmapbox.addLayer({
        "id": "mesocyclone",
        "type": "symbol",
        "source": "mesocyclone",
        "layout": {
            "icon-image": "meso-image"
        }
    });

}
Run Code Online (Sandbox Code Playgroud)

geojson mapbox mapbox-gl-js

3
推荐指数
1
解决办法
924
查看次数

如何在 Mapbox 中按照 geoJSON 指定旋转图标?

我有一个 geoJSON,其中包含显示风速符号的点。我试图了解如何更改我的代码以允许轮换。我确信我以前见过这个,但我在任何地方都找不到例子。

作为参考,这里是我的 geoJSON 中的一个功能,其中不包含旋转属性:

{
    "type": "Feature",
    "geometry": {      "type": "Point",
      "coordinates": [-117.2500 , 33.35000]
     },
     "properties": {
        "description": " ",
        "icon": "wind-speed-15"
     }
}
Run Code Online (Sandbox Code Playgroud)

这是我将其添加到地图的代码:

map.addLayer({
        id: "wind_speed",
        type: 'symbol',
        source: 'wind_speed_json',
        layout: {
            'icon-image': ['get', 'icon']
        }
    })
Run Code Online (Sandbox Code Playgroud)

我需要在 JSON 中更改哪些内容才能允许 Mapbox 根据每个功能进行旋转?我在想这样的事情,以度为单位(只是一个例子):

 "properties": {
    "description": " ",
    "icon": "wind-speed-15",
    "icon-rotate": 90
 }
Run Code Online (Sandbox Code Playgroud)

我只能找到如何使用适用于整个 JSON 的 icon-rotate 进行旋转的示例,而不是针对每个功能。有没有办法把它设计成这样?我肯定做错了什么。

mapbox mapbox-gl-js

2
推荐指数
1
解决办法
2900
查看次数

Javascript/CSS:随着文本变长,淡化文本字符串

我已经搜索了这个问题的答案,它可能存在于某个地方,但我不知道如何解释它,我一直在寻找方法来淡化文本开/关负载,这不是我试图这样做的方式.我试图在同一行上淡化一些文本,我将附上我在Photoshop中制作的模拟屏幕截图:

字体淡入淡出

在我设置的当前字体系列和大小中,我希望它开始在文本中消失大约20个字符.理想情况下,如果我可以做...

<span class="fadeout"> 
Run Code Online (Sandbox Code Playgroud)

或类似的东西,这很简单.

javascript css

1
推荐指数
1
解决办法
160
查看次数

使用wget强制清除缓存

我正在尝试使用Windows 10命令提示符中的wget 从此Wikipedia页面(https://en.wikipedia.org/wiki/ISO_8601)中提取当前日期和时间。这是针对我正在开发的个人应用程序,因此与其尝试找出更复杂的c ++(仅我所知道的语言,几乎没有)将本地时间转换为UTC,然后为我的项目获取顺序日期,我只想下载带有wget的页面,并将我需要的信息细分为子字符串。该页面(刷新后)完全包含我需要的信息。我可以找到另一种方法来实现此目的,但是现在我将其个人化并尝试使其成为一种学习体验,因为它似乎应该很简单。

我在下面发布脚本,但是无论我做什么,使用wget时页面都不会刷新-除非我在浏览器中打开链接并清除缓存,否则页面将保持不变。下面的脚本不应该这样做吗?我尝试了--no-cache和--no-cookies,但是没有成功。打开chrome并转到此链接(https://en.wikipedia.org/w/index.php?title=ISO_8601&action=purge)并单击“清除”后,我始终可以立即使用wget,它可以正常工作。我只需要自动,无需手动刷新即可。

wget --no-check-certificate --no-cache --no-cookies https://en.wikipedia.org/wiki/ISO_8601
Run Code Online (Sandbox Code Playgroud)

windows command-line wget batch-file

0
推荐指数
1
解决办法
4063
查看次数