【问题标题】:Specifying Lat & Long for Leaflet TileLayer为 Leaflet TileLayer 指定纬度和经度
【发布时间】:2015-11-25 03:40:55
【问题描述】:

似乎是一个简单的问题,但我已经扯了几个小时的头发了。

我有一系列文件,即。

kml_image_L1_0_0.jpg
kml_image_L2_0_0.jpg
kml_image_L2_0_1.jpg
kml_image_L2_1_0.jpg
kml_image_L2_1_1.jpg

等等。然而,将它们绘制在传单地图表面上可以理解地将图像置于地球表面的 0,0 处,并且文件推断的 0 缩放级别实际上应该约为 15 左右。

所以我想指定图像应该起源的纬度和经度,以及它们应该从什么缩放级别开始。我已经尝试过边界(不显示任何内容)并且我尝试过使用偏移缩放级别。

我需要这个,因为用户需要点击离线地图来指定他们的位置,而我需要 GPS 坐标。

我也有一个 KML 文件,但它似乎对在地图上绘制矢量数据更有帮助。

非常感谢任何帮助,干杯。

【问题讨论】:

    标签: leaflet gis kml


    【解决方案1】:

    如果我理解正确,您拥有的“kml_image_Lz_x_y.jpg”图像实际上是平铺,其文件名中有缩放、水平和垂直索引?

    您的问题是他们使用 (z,x,y) 数字,就好像它们从最顶层开始(缩放 0,整个世界的单个图块),但实际上它们只是瓷砖金字塔?

    而且您不能按原样使用它们,因为您仍然想获得实际的地理坐标(纬度、经度),如果您使用瓷砖就好像它们展示了整个世界,这将是完全错误的?

    在这种情况下,您有多种解决方法:

    最简单可靠的方法可能是简单地编写一个小脚本,将所有图块重命名为它们的真实 (z,x,y) 数字。

    另一种选择是在写入 tile src 属性之前修改 (z,x,y) 数字,并应用适当的偏移量(z 为常数,x 和 y 由 z 缩放)。这应该会发生在L.TileLayer.getTileUrl() method

    祝你好运! :-)

    【讨论】:

    • 干杯,这基本上是我最终做的。我在 qgis 中打开了 kml 文件并使用 qtile 导出了它们,但这需要很长时间。我不导出它们,但有公式可以计算出适当的数字吗?
    • 一种简单的方法是使用OpenStreetMap 找到与您的 (0,0,0) 等效的图块并记下 OSM 图块编号(右键单击 > 查看图像)。每个额外的缩放级别都会使 x 和 y 数字加倍。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 2020-08-05
    • 2013-09-09
    • 2013-02-21
    相关资源
    最近更新 更多