我正在使用OpenLayers v6.3.1来渲染奥地利国家的WMTS图层(东部的'布尔根兰'和西部的'蒂罗尔')。这里是我创建的一个代码沙盒,用来展示代码和使用的选项。https:/codesandbox.ioswmts-openlayers-bgld-x7lcy。
问题是瓷砖渲染了太多的东南(土耳其伊兹密尔),而不是奥地利布尔根兰和马其顿希腊,而不是奥地利蒂罗尔。
我确信图层的数据和proj4的定义都是正确的,因为它在QGIS中得到了正确的渲染。
为什么会发生这种情况?
正如 @Mike 指出的那样,QGIS 似乎检测到了不一致的地方,并应用了一个变通方法。
在能力文档中,坐标是按东北顺序排列的,尽管投影都是东-北的(如果我定义为东北,图层就会出现在不同的错误位置,文本朝向一边)。 去解决这个问题,我把投影定义为东北,把投影的副本定义为东-北,然后在解析后的选项中改变投影。 OpenLayers中也有一个bug,在最新的开发版本中得到了修复,所以你需要使用这个bug,直到thee是另一个正式的版本。 https:/codesandbox.ioswmts-openlayers-bgld-qmxhu。
为了便于比较,这里有一个 真正 东北角投影 https:/codesandbox.ioswmts-axis-neu-d2vux。