首先這個教程整理,比較偏細節。html
由於我自己不是作GIS,因此可能有點流水帳,固然錯漏不免,懇請指正。android
當咱們作定位的時候,想要可視化展現,室外固然能夠直接使用google,百度的底圖。對於室內,有兩種方法:git
1.單獨可視化展現能夠直接經過簡單的底圖jpg圖片進行,只須要實現jpg像素座標到你定位座標的轉換便可。github
2.若是還想要想要室內的map matching, 甚至想要路徑規劃(導航)都須要矢量地圖生產了發佈了。web
本文這裏只講比較簡單的基於ArcMap/ArcServer(英文版)的實現方法和流程,若是你要設計室內地圖的規範化,標準制定,請移步indoorGML.數據庫
固然,這裏假設一些基本的arcmap基礎你有,否則一步步的講解的話就太多了。windows
1.CAD------>SHP
首先,通常的室內地圖咱們能夠經過CAD的設計圖來進行轉化成想要的底圖背景。api
有自定義座標系的建築設計cad圖,可是和全校底圖不在一個座標系下。
步驟:
1.利用cad圖導出成shp文件:
a.polyline 放進工做區
b.data->export(layers coordinate system.)
c.在geodatabase中import該shp, start edit and spatial adjust.
2.調整你想要的室內圖到某個底圖(google baidu底圖或者校園地圖這種上去)
a.打開shp文件和底圖文件 (若是看不到能夠new a map document 再拖進去)
b.利用arcmap的Spatial adjustment工具裏的displacement link tool 來連接同名點。
(先點擊待轉換的點,鏈接到目標點上去,多利用zoom to layer)
c.均勻佈設 控制點,而後點擊adjust 進行轉換。
2.經過ArcServer 發佈導航服務
2.1概述
有了大概的cad底圖,可是並無咱們想要的路徑分析,道路信息等。爲了實現道路map matching 或者navigation,須要發佈map server(network analysis)服務。
1.利用arctmap畫圖並生成網絡數據集(newwork dataset),而後利用arcmap的network analyse分析驗證路算
2.發佈網絡數據集到arcgis server 上面便可。
2.2生產:
1.在文件目錄下面新建「文件地理數據庫」test網絡
2.在test創建要素數據集testset,座標系選擇Project(投影座標系)(好比UTM 的WGS84-North N36)工具
3.在testset裏面創建須要的要素類好比road toilet(畫圖) 畫圖的時候注意比例尺,不然太大。
4. arcmap上面空白右鍵點擊network analyst功能
5.在testset新建網絡數據集(若是是灰色則須要在自定義拓展模塊中激活network Analyst)
6.網絡數據集建立的時候不能選point 只選擇road 不然會提示建立有錯誤並生成error(代碼16 「交匯點未鏈接到任何其餘邊要素。」 )
notice:
1.在生成數據集的時候,連通性設置爲全部節點或者是端點 若是是端點須要打斷否則路算繞遠(connectivity項)。交接點也須要打斷 否則走不通。(no route found)
- 具備長度單位的長度屬性(有座標系就ok)
- 至少有一個邊源
- 邊源上至少有一個文本字段(導航的道路名)(新增字段要在目錄下選擇屬性, 新增完後編輯會顯示不可用的字段,重啓。。。)
- 一條路多線段先畫成一塊兒寫了屬性再打斷會帶有屬性,能夠利用高級edit的批量打斷。
3.導航信息中 若是是一條路(上文的文本字段)則不提示轉向(哪怕角度很大 只會計算該路段的起點終點的方向,例如一個直角路是一條路,可能直接說沿着東南路方向行駛,因此須要分紅兩段,road名字設置成同樣) WGS84 可設置成顯示decimal degree 並在custom中設置小數位(若是地圖小)
2.3發佈網絡分析服務
可能遇到的問題:
2.經過http://your_ip:6080/arcgis/manager/service.html?name=MyMapService.MapServer管理服務
3.6080ip被防火牆封掉的問題,須要安裝web adaptor(在server包裏)而後經過訪問web adaptor來訪問你的服務,即測試你的服務的地址變爲http://your_ip/webadapter/rest/services/YourMapService/NAServer/Route
3. 在終端Android(web)中使用你的網絡服務:
2.github 上面看esri的相關sample code.
本文只是介紹瞭如何從CAD----->Map, 由於arcgis 自己的network analysis暫時並未提供室內三維空間的導航。
因此如何經過arcgis的二維路徑分析進一步實現室內三維導航呢?具體的思路將在下一篇文章中介紹。