gpt4 book ai didi

openlayers - 如何在 OpenLayers 3 Map 上放置静态图像叠加层

转载 作者:行者123 更新时间:2023-12-03 15:00:05 26 4
gpt4 key购买 nike

我正在使用 OpenLayers 3 在 Angular/Ionic 移动应用程序中显示室内地图。这些 map 是我放置在 OpenLayers map 之上的静态图像。

我正在创建 map 并添加如下图像层。

var extent = ol.proj.transformExtent([-79.180360, 37.351251, -79.179148, 37.349640], 'EPSG:4326', 'EPSG:3857');

var layer = new ol.layer.Tile({
source: new ol.source.OSM()
});

var view = new ol.View({
center: ol.extent.getCenter(extent),
zoom: 18,
rotation: 0
});


// Setting the Overlay Image
var image = new ol.layer.Image({
source: new ol.sourceImageStatic({
url: 'http://www.exampleimageurl.png'
imageExtent: extent
})
});

var map = new ol.Map({
target: 'indoor-map',
layers: [layer, image],
view: view
});

上面的代码确实在 map 顶部显示了一个图像,但它没有正确定位。

Static image displayed over building, but not placed properly.

我正在假设在 OpenLayers 中,我们需要设置包含图像的范围,从而确定图像在 map 上的位置。

基于此:
  • 如果我们有图像 4 个角的坐标,我们如何确定图像的真实范围?
  • 我们如何让建筑平面图真正覆盖在建筑物上。

  • 建筑物实际上是向左旋转的。查看谷歌地图截图。

    Screenshot of Google Map showing orientation of the map.

    最佳答案

    您需要 georeference在将图像覆盖在任何 basemap (OSM 等)上之前。您可以使用 QGIS (实际上使用了 GDAL 插件),它有一个很好的图形环境。

    您也可以找到 fairly good tutorial here

    地理引用图像将被旋转,因此会有一个黑色(或白色)空间,但由于它是一个具有 alpha channel (透明度)的 PNG,您可以将其删除。

    关于openlayers - 如何在 OpenLayers 3 Map 上放置静态图像叠加层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37336255/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com