我目前正面临在OpenLayers 4.5.6中显示使用gdal2tiles.py生成的切片的问题
我的地理位置是从SHOM目录发出的。
要生成切片,我必须将我的tif翻译为vrt,使其成为RGB / RGBA兼容文件。
gdal_translate -of vrt map.tif map_translated.vrt
然后我只是运行
gdal2tiles.py map_translated.vrt
并发布了一个瓦片地图源文件,如下所示
<TileMap version="1.0.0" tilemapservice="http://tms.osgeo.org/1.0.0">
<Title>temp.vrt</Title>
<Abstract></Abstract>
<SRS>EPSG:3857</SRS>
<BoundingBox minx="-3.92503169515670" miny="46.43569348844158" maxx="-1.42506635394127" maxy="47.66245305306844"/>
<Origin x="-3.92503169515670" y="46.43569348844158"/>
<TileFormat width="256" height="256" mime-type="image/png" extension="png"/>
<TileSets profile="mercator">
<TileSet href="7" units-per-pixel="1222.99245234375007" order="7"/>
<TileSet href="8" units-per-pixel="611.49622617187504" order="8"/>
<TileSet href="9" units-per-pixel="305.74811308593752" order="9"/>
<TileSet href="10" units-per-pixel="152.87405654296876" order="10"/>
<TileSet href="11" units-per-pixel="76.43702827148438" order="11"/>
<TileSet href="12" units-per-pixel="38.21851413574219" order="12"/>
</TileSets>
</TileMap>
从gdal2tiles生产的所有样品都工作正常,但我正在尝试使用以下代码将瓷砖集成到openlayers 4.5.6中:
var mapMinZoom = 7;
var mapMaxZoom = 12;
var mapExtent = [-3.92503169516, 46.4356934884, -1.42506635394, 47.6624530531];
var defaultExtent = ol.proj.transformExtent(mapExtent, 'EPSG:4326', 'EPSG:3857');
var mapCenter = [-2.5461600, 47.3793800];
var defaultCenter = ol.proj.fromLonLat(mapCenter);
var osm = new ol.layer.Tile({
source: new ol.source.OSM()
});
var xyz = new ol.layer.Tile({
extent: defaultExtent,
source: new ol.source.XYZ({
projection: 'EPSG:3857',
attributions: 'Tiles © SHOM, rendered with ' +
'<a href="http://www.shom.fr/">Shom</a>',
url: './data/maps/7068/temp/{z}/{x}/{y}.png',
tilePixelRatio: 2,
minZoom: mapMinZoom,
maxZoom: mapMaxZoom
})
});
var view = new ol.View({
center: defaultCenter,
zoom: 12
});
var map = new ol.Map({
target: 'map',
layers: [ osm, xyz ],
view: view
});
不幸的是,地图无法找到生成的图块文件夹中的相应图块。例如:
./data/maps/7068/temp/12/2019/1434.png
事情是缩放,x很好,但是y不对,我的tiles文件夹改为2xxx.png。
我可能会遗漏一些关于范围或翻译的内容,我是否应该以不同的方式翻译我的tiff?生成我的瓷砖不同?地图上的Ajust seetings?
非常感谢任何帮助或建议,