使用GeoServer导出地图数据GeoJSON并应用
在項目中,需要使用鄉(xiāng)鎮(zhèn)街道的地圖邊界,之前一直使用的是百度地圖或Echarts地圖,其沒有這部分行政區(qū)的數(shù)據(jù),需要在第三方購買數(shù)據(jù),其提供的是shp文件
主文件:counties.shp
索引文件:counties.shx
dBASE表: ounties.dbf
我使用GeoServer將shp文件導(dǎo)入(文件導(dǎo)入時選擇GBK編碼),然后再使用GeoServer界面管理中導(dǎo)出數(shù)據(jù)功能導(dǎo)出為GeoJSON格式
開始使用的GeoServer2.3.8,當(dāng)導(dǎo)出問KML數(shù)據(jù),中文沒出現(xiàn)亂碼現(xiàn)象,但是導(dǎo)出為GeoJSON時,出現(xiàn)亂碼現(xiàn)象,在網(wǎng)上也沒搜到解決辦法。
尋找中文亂碼問題,找了半天,沒找到,重新下載GeoServer2.8.0版本,沒有經(jīng)過其他處理就解決了亂碼問題。
注意:GeoServer對jdk有要求,在下載對應(yīng)版本時要注意看其文檔說明。
我使用county.shp做了一個demo
shp文件(第二個文件是導(dǎo)入GeoServer時自動生成的)
導(dǎo)入后,在GeoServer管理界面中如下:
選擇右邊下來中的GeoJSON,會在網(wǎng)頁中打開一個json文件,保存到本地即可
echarts使用的地圖格式就是GeoJSON
OpenLayers展示效果:
?
使用GeoJSON文件在Echarts中的展示效果
在百度地圖上的展示效果:
在控制臺上輸出部分行政區(qū)名字:
?
說明:在echarts中,使用的編碼為UTF-8,導(dǎo)出的GeoJSON文件,Features的properties中沒有屬性為name的,而在使用echarts的功能上時,需要使用的name屬性,
修改GeoJSON中行政區(qū)對應(yīng)的屬性名改為name即可,下面一張圖是我導(dǎo)入省級地圖,修改后,對部分省使用echarts進(jìn)行著色效果。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/TheoryDance/p/7284935.html
總結(jié)
以上是生活随笔為你收集整理的使用GeoServer导出地图数据GeoJSON并应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyCharm中Directory与Py
- 下一篇: 我有金坷垃下一句是什么啊?