vue中地图怎么标记数据库传过来的点_【Point小数点 图表挑战总结03】如何使用六边形网格地图(下)...
上一篇文章使用的網格地圖的畫法,在DashBoard排版時非常難控制,也算個痛點,于是繼續在網上找解決方案。Rody Zakovich 設計了使用多邊形地圖的解決方案。Joshua Milligan 受此啟發設計了使用 空間數據文件的解決方案,這次很多使用六邊形網格地圖畫法的人大部分都是使用的這種方案。
新的解決方案需要 多邊形地圖 和 Tablea支持的shapefile空間文件 的相關知識,我也是現學了一點,慣例貼出一個我自己搬運帶字幕的教學視頻(實在無力翻譯,還是鼓勵大家多接觸英文的材料),歡迎來 關注 點贊 收藏 投幣。
視頻教程地址?www.bilibili.com1P是關于多邊形地圖的相關知識,2P是關于空間數據文件的使用,看具體畫圖方法前可以看一下這兩個不到30分鐘的小教程。
3P是關于使用一些其他地圖背景的方法,感興趣的也可以看看,但是和本次的網格地圖畫法無關。
具體教程
網盤資料 密碼:k0w1
方法一 使用多邊形地圖
準備工作:連接數據
第一步:畫多邊形
第二步:將 Abbreviation(州名縮寫)字段 添加成為標簽
第三步:關聯新數據并調整顏色
成果
簡單清理一下不需要顯示的網格線,軸等。
交互式地址
方法二 使用空間數據 shapefile
準備工作
第一步:畫多邊形
雙擊 幾何字段 ,生成六邊形網格地圖
第二步:生成標簽
State Abbr字段 拖放至 標簽標記卡
第三步:隱藏背景地圖
地圖菜單 - 地圖層 - 沖蝕
沖蝕設置為 100%。
到目前為止看,使用空間數據的操作需要的設定非常少,很快就能構建好柵格地圖。
排版方式的調整
這次不用再調整六邊形大小了,上次要調整瘋了。。。
第一步:生成三個輔助計算字段
# Size 所有涉及年份的數量 sum({COUNTD([Year])})# Rows 子圖所在的行數 int(ABS(FIRST())/ROUND(SQRT([Size])))# Columns 子圖所在的列數 ABS(FIRST())%ROUND(SQRT([Size]))第二步:生成16張子圖
第三步:在儀表板進行布局調整
每個子圖中的地圖顯示大小及位置,是需要通過在工作表中的地圖視圖工具欄來調整的。
我暫時沒找到調整子圖大小的方式,現在只能通過把分辨率調整到足夠大,保證16張子圖都能顯示進來。
最后怎么給每個地圖加上年份,大家可以自己嘗試一下。
繪圖原理探索一下
關于多邊形地圖
以阿拉斯加的這個六邊形為例子看一下。
對比兩張圖,X字段 和 Y字段 實際上是提供了六個點的坐標,Point字段是提供了畫六個點的先后順序,State字段 或者 Abbreviation字段 標記了不同的六邊形。
Y2字段 標記實際上是和 X字段 配合標記了了六邊形的中心點,也就是我們需要放標簽的位置。
關于空間數據地圖
Joshua 的csv文件也是根據 Rody 的位置數據調整的,可以看到 X字段 和 Y字段是完全一樣的 后面的 Y1 - Y6實際上是 Joshua 手工修改的。
多邊形地圖的坐標系還是二維平面坐標系,但是空間數據的坐標系一般是球體的投影坐標。
在我們具體使用過程中也可以看到,使用多邊形地圖方法,我們實際上是在一個二維坐標系畫圖,而使用空間數據,實際上是在一個經緯度的坐標系下來操作畫圖。
兩個坐標系的數據轉換,一般是需要進行投影轉換,這次 Joshua 是自己調整試錯的方式修改的,可能是試了六次。
具體空間數據文件的生成,是使用 Alteryx 生成的,暫時沒精力向下研究了,有需要再了解吧。
shp 文件的封裝的比較好,傳入的實際上是51個州對象。
查看詳情信息,可以看到經度緯度信息其實是人工配置的。
總結
我們看到空間數據的畫法是最快捷的,對于多張圖的快速排版也能夠實現。
但是最早的使用六邊形形狀的畫法靈活性更高,可以修改六邊形的具體形狀,可以分離呈現各個六邊形等等。
參考材料
多邊形地圖方案: POLYGON HEX MAP IN TABLEAU空間地圖方案: Hex Map Spatial File修改記錄:
V1.1 - 2019.07.14 :
方法一 - 第一步 - 5
原始的 X Y 軸范圍描述寫反了,現已更正,感謝網友反饋。
附:
教程軟件功能區名稱使用規范(自用)
參考了官方教程的軟件功能區的翻譯方式,以后設計軟件內的功能,字段,選項等等描述統一進行斜體標注,目前規范也只是用到的會寫進去,以后有新的描述再加。
官方文檔的工作區命名
斜體標注為了高效傳遞信息,以后盡量減少截圖的數量。
數據窗格列功能區, 行功能區標記卡菜單欄總結
以上是生活随笔為你收集整理的vue中地图怎么标记数据库传过来的点_【Point小数点 图表挑战总结03】如何使用六边形网格地图(下)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matplotlib 一张图多个图,如何
- 下一篇: html5倒计时秒杀怎么做,vue 设