瓦片地圖與geoserver發布


轉自江軍祥原文 瓦片地圖與geoserver發布 (有刪減修改)

 

本文主要包括以下內容

1. 導入數據到postgres數據庫中

osm2pgsql -s -d simple -U postgres -H localhost -S default.style E:\SzgcSj2016\osmosis-latest\bin\Wuhan.pbf --prefix wuhan -W

SELECT osm_id,edge_id, (dp).path[1] As
index, ST_AsText((dp).geom) As wktnode from
(
select osm_id,row_number() over() as
edge_id,ST_DumpPoints(way) as dp from
wuhan_roads limit 100)x
//將geometry的空間參考改為4326(因為默認為900913)
ALTER TABLE wuhan_roads ALTER
COLUMN way TYPE
geometry(LineString,4326) USING
ST_Transform(way,4326);
ALTER TABLE wuhan_line ALTER
COLUMN way TYPE
geometry(LineString,4326) USING
ST_Transform(way,4326);
ALTER TABLE wuhan_point ALTER
COLUMN way TYPE geometry(Point,4326)
USING ST_Transform(way,4326);
//給表格wuhan_polygon添加屬性way2 geometry
ALTER TABLE wuhan_polygon ADD COLUMN way2
geometry;

//給表格wuhan_polygon的屬性way2 geometry添加格式:(way,4326)
update wuhan_polygon SET way2=ST_Transform(way,4326);

//刪除表格wuhan_polygon的屬性way
ALTER TABLE wuhan_polygon DROP COLUMN way;

//給表格wuhan_polygon的屬性way2改民為way
ALTER TABLE wuhan_polygon RENAME way2 TO way;

2.TileMill配置postgres的數據連結

  • 新建項目
  • 添加圖層
  • 設置工程的默認渲染方式
  • 樣式配置
  • 條件性樣式
  • 工具提示
  • 圖例
  • 輸出地圖

連接后根據ID寫樣式配置

#wuhanpolygon {
  ::outline {
    line-color: #3c22d6;
    line-width: 2;
    line-join: round;
  }
  polygon-fill: #03b6ad;
}
host=localhost port=5432 user=postgres password=root dbname=simple
#wuhanroads {
  ::outline {
    line-color: #3c22d6;
    line-width: 2;
    line-join: round;
  }
  polygon-fill: #03b6ad;
}

#wuhanpoint {
  marker-width:6;
  marker-fill:#8b9091; //f45
  marker-line-color:#813;
  marker-allow-overlap:true;
}

然后導出mbtils文件,用python或者QGis安裝插件解壓即可,所得即瓦片地圖,把文件夾放在tomact中root文件夾下即可訪問。

在tomcat中webapp下導入geoserver,啟動geoserver,連接postgres,分別發布wuhan_roads,wuhan_point,wuhan_line,wuhan_polygen等表,可以在瀏覽器中查看效果如下:

 


免責聲明!

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



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