~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
開發工具與關鍵技術:Supermap GIS高級應用與二次開發
作者:李宥良
撰寫時間:2020年4月28日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supermap GIS它是一種對空間資料進行采集、存盤、更新、分析、輸出等出來的工具。今天我要講的是投影坐標系統。
為什么要使用投影呢,因為地球表面是曲面的,而地圖通常要繪制在平面圖紙上,因此制圖時首先要把曲面展為平面。然而球面是個不可展的曲面,換句話說,就是把它直接展為平面時,不可能不發生皺紋。用這種具有皺紋的地圖,顯然是不實在的,所以必須采用特殊的方法將曲面展開,使其成為沒有褶皺的平面,于是就出現了地圖投影理論。其原理就是:因為球面上一點的位置決定于它的經緯度,所以實際投影時是先將一些經緯線的交點展繪在平面上,再將相同的經緯度的點連成經線,相同的緯度的點連成緯線,構成經緯網。有了經緯網以后,就可以將球面上的點,按其經緯度展繪在平面上相應的位置處。
地圖投影的定義簡單地講,地圖投影的實質是將地球橢球面上的結線網按照一定的數學法則轉移到平面。
具體來說,由于球面上一點的位置是用地理坐標(緯度中經度入)表示,而平面上點的位置是用直角坐標(縱坐標x,橫坐標Y)表示,所以要想將地球表面上的點轉移到平面上,必須采用一定的數學方法來確定地理坐標與平面直角坐標或極坐標之間的關系。
這種在球面和平面之間建立點與點之間函式關系的數學方法,稱為地圖投影。
怎樣選用投影地圖投影選擇得是否恰當,直接影響地圖的精度和實用價值。用不同投影方法建立的經緯線網形式不同,它們的變形性質和變形分布規律也各不相同。
在實際應用中,應盡可能的使地圖投影的變形最小, 目前沒有哪一個投影轉換方式可以完整、無變形地表達地球表面現實。選擇地圖投影時應考慮制圖區域的范圍、形狀和地理位置以及地圖的用途等幾個因素。
如何用代碼實作:
//map地圖,layer
var map, layer,
//host = document.location.toString().match(/file:\/\//) ? "http://localhost:8090" : 'http://' + document.location.host;
url = "http://localhost:8090/iserver/services/map-chinaPOI/rest/maps/ChinaDark";
//創建地圖控制元件
function init() {
map = new SuperMap.Map ("map");
//創建分塊動態REST圖層,該圖層顯示iserver 8C 服務發布的地圖,
//其中"world"為圖層名稱,url圖層的服務地址,{transparent: true}
//maxResolution設定到url的可選引數圖層實體化的時候設定圖層最大的解析度,默認最大的是360度/256像素(投影為4326),
//相當于縮放級別為0級。 不同的投影下maxResolution會不同,內部會進行計算。
//transparent(圖層是否透明,默認為false) 和cacheEnabled(是否使用服務端的快取,默認為true)
layer = new SuperMap.Layer.TiledDynamicRESTLayer("ChinaDark", url, null, { maxResolution: "auto" });
layer.events.on({"layerInitialized": addLayer});
}
function addLayer() {
//將Layer圖層加載到Map物件上
map.addLayer(layer);
//出圖,map.setCenter函式顯示地圖
map.setCenter(new SuperMap.LonLat(0, 0), 0);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/62259.html
標籤:非技術區
上一篇:scyther驗證協議失敗
