京東電子商務(wù)網(wǎng)站建設(shè)目的愛站站長工具
這里寫目錄標(biāo)題
- 1 發(fā)布shp矢量數(shù)據(jù)
- 1.1 添加shp作為數(shù)據(jù)源
- 1.2 發(fā)布shp圖層
- 1.3 預(yù)覽服務(wù)
- 1.4 配置樣式
- 2 發(fā)布Postgres數(shù)據(jù)庫
- 2.2 發(fā)布數(shù)據(jù)
- 3 發(fā)布 tif 柵格數(shù)據(jù)
- 3.1 添加 tif 數(shù)據(jù)源
- 3.2 發(fā)布tif數(shù)據(jù)
- 3.3 預(yù)覽服務(wù)
- 3.4 配置地圖樣式
- 關(guān)于中文標(biāo)注亂碼的問題
1 發(fā)布shp矢量數(shù)據(jù)
發(fā)布shp分為兩種方式:
- 單獨(dú)發(fā)布指定的shp文件;(適合臨時發(fā)布一個數(shù)據(jù),測試用)
- 將一個文件夾內(nèi)的shp數(shù)據(jù)統(tǒng)一發(fā)布。(適合同時發(fā)布多個數(shù)據(jù),且在同一個文件夾下)
1.1 添加shp作為數(shù)據(jù)源
添加存儲倉庫:
根據(jù)需要選擇你的數(shù)據(jù)源類型,本教程選擇第一個Directory of spatial files (shapefiles)
將預(yù)先存放shp的文件夾,發(fā)布為數(shù)據(jù)源:
1.2 發(fā)布shp圖層
點(diǎn)擊發(fā)布,然后設(shè)置一些服務(wù)選項(xiàng)即可:
數(shù)據(jù)
Tile Caching
點(diǎn)擊保存,即完成發(fā)布。
1.3 預(yù)覽服務(wù)
在左側(cè)的圖層預(yù)覽
中,找到你剛剛發(fā)布的圖層名字,以openlayers
方式預(yù)覽:
1.4 配置樣式
參考官方給的 樣式示例,根據(jù)需要選擇一個適合的sld文件進(jìn)行下載:
此處選擇一個帶有標(biāo)簽的sld文件
在Geoserver
中新建樣式,并上傳剛剛下載的sld 樣式文件
,點(diǎn)擊保存完成樣式創(chuàng)建:
算了,你也可以直接copy下面的xml到內(nèi)容框里(建議):
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:se="http://www.opengis.net/se" version="1.1.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" xmlns:xlink="http://www.w3.org/1999/xlink"><NamedLayer><se:Name>Province_Henan</se:Name><UserStyle><se:Name>Province_Henan</se:Name><se:FeatureTypeStyle><se:Rule><se:Name>Single symbol</se:Name><se:PolygonSymbolizer><se:Fill><se:SvgParameter name="fill">#85b66f</se:SvgParameter></se:Fill><se:Stroke><se:SvgParameter name="stroke">#232323</se:SvgParameter><se:SvgParameter name="stroke-width">1</se:SvgParameter><se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter></se:Stroke></se:PolygonSymbolizer></se:Rule><se:Rule><se:TextSymbolizer><se:Label><ogc:PropertyName>name</ogc:PropertyName></se:Label><se:Font><se:SvgParameter name="font-family">微軟雅黑</se:SvgParameter><se:SvgParameter name="font-size">13</se:SvgParameter></se:Font><se:LabelPlacement><se:PointPlacement><se:AnchorPoint><se:AnchorPointX>0</se:AnchorPointX><se:AnchorPointY>0.5</se:AnchorPointY></se:AnchorPoint></se:PointPlacement></se:LabelPlacement><se:Halo><se:Radius>2</se:Radius><se:Fill><se:SvgParameter name="fill">#ffffff</se:SvgParameter></se:Fill></se:Halo><se:Fill><se:SvgParameter name="fill">#000000</se:SvgParameter></se:Fill><se:VendorOption name="maxDisplacement">1</se:VendorOption></se:TextSymbolizer></se:Rule></se:FeatureTypeStyle></UserStyle></NamedLayer>
</StyledLayerDescriptor>
在圖層中,找到剛剛發(fā)布的圖層:
選擇剛剛創(chuàng)建的樣式名稱,點(diǎn)保存:
保存之后,繼續(xù)預(yù)覽該圖層,發(fā)現(xiàn)已經(jīng)有樣式和標(biāo)注了:
2 發(fā)布Postgres數(shù)據(jù)庫
為了教程,新建了一個面圖層,作為測試:
2.1 添加數(shù)據(jù)庫作為數(shù)據(jù)源
通過IP 端口,用戶名+密碼,連接指定數(shù)據(jù)庫test_gis
:
如果你的輸入都正確的話,保存
之后,會自動跳轉(zhuǎn)到:
2.2 發(fā)布數(shù)據(jù)
后面的發(fā)布過程與shp一樣了。請參考前面的步驟。。。
3 發(fā)布 tif 柵格數(shù)據(jù)
3.1 添加 tif 數(shù)據(jù)源
添加存儲倉庫:
新建數(shù)據(jù)源:
選中tif文件
3.2 發(fā)布tif數(shù)據(jù)
默認(rèn)選項(xiàng)可以不用更改,直接點(diǎn)保存,即完成發(fā)布。
3.3 預(yù)覽服務(wù)
OK!
3.4 配置地圖樣式
默認(rèn)的樣式只有灰度,如果想讓它展示五彩斑斕,參考官方樣式說明 Geoserver SLD樣式規(guī)范,流程如下:
根據(jù)需要下載一個sld
文件:
在Geoserver
中新建樣式,并上傳剛剛下載的sld 樣式文件
:
新建樣式完成后,回到圖層
中,找到剛剛發(fā)布tif圖層,給它選擇樣式。
選中剛剛新建的樣式名字:
重新預(yù)覽地圖,發(fā)現(xiàn)已經(jīng)變了顏色:
關(guān)于中文標(biāo)注亂碼的問題
在Linux系統(tǒng)上,排除編碼問題后,依舊顯示方框,此時查看geoserver中支持的字體,并沒有中文。
因此,需要給所在的Linux系統(tǒng),增加中文字體。
從當(dāng)前所使用Windows系統(tǒng)中,copy出一些中文字體,如:
然后,將其上傳至Linux服務(wù)器,可以存放到/usr/share/fonts/font_zh
,并安裝字體:
# 進(jìn)入你存字體的目錄
cd /usr/share/fonts/font_zh
# 安裝
sudo apt -y install xfonts-utils fontconfig
# xfonts-utils 生產(chǎn)字體索引
sudo mkfontscale
sudo mkfontdir
# fontconfig 更新字體緩存
sudo fc-cache
安裝好字體之后,重啟一下系統(tǒng),再次進(jìn)入Geoserver
檢查,發(fā)現(xiàn)已經(jīng)有了中文字體。
此時,圖層的中文標(biāo)注也可以正常顯示!