最近因為項目需要,要用GeoServer發布地圖資料,因此不得不研究了一下。根據官方文檔,我們可以直接發布*.shp檔案,也可以通過PostGis中的資料表來發布。下面分別介紹一下這兩種方式。
GeoServer簡介:
GeoServer 是 OpenGIS Web 服務器規範的 J2EE 實現,利用 GeoServer 可以方便的發布地圖資料,允許使用者對特徵資料進行更新、刪除、插入操作,通過 GeoServer 可以比較容易的在使用者之間迅速共用空間地理資訊。
一、發布*.shp檔案
首先我們要準備好一個包含shp檔案的目錄。這裡使用官方文檔中使用的範例。點擊下載:nyc_roads.zip
解壓後會有以下四個檔案:
然後將nyc_roads目錄拷貝到GeoServer 2.3.3\data_dir\data 目錄下。
1.建立工作區
啟動 GeoServer 並在瀏覽器中開啟http://localhost:8080/geoserver/,使用預設的管理使用者登陸。預設為admin / geoserver
點擊 Create Workspaces :
輸入工作區名、URL(測試用可以隨便寫一個),然後點擊 Submit :
之後便能在列表中看到我們剛剛建立的工作區demo了:
2. 建立儲存空間(Create Stores)單擊Data --> Stores,並在新的頁面中點擊 Add New Store 開啟 New Data Source 頁面:在 New Data Source 頁面中選擇資料來源類型,這裡我們選擇 ShapeFile:Data Source Name 中填寫前面我們拷貝過去的*.shp檔案的所在目錄,即 nyc_roads . ShapeFile Location 要按照 file:data/[shp檔案路徑] 的格式填寫。然後將charset 設定為GB2312, 並點擊 Save. 如下:3. 建立圖層在 New Layer 頁面中,點擊Action 列的 publish:在Edit Layer頁面中,我們發現EPGS資訊已經自動設定好了。我們只需要分別點擊 Compute from data 和 Compute from native bounds 連結來自動計算邊界資訊。最後點擊下面的Save. 如:此時應該能從 Data --> Layer 頁面中看到我們剛剛建立好的圖層:4. 預覽單擊 Data --> Layer Preview , 在右邊的列表中找到建立好的圖層,點擊 OpenLayer即可可看效果。二、從PostGis中發布資料步驟跟發布shapefile檔案基本相同,只是在Add Data Source 中要選擇 PostGIS 而不是 ShapeFile.更多詳細資料,比如如何建立圖層組,請參閱官方文檔。