使用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進行着色效果。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM