传单速度:与CRS.Simple

时间:2019-05-21 01:34:57

标签: javascript leaflet coordinate-systems

我已经打开了issue on github,但是也许有人在这里会有想法。

我想将Leaflet Velocity层与Leaflet的Simple Coordinate Reference System一起使用,但是即使出现了一些情况,结果看起来也与应有的效果相去甚远。我做了JS Fiddle来表明我走了多远。

SO需要一些相关代码,所以就在这里,基本上我是用CRS创建地图的。简单如下:

var map = L.map('map', {
    crs: L.CRS.Simple
});

然后将边界添加到10x10的正方形网格中,添加自定义图片bg并将“速度层”放在上面:

// add raster image layer
var imageUrl = 'https://placeimg.com/1000/1000/arch',
imageBounds = [[0,0], [10,10]];
L.imageOverlay(imageUrl, imageBounds).addTo(map);
map.fitBounds(imageBounds);

// add velocity layer
var velocityData = JSON.parse('[{"header": ... }]');
var velocityLayer = L.velocityLayer({
    displayValues: true,
    displayOptions: {
        velocityType: 'Wind',
        displayPosition: 'bottomleft',
        displayEmptyString: 'No wind data'
    },
    data: velocityData,
    maxVelocity: 10,
    velocityScale: 0.0015,
});
map.addLayer(velocityLayer);

基本上,我们希望获得建筑物周围的详细风向图,因此我制作了10x10速度网格,并在Leaflet中使用了1-10 x 1-10简单坐标网格。我看到的最大问题是:

  1. 粒子的速度与缩放速度成反比,因此我放大得越多,它们变得越慢。当我在一开始就缩小时,它们的移动速度很快。当他们放大时,它们的速度应该保持恒定或变快,而当我缩小时,它们的速度应保持慢。

  2. 由于某些原因,粒子仅垂直移动,但数据集取自样本Wind GBR,仅被切割为10x10网格而不是其14x22。但是在他们的演示中,粒子也水平移动,所以不确定为什么我看不到吗?

基本上,我想知道Velocity是否完全可以与简单自定义引用系统一起使用。.到目前为止,这似乎有很多问题,我不确定是否可以通过提供匹配的数据集JSON并调整其设置来实现在Simple CRS上看起来正确。如果没有,我可能不得不坚持使用默认的地球地图,并将建筑物稍微放置在上面。

以前有没有人经历过?

0 个答案:

没有答案