MSCBSC 移動通信論壇
搜索
登錄注冊
網絡優(yōu)化工程師招聘專欄 4G/LTE通信工程師最新職位列表 通信實習生/應屆生招聘職位

【C友貼圖區(qū)】

C友貼圖和看圖,請到此版
勿發(fā)違規(guī)圖片

【C友開心吧】

C友交流開心笑話的區(qū)域
樂一樂,就在開心吧

【心情咖啡屋】

分享你的心情和通信生活
C友交流心情的地方

【求職招聘區(qū)】

招聘,求職,職業(yè)交流
討論通信人的職場前景



  • 閱讀:11413
  • 回復:0
[經驗] 離線谷歌衛(wèi)星地圖加載服務中間件調用示例For ArcGIS JS API
諾一小寶貝
初級會員
鎵嬫満鍙風爜宸查獙璇? style=


 發(fā)短消息    關注Ta 

積分 140
帖子 28
威望 12003 個
禮品券 0 個
專家指數 0
注冊 2015-11-5
專業(yè)方向  工程測量
回答問題數 0
回答被采納數 0
回答采納率 0%
 
發(fā)表于 2015-12-17 13:09:23  只看樓主 
1.
說明

水經注離線谷歌衛(wèi)星地圖加載服務中間件可利用離線地圖的.dat文件在本地建立服務端,并生成影像、標簽、高程等服務地址,可以在ArcGIS API for JavaScript中直接調用該服務地址,并將請求到的服務資源顯示在前端,當請求的地圖資源不存在可通過網絡直接下載缺失的地圖,并儲存在.dat文件中。


獲取更多免費軟件、技術加群:329081749


2.實現

2.1準備ArcGIS API for JavaScript

下載ArcGIS API for JavaScript。

1、請先配置IIS,方法請見《水經注離線谷歌衛(wèi)星地圖加載服務中間件調用示例 For ArcGIS JS API》文檔
2、啟動bin下的RiverMapServer服務(配置config.ini文件),或者直接運行"測試.bat"(已經設置好命令行參數)
3、運行RiverMapServerSample For ArcGIS JS api\RiverMapServerSample For ArcGIS JS Api.html測試文件.

bin文件(水經注離線地圖服務中間件)
dat文件(測試數據)


API的下載地址:http://support.esrichina.com.cn/2011/0223/960.html。最新版本為3.9。
水經注離線谷歌衛(wèi)星地圖加載服務中間件調用示例 For ArcGIS JS API:http://pan.baidu.com/s/1i3CUCNb




取arcgis_js_v39_api\arcgis_js_v39_api\arcgis_js_api文件夾下library文件夾及arcgis_js_v39_sdk\arcgis_js_v39_sdk\arcgis_js_api文件夾下sdk文件夾。放入新的文件夾中。例如”..\ 水經注離線谷歌衛(wèi)星地圖加載服務中間件調用示例 For ArcGIS API for JavaScript\RiverMapServerSample For ArcGIS JS api”如下圖。





2.2 ArcGIS API for JavaScript離線部署

2.2.1 IIS部署

打開信息服務管理器(IIS),添加網站,設置物理路徑為..\ 水經注離線谷歌衛(wèi)星地圖加載服務中間件調用示例 For ArcGIS API for JavaScript\RiverMapServerSample For ArcGIS JS api。在綁定一欄中分配IP地址。



這里的IP地址為192.168.1.51,端口為默認端口80。



在功能視圖中目錄瀏覽一項啟用視圖瀏覽功能。


2.2.2 ArcGIS JS API離線部署

用記事本打開:\library\3.9\3.9\init.js文件,將文本中[HOSTNAME_AND_PATH_TO_JSAPI],用<myserver>/library/3.9/3.9/替換,其中myserver可以是機器名、IP等,這里部署的IP地址為192.168.1.51,即將[HOSTNAME_AND_PATH_TO_JSAPI]替換為192.168.1.51/library/3.9/3.9/。
用記事本打開:\library\3.9\3.9\js\dojo\dojo\dojo.js文件,將[HOSTNAME_AND_PATH_TO_JSAPI]替換為192.168.1.51/library/3.9/3.9/。
(示例中已將[HOSTNAME_AND_PATH_TO_JSAPI]改為192.168.1.51/library/3.9/3.9/)
在其目錄下新建一個html文件“RiverMapServerSample For ArcGIS JS Api.html”,如下圖.



利用記事本打開“RiverMapServerSample For ArcGIS JS Api.html”并進行編輯,具體內容如下。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" c>
<meta name="viewport" c>
<title>RiverMapServerSample_For_ArcGISApiForJavaScript</title>

<link rel="stylesheet" href="library/3.9/3.9/js/dojo/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="library/3.9/3.9/js/esri/css/esri.css">

<script>var dojoConfig = {parseOnLoad: true};</script>
<script src="library/3.9/3.9/init.js"></script>
<script>
dojo.require("esri.map");
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");

var map;
var halfCircle = 20037508.342787;
function init() {
initLayer();
map = new esri.Map("map",{
logo:false
});
map.addLayer(new SJZLayer());
}

function initLayer() {
dojo.declare("SJZLayer", esri.layers.TiledMapServiceLayer, {
constructor: function() {
this.spatialReference = new esri.SpatialReference({
wkid: 102113
});
this.initialExtent = new esri.geometry.Extent(-20037508.342789, -20037508.342789, 20037508.342789, 20037508.342789, this.spatialReference);
this.fullExtent = new esri.geometry.Extent(-20037508.342789, -20037508.342789, 20037508.342789, 20037508.342789, this.spatialReference);
this.tileInfo = new esri.layers.TileInfo({
"dpi": "90.71428571427429",
"format": "image/png",
"compressionQuality": 0,
"spatialReference": {
"wkid": "102113"
},
"rows": 256,
"cols": 256,
"origin": {
"x": -halfCircle,
"y": halfCircle
},
"lods" : [
{"level" : 0, "resolution" : 156543.033928, "scale" : 591657527.591555},
{"level" : 1, "resolution" : 78271.5169639999, "scale" : 295828763.795777},
{"level" : 2, "resolution" : 39135.7584820001, "scale" : 147914381.897889},
{"level" : 3, "resolution" : 19567.8792409999, "scale" : 73957190.948944},
{"level" : 4, "resolution" : 9783.93962049996, "scale" : 36978595.474472},
{"level" : 5, "resolution" : 4891.96981024998, "scale" : 18489297.737236},
{"level" : 6, "resolution" : 2445.98490512499, "scale" : 9244648.868618},
{"level" : 7, "resolution" : 1222.99245256249, "scale" : 4622324.434309},
{"level" : 8, "resolution" : 611.49622628138, "scale" : 2311162.217155},
{"level" : 9, "resolution" : 305.748113140558, "scale" : 1155581.108577},
{"level" : 10, "resolution" : 152.874056570411, "scale" : 577790.554289},
{"level" : 11, "resolution" : 76.4370282850732, "scale" : 288895.277144},
{"level" : 12, "resolution" : 38.2185141425366, "scale" : 144447.638572},
{"level" : 13, "resolution" : 19.1092570712683, "scale" : 72223.819286},
{"level" : 14, "resolution" : 9.55462853563415, "scale" : 36111.909643},
{"level" : 15, "resolution" : 4.77731426794937, "scale" : 18055.954822},
{"level" : 16, "resolution" : 2.38865713397468, "scale" : 9027.977411},
{"level" : 17, "resolution" : 1.19432856685505, "scale" : 4513.988705},
{"level" : 18, "resolution" : 0.597164283559817, "scale" :2256.994353},
{"level" : 19, "resolution" : 0.298582141647617, "scale" : 1128.497176}
]
});
this.loaded = true;
this.onLoad(this);
},

getTileUrl: function(level, row, col) {
var baseUrl="http://127.0.0.1:1002/getDefinedImage?";
var x=col+1;
var y=row+1;
var z=level+1;
var url=baseUrl + "x=" + x + "&y=" + y + "&z=" + z;
return url;
}
});
}
dojo.ready(init);
</script>
</head>
<body onload='init();'>
<div id='map' style='width: full; height: 700px;'>
</div>
</body>
</html>
其中【strURL=”http://localhost:1002/getDefinedImage?”】表示請求的是影像、地圖、地形、標簽、影像+標簽、影像+地圖、影像+地形或Dem。具體根據RiverMapServer的啟動配置參數來確定。
例如:RiverMapServer.exe “1002” “Image_Label” “c:\test\tile” “c:\test\label”表示此應用輸出合并底圖(可以為影像、地圖、地形任意一種)和標簽兩個地圖瓦片。RiverMapServer.exe “1002” “Image” “c:\test\tile”表示此應用輸出地圖底圖(可以為影像、地圖、地形任意一種)

2.2啟動RiverMapServer
啟動RiverMapServer有兩種方式都可以正常運行。

2.2.1直接運行RiverMapServer
通過config.ini文件配置參數,如下圖。



PORT=1002表示端口為1002;GetFileType=Image_Label表示此應用輸出合并底圖(可以為影像、地圖、地形任意一種)和標簽兩個地圖瓦片,后面必須跟兩個瓦片工程文件目錄;TileDir=..\dat\tile表示影像數據路徑;LabelDir=..\dat\label 表示標簽數據路徑;DemDir=..\dat\dem 表示高程數據路徑。




2.2.2 通過cmd.exe輸入啟動參數運行
新建一個bat文件,設置配置參數,如下圖。




雙擊.bat啟動服 務。運行效果和直接運行RiverMapServer效果一致。





3.運行結果
瀏覽器打開RiverMapServerSample For ArcGIS JS Api.html效果,如下圖。



附錄:

啟動參數說明

1.瓦片文件類型:Image_Lable 表示此應用輸出合并底圖(可以為影像、地圖、地形任意一種)和標簽兩個地圖瓦片,后面必須跟兩個瓦片工程文件目錄
例子:RiverMapServer.exe “1002” “Image_Label” “c:\test\tile” “c:\test\label”

2.瓦片文件類型:Image 表示此應用輸出地圖底圖(可以為影像、地圖、地形任意一種)
后面必須只需一個瓦片工程文件目錄
例子:RiverMapServer.exe “1002” “Image” “c:\test\tile”

3.瓦片文件類型:Label表示此應用輸出地圖標簽 后面必須只需一個瓦片工程文件目錄
例子:RiverMapServer.exe “1002” “Label” “c:\test\label”

4.(待)瓦片文件類型:dem表示此應用輸出地圖位置高程 后面必須只需一個地圖位置高程工程文件目錄
例子:RiverMapServer.exe “1002” “dem” “c:\test\dem”
輸入參數大小寫不敏感,啟動時需檢查瓦片文件類型與工程文件是否匹配

請求接口說明
根據啟動參數輸出相應類型圖片(影像、地圖、地形、標簽、影像+標簽、影像+地圖、影像+地形、Dem)
http://localhost:1002/getDefinedImage?x=1&y=1&z=1

輸出地圖底圖(影像、地圖、地形任意一種)
http://localhost:1002/getTileImage?x=1&y=1&z=1

輸出標簽
http://localhost:1002/getLabelImage?x=1&y=1&z=1

輸出高程
http://localhost:1002/getDemImage?x=1&y=1&z=1

刪除地圖地圖(影像、地圖、地形任意一種)
http://localhost:1002/delTileImage?x=1&y=1&z=1

地圖服務啟動日志輸出
[attach]323152[/attach]

2 .服務正常啟動與運行輸出:

@@RUN:WAITING 正常啟動后和服務空閑時每分鐘輸出
@@RUN:Exception:異常消息(不能有回車換上等控制字符)服務啟動異常后輸出

服務正常啟動后建立與瓦片工程文件數據源的連接
@@DSCOK:瓦片工程文件 連接正常
@@DSCFAIL:瓦片工程文件 連接失敗
@@PORT:端口

3 .瓦片輸出

@@TileOK:X=1&y=1&z=1 底圖瓦片下載成功(已下載正常輸出瓦片不輸出日志)
@@LabelOK:X=1&y=1&z=1 標簽瓦片下載成功(已下載正常輸出瓦片不輸出日志)
@@TileNoExists:X=1&y=1&z=1 底圖瓦片不存在
@@LabelNoExists:X=1&y=1&z=1 標簽瓦片不存在
@@TileOverRange:X=1&y=1&z=1 底圖瓦片超出工程文件覆蓋范圍
@@LabelOverRange:X=1&y=1&z=1 標簽瓦片超出工程文件覆蓋范圍

[ 本帖最后由 諾一小寶貝 于 2015-12-17 13:13 編輯 ]
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
  • 1、回復“YD5GAI”免費領取《中國移動:5G網絡AI應用典型場景技術解決方案白皮書
  • 2、回復“5G6G”免費領取《5G_6G毫米波測試技術白皮書-2022_03-21
  • 3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網白皮書
  • 4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5G NTN技術白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網白皮書
  • 8、回復“5GX3”免費領取《 R16 23501-g60 5G的系統(tǒng)架構1
  • 對本帖內容的看法? 我要點評

     
    [充值威望,立即自動到帳] [VIP貴賓權限+威望套餐] 另有大量優(yōu)惠贈送活動,請光臨充值中心
    充值擁有大量的威望和最高的下載權限,下載站內資料無憂

    快速回復主題    
    標題 [經驗] 離線谷歌衛(wèi)星地圖加載服務中間件調用示例For ArcGIS JS API" tabindex="1">
    內容
     上傳資料請點左側【添加附件】

    當前時區(qū) GMT+8, 現在時間是 2025-03-31 12:50:11
    渝ICP備11001752號  Copyright @ 2006-2016 mscbsc.com  本站統(tǒng)一服務郵箱:mscbsc@163.com

    Processed in 0.386102 second(s), 13 queries , Gzip enabled
    TOP
    清除 Cookies - 聯(lián)系我們 - 移動通信網 - 移動通信論壇 - 通信招聘網 - Archiver