Geoserver + MySQL實現圖層顯示和文字顯示

MK_Sun發表於2020-10-15

目的

通過Geoserver查詢mysql的空間資料,來顯示圖層相關資訊
Geo Server提供了PostGIS,可以通過讀取資料庫的方式載入。

首先具備的能力是,瞭解MySQL的空間資料儲存能力,詳情檢視

假設已經處理好空間資料,現在通過Geoserver+mysql來實現地圖圖層的簡單展示和釋出。

  1. 下載mysql的外掛jar包,解壓後將兩個jar檔案放到geoserver\webapps\geoserver\WEB-INF\lib下
  2. 通過geoserver視覺化介面配置mysql,基本上和資料庫連線工具一個操作,錄入資訊儲存
    在這裡插入圖片描述
  3. 釋出圖層,這個也是常規操作,主要的注意事項是邊框資訊計算,【重新載入要素型別】可以進行重新整理
    在這裡插入圖片描述
    在釋出Tab下,注意看樣式是否正常

在這裡插入圖片描述
這裡需要注意的一點,如果你的配置中需要顯示文字,需要修改樣式,在style中增加一個rule,最主要的是在label中註明是哪個欄位

<Rule>
          <Title>Boundary</Title>
          <LineSymbolizer>
            <Stroke>
              <CssParameter name="stroke-width">0.2</CssParameter>
            </Stroke>
          </LineSymbolizer>
          <TextSymbolizer>
            <Label>
              <ogc:PropertyName>name</ogc:PropertyName>
            </Label>
            <Font>
              <CssParameter name="font-family">宋體</CssParameter>
              <CssParameter name="font-style">Normal</CssParameter>
              <CssParameter name="font-size">14</CssParameter>
            </Font>
            <LabelPlacement>
              <PointPlacement>
                <AnchorPoint>
                  <AnchorPointX>0.5</AnchorPointX>
                  <AnchorPointY>0.5</AnchorPointY>
                </AnchorPoint>
              </PointPlacement>
            </LabelPlacement>
          </TextSymbolizer>
        </Rule>

這裡又涉及到一個問題,如果你用的是中文,可能釋出後,檢視圖層,中文都是亂碼的,解決辦法如下:
1.確認字型庫是否存在
在這裡插入圖片描述
2.如果存在了,也進行了設定,還是不對,可能就是你的樣式檔案格式有問題,因為你選擇的中文字型,多數也是中文,如果編碼不對,會導致亂碼,進入到geoserver/data_dir/style,找到你的style.sld,然後將這個文字改成utf-8格式儲存。重新整理檢視圖層,Boom~~~出來了
在這裡插入圖片描述
以上再將圖層組合成圖層組,然後修改自己想要展示的樣式,最終就可以顯示出來了。

相關文章