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

【C友貼圖區(qū)】

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

【C友開心吧】

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

【心情咖啡屋】

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

【求職招聘區(qū)】

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



  • 閱讀:8318
  • 回復(fù):0
[經(jīng)驗(yàn)] 離線谷歌衛(wèi)星地圖加載服務(wù)中間件調(diào)用示例 For WPF
諾一小寶貝
初級會員
鎵嬫満鍙風(fēng)爜宸查獙璇? style=


 發(fā)短消息    關(guān)注Ta 

積分 140
帖子 28
威望 12003 個(gè)
禮品券 0 個(gè)
專家指數(shù) 0
注冊 2015-11-5
專業(yè)方向  工程測量
回答問題數(shù) 0
回答被采納數(shù) 0
回答采納率 0%
 
發(fā)表于 2016-01-04 16:28:02  只看樓主 
1.說明
水經(jīng)注離線谷歌衛(wèi)星地圖加載服務(wù)中間件可利用離線地圖的.dat文件在本地建立服務(wù)端,并生成影像、標(biāo)簽、高程等服務(wù)地址,可以在WPF中直接調(diào)用該服務(wù)地址,并將請求到的服務(wù)資源顯示在前端,當(dāng)請求的地圖資源不存在可通過網(wǎng)絡(luò)直接下載缺失的地圖,并儲存在.dat文件中。

百度網(wǎng)盤下載:http://pan.baidu.com/s/1jGfHGv8
詳情請咨詢水經(jīng)注
QQ群 329081749

2.實(shí)現(xiàn)
2.1 WPF項(xiàng)目建立
新建WPF項(xiàng)目“RiverMapServerSample For WPF”,如下圖。



在引用中添加arcgis的com組件“ESRI.ArcGIS.Client”,如下圖。



新建一個(gè)離線圖層類“OfflineGoogleMapLayer”,部分源碼如下。
class OfflineGoogleMapLayer : TiledMapServiceLayer
{
private const double halfCircle = 20037508.342787;
public override void Initialize()
{
TileInfo = new TileInfo();
TileInfo.Width = 256;
TileInfo.Height = 256;
TileInfo.Origin = new MapPoint(-halfCircle, halfCircle);
TileInfo.SpatialReference = new SpatialReference(102113);//102100
TileInfo.Lods = new Lod[19];
double resolution = halfCircle * 2 / 256;
base.MaximumResolution = resolution;
for (int i = 0; i < TileInfo.Lods.Count(); i++)
{
TileInfo.Lods = new Lod();
TileInfo.Lods.Resolution = resolution;
resolution /= 2.0;
}
base.MinimumResolution = resolution * 2.0;
base.SpatialReference = new SpatialReference(102113);
base.FullExtent = new Envelope(-halfCircle, -halfCircle, halfCircle, halfCircle);
base.Initialize();
}
public override string GetTileUrl(int level, int row, int col)
{
string baseUrl = "http://127.0.0.1:1002/getDefinedImage?";
int x = col + 1;
int y = row + 1;
int l = level + 1;
string url = baseUrl + "x=" + x + "&y=" + y + "&z=" + l;
return url;
}
其中【baseURL=”http://localhost:1002/getDefinedImage?”】表示請求的是影像、地圖、地形、標(biāo)簽、影像+標(biāo)簽、影像+地圖、影像+地形或Dem。具體根據(jù)RiverMapServer的啟動配置參數(shù)來確定。
例如:RiverMapServer.exe “1002” “Image_Label” “c:\test\tile” “c:\test\label”表示此應(yīng)用輸出合并底圖(可以為影像、地圖、地形任意一種)和標(biāo)簽兩個(gè)地圖瓦片。RiverMapServer.exe “1002” “Image” “c:\test\tile”表示此應(yīng)用輸出地圖底圖(可以為影像、地圖、地形任意一種)

在主界面“MainWindow.xaml.cs”中添加剛剛新建的離線圖層“OfflineGoogleMapLayer”,如下圖所示。



2.2啟動RiverMapServer
啟動RiverMapServer有兩種方式都可以正常運(yùn)行。

2.2.1 直接運(yùn)行RiverMapServer

通過config.ini文件配置參數(shù),如下圖。



PORT=1002表示端口為1002;GetFileType=Image_Label表示此應(yīng)用輸出合并底圖(可以為影像、地圖、地形任意一種)和標(biāo)簽兩個(gè)地圖瓦片,后面必須跟兩個(gè)瓦片工程文件目錄;TileDir=..\dat\tile表示影像數(shù)據(jù)路徑;LabelDir=..\dat\label 表示標(biāo)簽數(shù)據(jù)路徑;DemDir=..\dat\dem 表示高程數(shù)據(jù)路徑。
RiverMapServer啟動窗口,如下圖。



2.2.2 通過cmd.exe輸入啟動參數(shù)運(yùn)行

新建一個(gè)bat文件,設(shè)置配置參數(shù),如下圖。



雙擊.bat啟動服 務(wù)。運(yùn)行效果和直接運(yùn)行RiverMapServer效果一致。



3.運(yùn)行結(jié)果
運(yùn)行RiverMapServerSample For WPF效果,如下圖。



附錄:
啟動參數(shù)說明
1.瓦片文件類型:Image_Lable 表示此應(yīng)用輸出合并底圖(可以為影像、地圖、地形任意一種)和標(biāo)簽兩個(gè)地圖瓦片,后面必須跟兩個(gè)瓦片工程文件目錄
例子:RiverMapServer.exe “1002” “Image_Label” “c:\test\tile” “c:\test\label”

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

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

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

請求接口說明
根據(jù)啟動參數(shù)輸出相應(yīng)類型圖片(影像、地圖、地形、標(biāo)簽、影像+標(biāo)簽、影像+地圖、影像+地形、Dem)
http://localhost:1002/getDefinedImage?x=1&y=1&z=1
輸出地圖底圖(影像、地圖、地形任意一種)
http://localhost:1002/getTileImage?x=1&y=1&z=1
輸出標(biāo)簽
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

地圖服務(wù)啟動日志輸出

[attach]323334[/attach]

2 .服務(wù)正常啟動與運(yùn)行輸出:
@@RUN:WAITING 正常啟動后和服務(wù)空閑時(shí)每分鐘輸出
@@RUN:Exception:異常消息(不能有回車換上等控制字符)服務(wù)啟動異常后輸出

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

3 .瓦片輸出
@@TileOK:X=1&y=1&z=1 底圖瓦片下載成功(已下載正常輸出瓦片不輸出日志)
@@LabelOK:X=1&y=1&z=1 標(biāo)簽瓦片下載成功(已下載正常輸出瓦片不輸出日志)
@@TileNoExists:X=1&y=1&z=1 底圖瓦片不存在
@@LabelNoExists:X=1&y=1&z=1 標(biāo)簽瓦片不存在
@@TileOverRange:X=1&y=1&z=1 底圖瓦片超出工程文件覆蓋范圍
@@LabelOverRange:X=1&y=1&z=1 標(biāo)簽瓦片超出工程文件覆蓋范圍
掃碼關(guān)注5G通信官方公眾號,免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5G NTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1
  • 對本帖內(nèi)容的看法? 我要點(diǎn)評

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

    快速回復(fù)主題    
    標(biāo)題 [經(jīng)驗(yàn)] 離線谷歌衛(wèi)星地圖加載服務(wù)中間件調(diào)用示例 For WPF" tabindex="1">
    內(nèi)容
     上傳資料請點(diǎn)左側(cè)【添加附件】

    當(dāng)前時(shí)區(qū) GMT+8, 現(xiàn)在時(shí)間是 2025-01-09 17:31:59
    渝ICP備11001752號  Copyright @ 2006-2016 mscbsc.com  本站統(tǒng)一服務(wù)郵箱:mscbsc@163.com

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