mysql高德地图设计_基于高德开放平台Map Lab的数据可视化
在Map Lab上創建可視化項目,首先需要添加數據。添加數據有4種方式,分別是:
上傳CSV文件添加數據
上傳Excel文件添加數據
連接在線數據庫添加數據
提供在線數據API添加數據
一、數據上傳說明
1. 數據格式
CSV文件與Excel文件需要保證為UTF-8編碼,請上傳有明確表頭的,標準行列的一維表格數據,數據需要多于4行,請勿上傳帶有合并單元格的數據,會出現數據讀取失敗。
2. 表頭讀取
系統默認讀取數據中的第一行作為表頭,為了在后續編輯中方便操作和識別,請開發者正確命名表頭。
3. 數據分隔符
系統在數據讀取時,默認以英文逗號(,)作為分隔符,其他類型的分隔符會導致數據上傳失敗。
經緯度字段需要使用英文雙引號("")將數據引用,否則系統在讀取數據時,會作為兩個字段進行處理。即經緯度字段必須以字符串形式添加,否則數據將無法可視化。
4. 核心數據字段
位置數據可視化必須依賴經緯度才可以在地圖上進行數據繪制,所以上傳的數據中必須包含經緯度的字段。
5. 經緯度字段數據格式
◆ 點類型數據
經緯度數據格式為:“經度,緯度”,經緯度需要在一個單元格內,通過英文逗號分隔,逗號前為經度,逗號后為緯度,示例數據如下:
景區名稱
所在省份
經緯度
省份內5A景區數量
景區評定年份
東城區故宮博物院
北京市
116.397026,39.918058
7
2007年
東城區天壇公園
北京市
116.410886,39.881949
7
2007年
石家莊平山縣西柏坡景區
河北省
113.958941,38.357445
8
2011年
…
…
…
…
…
唐山市遵化市清東陵景區
河北省
117.665421,40.189822
8
2015年
◆ 線類型數據
經緯度數據格式為:"[經度1,緯度1],[經度2,緯度2]…[經度N,緯度N]",多個點的經緯度需要在一個單元格內,示例數據如下:
起點
終點
劃分
經緯度
北京
沈陽
東北
[116.41059,39.906779],[123.507758,41.694648]
北京
長春
東北
[116.41059,39.906779],[125.353461,43.855517]
北京
哈爾濱
東北
[116.41059,39.906779],[126.58393,45.849075]
…
…
…
…
北京
呼和浩特
華北
[116.41059,39.906779],[111.726483,40.841181]
◆ 面類型數據
經緯度數據格式為:"[經度1,緯度1],[經度2,緯度2]…[經度N,緯度N]",多個點的經緯度需要在一個單元格內,在繪制時會將第一個點和最后一個點進行連線,形成一個面,示例數據如下:
圖形
經緯度
三角形
[116.472501,39.994524],[116.472641,39.991286],[116.474647,39.993226]
三角形
[116.472791,39.99122],[116.475527,39.989486],[116.477447,39.99136]
四邊形
[116.480473,39.993908],[116.477576,39.991278],[116.479829,39.989847],[116.482683,39.992445]
…
…
五邊形
[116.478885,39.998642],[116.477769,39.995798],[116.48058,39.994072],[116.483884,39.995338],[116.481932,39.997985]
6. 數據量與文件大小
單份數據文件,最多包含5萬行數據,且文件大小需要小于5M,超過限制會導致數據上傳失敗。
注意:
因為CSV以及Excel單元格的限制,獲取的區域邊界坐標如果太多,將無法存儲全部的坐標。
解決方案:降低邊界坐標的采集精度,例如每隔五個坐標才做一次存儲。
7. 數據預覽與處理
◆ 查看數據讀取是否正確
上傳成功后,會進入到數據預覽頁面,在數據預覽頁面開發者可以做如下校驗。
查看讀取的數據格式是否正確,查看讀取的數據是否出現亂碼,查看讀取的數據量是否正確。
示例頁面如下:
◆ 數據處理
數據讀取確認無誤時,可對數據進行重命名操作,改一個識別性比較強的名字,方便后續選擇數據。同時對于數據源中多余的列,可以也可以點擊列名稱后的“更多”按鈕,對此列進行刪除。
示例頁面如下:
二、在線數據接入說明
1. 數據庫數據接入的整體流程
◆ 填寫連接數據庫所需要的信息
以MySQL數據庫舉例,SQL Server數據的同步的連接方式與MySQL數據一致。
服務器地址:如 30.28.180.155
端口號:如 3306
用戶名:數據庫訪問所需要的用戶名,如 root
密碼:數據庫訪問所需的密碼,如 123
數據庫名稱:如mapv
表格名稱:此處需要填寫數據所在的表格的名稱,如table1
以上數據填寫完成后,點擊“下一步”系統會自動連接到您的數據庫,如連接成功會收到對應的成功提示并順利進入下一步。
◆ 填寫數據名稱,設置數據同步頻率
數據庫連接信息填寫成功后,點擊“下一步”,進入到數據設置頁面,該頁面中需要填寫如下內容:
數據名稱:為這份數據起一個名字,后續方便與其他數據區分,也方便查找與使用
同步方式:同步方式中支持固定頻次同步,即開發者選擇了同步頻率后,如1小時,平臺會每隔一個小時去拉取一次數據,做到數據的動態更新。
◆ 數據預覽
◆ 創建可視化項目
注意:
即使數據庫連接成功,數據預覽沒有問題,可視化項目也不一定可以創建成功。因為Map Lab能夠繪制的經緯度數據(主要是區域繪制)是有極限的。
行政區域的邊界坐標并不一定只有一條記錄,有時候所屬同個行政區的區域并不一定會連在一起,例如沿海省份或城市會含有許多小海島。
目前省份繪制的數據記錄大概是370條,市級繪制的數據記錄大概是490條,縣級繪制的數據記錄較少還未知極限。當然一個區域的越大邊界越曲折,它的經緯度坐標越多,因此這里的數據記錄數量也并不一定準確。
解決方案:降低邊界坐標的采集精度,例如每隔五個坐標才做一次存儲。
2. API數據接入的整體流程
◆ 填寫API地址
開發者在選擇API數據接入時,存在一定的開發量,需要開發一個API供可視化平臺讀取數據,API格式要求如下:
連接必須是jsonp
返回數據格式是{data: [ ]},data里面是真正的數據內容
出于安全的原因,平臺對response的 content-type做了嚴格校驗,返回類型只能是 'text/javascript', 'application/x-javascript', 'application/javascript', 'text/plain', 'application/json' 這幾種之一
數據不超過5萬行
接口示例如下:
特別注意:
高德開放平臺考慮到服務資源的問題,API請求數據時有5s的限制,超時將無法獲取到數據。對于數據請求超時的建議:
如果請求時間過長,建議增加一層數據緩存
如果數據是不變的,可以將數據作為靜態資源
◆ 填寫數據名稱,設置數據同步頻率
填寫API地址后,點擊“下一步”,該頁面中需要填寫如下內容:
數據名稱:為這份數據起一個名字,后續方便與其他數據區分,也方便查找與使用
同步方式:同步方式中支持固定頻次同步,即開發者選擇了同步頻率后,如1小時,平臺會每隔一個小時去拉取一次數據,做到數據的動態更新。
◆ 數據預覽
◆ 創建可視化項目
三、位置數據可視化
可視化項目主要由數據,組件以及地圖組成。
1. 數據
每份數據占用1個圖層,最多可以有3個圖層。每個圖層都可以選擇不同的類型,分別是點類型、熱力圖、線類型以及面類型。選擇類型的同時也可以選擇呈現2D或3D效果。
每個圖層都有著數據展示效果,位置標記的尺寸屬性,顏色屬性以及圖例等。
數據展示效果
點類型:普通點、大小點以及個性圖標。大小點必須依賴某個字段才能根據其數值展現其大小效果。
熱力圖:基礎熱力、四邊形熱力、六邊形熱力以及行政區熱力。基礎熱力需要依賴某個熱力字段才能顯示其效果,而后三者則可以依賴其數量或者某個字段的均值、最大、最小、求和中的一種。行政區熱力可以選擇顯示的行政區劃分級別,全國->省->市。
線類型:折線與弧線。
面類型:面。
2. 組件
總共有5個組件,分別是2個地圖控件、1個基礎組件和2個高級組件。
縮放按鈕:鼠標點擊操作,默認添加。
手勢縮放:鼠標滑輪操作,默認添加。
標題:展示標題,可更改內容。
動態播放器:需要依賴某層數據的某一列字段,根據其數值動態顯示其位置。
信息氣泡:可以顯示某個位置標記的數據內容,有點擊和鼠標懸浮2種觸發方式。
3. 地圖
總共有8種基礎地圖模板,分別是標準、遠山黛、馬卡龍、涂鴉、醬籽、草色青、極夜藍以及幻影黑。當然也可以添加自定義地圖。
4.其他
項目的右上角有4個按鈕,分別是2/3D效果轉化、全屏顯示、分享以及反饋。以下是項目分享的使用說明:
◆ URL鏈接使用
前置條件:可視化項目的使用與分享前,都需要打開分享開關,在可視化分享頁面拿到的URL分享鏈接,可以有如下使用方式:
大屏展示:在PC瀏覽器或者智能電視瀏覽器打開后,可以進入全屏,屏蔽掉瀏覽器邊框,直接做大屏展示使用。
分享:可以直接將分享鏈接復制給其他人查看。
◆ 代碼片段使用
前置條件:可視化項目的使用與分享前,都需要打開分享開關,在可視化分享頁面拿到的代碼片段,可以有如下使用方式:
嵌入式使用:如開發者需要在網頁中嵌入可視化項目,可在獲取代碼片段后,加入到代碼中,可以產出一個帶有上下文的可視化項目,比如如下示例,代碼片段如下:
◆ 生成圖片
將地圖調整至所想要呈現的視角,點擊截圖生成圖片即可分享。
四、Web服務API
不管是本地上傳的數據,還是在線數據,數據可視化最重要的一個字段便是經緯度。而獲取某點的經緯度或者某個區域的邊界經緯度集合,都需要用到高德開放平臺的Web服務API。而如果想要使用其API,必須要申請Web服務類型的key。為了保證不讓他人獲取到申請的key去惡意使用,平臺提供了2種方式保障方式。
1. IP白名單
申請了Web服務類型的Key,在配置選項中,有一個“IP白名單”配置項。此項為非必填,但強烈建議用戶在線上正常使用時為Key設置一個IP白名單。此處IP白名單中的IP,是指使用者服務器出口的IP。
設置IP白名單后,只有來自于白名單列表內的請求,才能被高德服務器正常響應,返回預期結果。否則將會提示10005 INVALID_USER_IP的錯誤。這樣做的目的,是為了保證用戶的使用安全。即便發生Key泄露的情況,其他用戶也無法正常使用。
如果其他用戶也可以調用,首先消耗這個Key的配額,其次有可能被平臺的監控系統自動識別為“非法調用”,受到限制后,會影響正常用戶的正常使用。
2. 數字簽名(平臺方說出BUG,暫不可用)
數字簽名未開啟的情況下,如果竊取者盜用Key發起非法訪問,會被平臺的策略自動識別。平臺會對該Key進行強制處理,導致Key不能正常使用,繼而影響正常調用。
如果開啟數字簽名,即使Key被泄露,竊取者在拿不到數字簽名的情況下,是無法正常使用該Key發起請求的,故不會造成損失。數字簽名的使用步驟如下:
◆ 在key的配置選項中開通數字簽名
◆ 獲取用于生成簽名的私鑰
該私鑰與Key對應,請注意保存,不要泄露。
◆ 根據規則利用MD5算法加密生成簽名
sig=MD5(按參數名升序排序的請求參數鍵值對 加(請注意“加”字無需輸入)私鑰)
例如:
請求服務為“testservice”;
請求參數分別為“a=23,b=12,d=48,f=8,c=67”;
私鑰為“bbbbb”
則數字簽名為:sig=md5(a=23&b=12&c=67&d=48&f=8bbbbb)
注意:
生成簽名的內容(上文提到的拼裝的參數,也就是md5()中的內容),必須為utf-8編碼格式。
在計算md5的參數如果出現+號,請正常計算sig,但在請求的時候需要用urlencode進行編碼再請求。
請求參數排序需要注意,如果參數名的第一個字母順序相同,就比較第二個字母。以此類推,直至得到排序結果。
◆ 將簽名sig作為參數添加至請求參數中
參數名為sig,值為根據請求參數與私鑰計算出的值。
總結
以上是生活随笔為你收集整理的mysql高德地图设计_基于高德开放平台Map Lab的数据可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在高德地图 Android SDK上添加
- 下一篇: IC设计中时钟偏斜对延时的影响