国产成人av网站网址-国产成人av无码精品-国产成人av无码精品天堂-国产成人av无码片在线观看-国产成人av无码一区二区三区不卡-国产成人av无码永久免费

首頁 新聞中心 技術文檔 OpenLayers中文教程文檔

OpenLayers的投影方式

發(fā)布時間:2021-12-12 22:57:52   瀏覽量:5965   作者:openlayers.org

OpenLayers 能夠在不同于服務器提供的坐標系中顯示來自 WMS、WMTS、靜態(tài)圖像和許多其他來源的柵格數據。圖像的地圖投影的轉換直接在 Web 瀏覽器中進行。任何 Proj4js 支持的坐標參考系統(tǒng)中的視圖都是可能的,以前不兼容的層現(xiàn)在可以組合和覆蓋。

用法

API 的使用非常簡單。只需指定正確的投影(例如使用EPSG代碼)ol/View

import {Map, View} from'ol';import TileLayer from'ol/layer/Tile';import TileWMS from'ol/source/TileWMS';varmap =newMap({target:'map',view:newView({projection:'EPSG:3857',//HERE IS THE VIEW PROJECTIONcenter: [0,0],zoom:2}),layers: [newTileLayer({source:newTileWMS({projection:'EPSG:4326',//HERE IS THE DATA SOURCE PROJECTIONurl:'https://ahocevar.com/geoserver/wms',params: {'LAYERS':'ne:NE1_HR_LC_SR_W_DR'}})})]});

如果源(基于ol/source/TileImageol/source/Image)的投影與當前 的投影不同,ol/View則重新投影會在幕后自動發(fā)生。

自定義投影

使用自定義投影的最簡單方法是將Proj4js庫添加到您的項目中,然后使用 proj4 定義字符串定義投影。它可以安裝

npm install proj4

以下示例顯示了英國國家網格的定義:

import proj4 from'proj4';import {get as getProjection, register} from'ol/proj';proj4.defs('EPSG:27700','+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 '+'+x_0=400000 +y_0=-100000 +ellps=airy '+'+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 '+'+units=m +no_defs');register(proj4);varproj27700 = getProjection('EPSG:27700');proj27700.setExtent([0,0,700000,1300000]);

視圖投影的變化

要切換用于顯示地圖的投影,您必須在 上設置一個ol/View具有選定投影的新投影ol/Map

map.setView(newView({projection:'EPSG:27700',center: [400000,650000],zoom:4}));

TileGrid 和范圍

當需要重新投影時,新的圖塊(在目標投影中)位于從原始源圖塊創(chuàng)建的引擎蓋下。默認情況下,重新投影圖塊的 TileGrid 是使用ol/tilegrid~getForProjection(projection). 投影應該有范圍定義(見上文)才能正常工作。

或者,可以手動構建自定義目標 TileGrid 并使用ol/source/TileImage~setTileGridForProjection(projection, tilegrid). 當重新投影到指定的投影而不是創(chuàng)建默認投影時,將使用此 TileGrid。在某些情況下,這可用于優(yōu)化性能(通過調整圖塊大小)或視覺質量(通過指定分辨率)。

怎么運行的

重投影過程基于三角形——目標柵格被分成有限數量的三角形,頂點使用ol/proj功能轉換(proj4js通常用于定義自定義轉換)。三角形內像素的重投影近似于仿射變換(渲染硬件由畫布 2d 上下文加速):

通過這種方式,我們可以在幾乎任何硬件(支持 canvas 2d)上支持來自 proj4js(甚至自定義轉換函數)的各種投影,而實際轉換計算數量相對較少。

重投影的精度受三角形數量的限制。

重投影過程會保留源(png 或 gif)提供的柵格數據的透明度,并且重投影生成的間隙和無數據像素會自動透明。

動態(tài)三角測量

上圖顯示了當原始圖像(左;EPSG:27700)僅使用有限數量的三角形(右;EPSG:3857)進行轉換時,會出現(xiàn)明顯的錯誤(尤其是在邊緣)。可以通過增加使用的三角形數量來最小化誤差。

由于某些轉換需要更詳細的三角剖分網絡,因此動態(tài)三角剖分過程會自動測量重投影誤差并迭代細分以滿足特定的誤差閾值:

對于調試,可以通過 啟用重投影邊緣的渲染ol.source.TileImage#setRenderReprojectionEdges(true)

先進的

三角剖分精度閾值

以像素為單位的默認三角測量誤差閾值由ERROR_THRESHOLD(0.5 像素) 給出。如果需要為不同的源定義不同的閾值,reprojectionErrorThreshold可以在構建瓦片圖像源時傳遞該選項。

按范圍限制重新投影地圖的可見性

重投影算法使用逆變換(從視圖投影到數據投影)。對于某些坐標系,這可能會導致源數據在地圖上“重復出現(xiàn)”。例如,當將瑞士地圖從 EPSG:21781 重新投影到 EPSG:3857 時,它會顯示兩次:一次在歐洲的適當位置,但也在地球另一側的新西蘭附近的太平洋中。

盡管這是逆變換在數學上正確的行為,但用戶并不期望圖層在多個位置的可見性。一個可能的通用解決方案是也計算每個頂點的前向變換 - 但這會顯著降低性能(特別是對于計算成本高的變換)。

因此,推薦的解決方法是ol.layer.Tile在視圖投影上定義適當的可見性范圍。重投影演示示例中演示了如何設置此類限制。

分辨率計算

在確定要加載的源切片時,需要計算理想的源分辨率。該ol/reproj~calculateSourceResolution(sourceProj, targetProj, targetCenter, targetResolution)函數計算理想值,以便在重投影期間實現(xiàn)盡可能接近 1:1 的像素映射,然后用于從源中選擇適當的縮放級別。

然而,對整個目標縮放級別使用相同的源縮放級別通常是不切實際的——不同的投影在世界不同地區(qū)可能具有顯著不同的分辨率(例如 EPSG:3857 和 EPSG:4326 中的極地地區(qū))和對整個縮放級別強制使用單一分辨率會導致某些圖塊按比例放大/縮小,可能需要加載大量源圖塊。因此,分辨率映射是針對每個重新投影的瓦片(在瓦片范圍的中間)單獨計算的。


大学生酒店呻吟在线观看| 无码人妻一区二区三区在线| らだ天堂中文在线| 欧洲无码精品A码无人区| CAOPORN国产精品免费| 欧美人妻精品一区二区在线| 99久久免费国产精品四虎99久久精品免费看国产一区二区 | 日韩国产成人无码AV毛片蜜柚| СЕКС日本ВИДЕ视频 | 调教秘书跪趴撅起来打光屁股作文| 放荡的熟妇高清视频| 上边一面亲下边一面膜的注意事项| 成人无码网WWW在线观看| 色欲ΑV一区二区三区天美传媒| 都市 亚洲 自拍 小说 校园| 十八禁啪啪污污网站免费下载 | 亚洲高清国产拍精品动图| 精品久久久久久无码中文字幕一区 | 小少妇ASS浓PICS| 国模GOGO无码人体啪啪| 亚洲精品AⅤ无码精品丝袜足| 精品无人乱码高清| 伊人精品无码AV一区二区三区| 么公的粗大挺进了我的密道| 97在线视频免费人妻| 强行暴力肉体进入HDⅩXXX| 粉嫩AV一区二区三区| 国产成人精品亚洲一区二区三区 | 99精品国产一区二区三区不卡| 欧美成人午夜免费全部完| JLZZJLZZ亚洲| 色综合色综合色综合色欲| 国产精品麻豆欧美日韩WW| 亚洲AV无码成人影片在线观看| 精品久久久久久久国产潘金莲 | 上司侵犯下属人妻中文字幕| 国产旡码高清一区二区三区 | 欧美老妇交乱视频在线观看| 播放少妇的奶头出奶水的毛片| 视频视频APP在线看| 国产午夜鲁丝片AV无码| 亚洲熟妇人av一区二区三区| 美女又黄又免费的视频| XXXX另类黑人| 手机看片AV无码永久免费| 国产一区二区H无遮挡| 亚洲一区二区三区丝袜| 男人边吃奶边挵进去呻吟动态图 | 色欲欲WWW成人网站| 国产亚AV手机在线观看| 亚洲最大AV无码网址| 欧美黑人巨大XXXXX| 第一次爱的人免费观看电视剧| 小妖精好爽H快穿共妻| 久久精品影视免费观看| HD老熟女BBN老淑女| 天美传媒免费观看一二三在线| 黑人异族XXXⅩ吊大| 中文字幕无码乱人伦| 日日摸夜夜添夜夜添无码| 国内大量揄拍人妻在线视频| 在线观看4480私人影视| 日本强伦姧人妻完视频正版| 国产熟女真实乱精品视频| 一本大道大臿蕉无码视频| 人妻少妇看A偷人无码电影| 国产精品视频免费播放| 野花韩国视频免费高清3| 人妻多毛丰满熟妇av无码| 国产剧情AV麻豆香蕉精品| 亚洲中文字幕永久在线不卡| 人妻熟妇乱又伦精品视频无广告| 国产精品亚洲专区无码导航| 亚洲尤码不卡AV麻豆| 人妻无码中文字幕一区二区三区 | 久久无码中文字幕免费影院| 草草浮力院禁止18进入| 亚洲AV无码专区亚洲AV紧身裤 | 四川丰满少妇A级毛片| 精品人妻潮喷久久久又裸又黄| AV无码精品一区二区三区四区| 我和闺蜜在公交被八个人挤倒| 久久久久精品老熟女国产精品| 锕锕锕锕锕锕好污网站大全| 亚洲AV无码成人精品区在线h| 男男黄GAY片免费网站WWW| 国产大屁股喷水视频在线观看| 一二三四免费观看高清在线| 日韩系列 无码迅雷| 精品欧洲AV无码一区二区男男| VICTORYDAY刺激性另类| 亚洲AV无码专区在线| 欧洲美女粗暴交视频| 国内精品久久久久久久影院 | 日韩午夜理论免费TV影院| 精品无码一区二区三区电影| 被公牛日到了高潮| 亚洲精品美女久久7777777| 人摸人人人澡人人超碰手机版| 韩漫网站在线看免费无删减漫画 | 久久精品国产亚洲AV麻豆| 成人女人A级毛片免费软件| 亚洲色18禁成人网站WWW| 日韩A片无码ⅩXXXX| 精品一区二区三区在线视频| 把腿张开老子臊烂你妙妙| 亚洲精品无码AⅤ片桃花岛| 日本少妇人妻ⅩⅩXXX厨房| 精品少妇无码AV无码专区蜜臀| 成人午夜免费无码福利片| 亚洲午夜性猛春交XXXX| 色妞WWW精品视频| 久久天天躁狠狠躁夜夜不卡 | 尤物爆乳AV导航| 无码人妻在线视频| 哦┅┅快┅┅用力啊┅警花少妇| 国产婷婷成人久久AV免费高清| JAPANESEHD日本乱厨房| 亚洲精品无码AⅤ片| 色欲天天综合亚洲日本| 美女粉嫩饱满的一线天MP4| 国产欧美日韩一区二区加勒比| AV天堂永久资源网| 亚洲精品无码日韩国产不卡AV| 日韩精品无码人妻一区二区三区| 久久婷婷五月综合色精品| 国产精品丝袜高跟鞋| YY1111111少妇无码影院| 亚洲一区二区三区AV无码| 无码欧亚熟妇人妻AV在线| 欧美性猛交XXXX乱大交蜜桃| 久本草在线中文字幕| 国产激情久久久久久熟女老人| 99无人区码一码二码三码| 亚洲久热无码AV中文字幕| 书房双乳晃动干柴烈火视频| 欧美成人精品三级网站下载| 精品亚洲韩国一区二区三区| 国产成人亚洲精品| JK女自慰下面爆浆喷水| 一本大道久久东京热无码AV| 无码中文人妻在线一区二区三区| 人妻丰满熟妇AV无码区APP| 久久亚洲AV午夜福利精品一区二| 国产精品自在欧美一区| 成年女美黄网站大全免费播放| 中文乱码人妻系列一区二区| 亚洲国产成AV人天堂无码| 天美传媒MV在线看免费下载安装| 欧洲精品VA无码一区二区三区| 久久强奷乱码老熟女| 国精品99久9在线 | 免费| 国产99精品视频一区二区三区| JAPANESE嫩21VIDE| 影音先锋2020色资源网| 亚洲国产精品成人一区二区在线| 我半夜摸妺妺的奶C了她动漫| 人与禽性7777777| 内射人妻无码色AV无码| 久久精品丝袜高跟鞋| 国产一级 片内射30岁老熟女| 国产AV一区二区三区传媒| 把腿张开老子臊烂你多P| 18禁H免费动漫无码网站| 亚洲性日韩精品一区二区三区| 羞涩的丰满人妻40P| 丝袜 中出 制服 人妻 美腿| 人人妻人人超人人| 男友把舌头都伸进我的嘴巴里了| 久久久久久久精品免费看人女| 国精品午夜福利视频不卡 | 中文字幕AV一区中文字幕天堂| 亚洲乱码av一区二区三区| 亚洲AV日韩AV高潮潮喷无码| 我的娇妻QUEEN| 日韩一区二区三区精品视频| 强奷高H猛烈失禁潮喷播放| 男同GAY片自慰AV网站| 美国少归BVBV| 狼人青草久久网伊人| 久久国产中文娱乐网| 精品国产乱码久久久久久蜜桃网站 | A在线视频播放观看免费观看 | 成年午夜免费AⅤ在线观看| YY1111111少妇无码影院| AV电影在线观看| 97精品伊人久久大香线蕉app | 无码纯肉视频在线观看喷水| 少妇精品无码一区二区三区| 日韩精品一区二区亚洲AV| 日本VA欧美VA精品发布| 人妻18毛片A级毛片免费看| 欧美性爱第一页色色色| 欧美极度另类XXⅩOO| 欧美日韩乱一区二区三区| 欧美极品性饥渴少妇大战黑人 | 国产乱人伦偷精品视频色欲| 国产精品亚洲А∨无码播放麻豆| 国产精品免费看久久久8| 国产精品久久久久精品日日|