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