GIS開發 tianditu切片計算

2021-09-24 18:15:43 字數 952 閱讀 3830

將切片拼接在一起,加上座標的資訊,就變成地圖影像了,當然最初可能切片也是根據地圖影像,來切割出來的。

下邊分享乙個簡單的tianditu切片的行列號計算方法,對應的是tainditu的「經緯度」地圖切片,當然球面墨卡托的計算方式也差不多。

兩種地圖:

tianditu經緯度的切片地圖範圍為[-180,-90,180,90],切片地圖的原點是-180,90,地圖級別從1開始,第一級別的地圖切片尺寸為橫向512px,縱向為256px,由兩張256*256的切片組成,第1級地圖的解析度為360/512,地圖每增加一級,解析度對應縮小到上一級的1/2。

切片序號的順序是從原點處開始的,越靠近地圖原點,編號就越小。

假如給定乙個地圖的經緯度範圍[xmin,ymin,xmax,ymax],地圖的第一級解析度定義initresolution,要獲取地圖切片的級別為level。

獲取地圖當前級別的最小行號和列號:

列號= ((xmin- (-180)) / (initresolution/2^(level-1)))/256

行號=-1* ((ymax- 90) / (initresolution/2^(level-1))+0.5)/256

獲取地圖當前級別的最大行號和列號:

列號= ((xmax- (-180)) / (initresolution/2^(level-1))+0.5)/256

行號=-1* ((ymin- 90) / (initresolution/2^(level-1)))/256

256分別為切片的寬高畫素值,如有不同,需要根據切片實際尺寸計算,座標計算的時候,需要減去中心點的值,再根據級別計算當前級別的解析度。

這樣根據最大、最小行列號算出乙個數字的範圍,上邊的值都要轉換成int型別的,再加上請求的級別,就可以獲取當前的切片資料了。

GIS開發 Arcgis的切片格式

常規的地圖切片,儲存在計算機的目錄,一般都是以數字的模式,表現層級的資料夾名稱,無外乎縮放等級 level 橫向的切片數 x 縱向的切片數 y 例如下邊的乙個切片存放資料夾,按照level y x.jpg進行儲存的。arcgis的切片格式,也是按照一定的資料夾目錄組織的,只是命名規則稍微有些不同,a...

gis 向量切片讀取 GIS向量切片演算法

structtilestructure public classvectortiletool listtiles publicvectortiletool public bool seprateshplayer string sourcepath,string resultfolder,intlev...

GIS開發 切片格式說明(翻譯) 墨卡托

latlon meters pixels tile首先要將經緯度換算成web mercator的公尺製單位,待切的影像是一張畫素很大的,有乙個經緯度的座標範圍,這樣畫素和公尺製的座標範圍,要進行乙個換算,最後,生成對應的切片。web mercator座標和經緯度進行換算的時候,最大的緯度座標是85....