【问题标题】:Reproject static image: updating source transforms the image again重新投影静态图像:更新源再次转换图像
【发布时间】:2019-01-18 18:19:48
【问题描述】:

卡住了......我正在将 png 图像作为静态图像层加载到 OpenStreetMap 上。当我从例如重新投影地图时3857 到 32661 图像也会自动重新投影(我想要),但是当我更新静态图像的源时,图像层会再次转换。转换后的图像再次像原始图像一样具有矩形形状......令人沮丧......

如何让图像不再变换,而只显示更新后的源(与原始源具有相同的尺寸,但根据新投影进行变换)。

我有一个图像层“IMG_LYR”,源为“IMG_LYRStaticSource”:

IMG_LYRbounds = [45.3, 30.9, -14.6, 72.6]; // LON/LAT
url = "http://localhost/img/myupdatedimg.png";

IMG_LYR = new ol.layer.Image({
    source: IMG_LYRStaticSource
});

IMG_LYRStaticSource = new ol.source.ImageStatic({
    url: url,
    projection: map.getView().getProjection().getCode(),
    imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", map.getView().getProjection().getCode()))
});

当我在检查控制台中显示“投影”时,确认它是“32661”。我做错了什么??

顺便说一句:我也使用 Proj4 defs!当设置新的投影 32661 时,原始图像和基础地图发生转换时,确认了这一点。

【问题讨论】:

    标签: openlayers openlayers-5


    【解决方案1】:

    只有你的视图投影在改变,静态图像的投影不会改变,就像 OSM 一样,它会被视图重新投影。

    IMG_LYRStaticSource = new ol.source.ImageStatic({
        url: url,
        projection: "EPSG:3857",
        imageExtent: ol.extent.applyTransform(IMG_LYRbounds, ol.proj.getTransform("EPSG:4326", "EPSG:3857")
    });
    

    【讨论】:

      猜你喜欢
      • 2014-02-18
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      相关资源
      最近更新 更多