GeoServer

GeoServer

环境准备

geoserver运行需要依赖java环境,所以要先安装java环境

  1. 检查是否已安装java环境
    rpm -qa |grep java
    
  2. 查看yum源的java包
    yum list java*
    

    img

  3. 安装java
    建议安装1.8版本
    yum -y install java-1.8.0-openjdk
    
  4. 验证是否安装成功
    java -version
    

    img

安装部署

安装好java环境后就开始正式安装geoserver

  1. 到官网下载GeoServer的压缩包,地址http://geoserver.org/release/stable/

    image-20210120171928785

  2. 将下载的压缩包上传到服务器,解压到指定目录
    unzip -d /usr/share/geoserver/ geoserver-2.15.0-bin.zip
    
  3. 启动geoserver
    cd /usr/share/geoserver/bin
    1. sh startup.sh 该启动随着窗口关闭而关闭
    2. nohup sh startup.sh & 后台运行方式启动,推荐使用这种方式
    
  4. 进入geoserver

    打开网页,在地址栏中输入ip:8080,出现如下图所示

    image-20210121111542685

    点击geoserver,跳转至如下界面

    image-20210121111801612

    输入用户名和密码,admin/geoserver,登录后修改密码

    image-20210121111938141

    image-20210121112009717

    点击admim

    image-20210121112034315

    输入修改后的密码,点击保存

基本操作

  1. 查看日志
    1. cat /usr/share/geoserver/data_dir/logs/geoserver.log 展示出全部日志,可能会有很多
    2. tail -r /usr/share/geoserver/data_dir/logs/geoserver.log 展示最新打印的日志,缺点是前面的日志不会打印,一般这种方式用于调试
    
  2. 修改端口
    vi /usr/share/geoserver/start.ini
    
    --修改内容
    jetty.port = 28080
    
  3. 跨域设置
    --进入geoserver的lib目录
    cd /usr/share/geoserver/lib
    
    --拷贝jar包
    cp jetty-servlets-9.4.18.v20190429.jar /usr/share/geoserver/webapps/geoserver/WEB-INF/lib/
     
    cp jetty-util-9.4.18.v20190429.jar /usr/share/geoserver/webapps/geoserver/WEB-INF/lib/
    
    --编辑web.xml
    cd /usr/share/geoserver/webapps/geoserver/WEB-INF/lib/
    vi web.xml
    
    --把以下两块注释去掉,变成如下:
    <!-- Uncomment following filter to enable CORS -->
       <filter>
            <filter-name>cross-origin</filter-name>
            <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
           <init-param>
               <param-name>chainPreflight</param-name>
               <param-value>false</param-value>
           </init-param>
           <init-param>
               <param-name>allowedOrigins</param-name>
               <param-value>*</param-value>
           </init-param>
           <init-param>
               <param-name>allowedMethods</param-name>
               <param-value>GET,POST,PUT,DELETE,HEAD,OPTIONS</param-value>
           </init-param>
           <init-param>
               <param-name>allowedHeaders</param-name>
               <param-value>*</param-value>
           </init-param>
        </filter>
     
     
       <!-- Uncomment following filter to enable CORS -->
        <filter-mapping>
            <filter-name>cross-origin</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
  4. 支持矢量切图

    进入geoserver的官网,点击Vector Titles

    image-20210120174330955

    将下载好的压缩包解压,将文件里的jar包

    image-20210120174553672

    放到/usr/share/geoserver/webapps/geoserver/WEB-INF/lib/目录下

    重启geoserver

    进入geoserver,点击Caching Defaults选项,勾选以下两项,保存

    image-20210120174759969

制作地图

  1. 安装uDig
    1. 下载uDig,地址http://udig.refractions.net/download/

      下载zip包,解压后直接可以使用

  2. 制作图层
    1. 启动uDig,在菜单栏中选择文件→新建→新项目在弹出的对话框中修改project名称及保存路径。(命名请使用英文)

      img

    2. 在菜单栏中选择图层→创建,在弹窗中修改图层的名称、可以添加图层的属性以及选择创建什么样的图层(名称最好是英文)

      image-20210121134018138

    3. 在右侧的Palette中可以创建、编辑图形

      image-20210121134553168

    4. 在下方的表格中,可以修改图形的属性

      image-20210121134719856

    5. 在左侧图层中,右键点击图层,选择修改样式,点击Labels,勾选enable/disable labeling,在label的下拉框中选择要展示的属性,然后点击设置字体,点击应用

      image-20210121134935181

      image-20210121135114853

    6. 在图层处右键选择图层→属性→投影,选择参考的坐标系

      image-20210121135403505

    7. 在图层处右键选择图层→修改样式→导出样式,可以将图层的样式导出。

发布地图

  1. 上传地图到服务器
    1. 进入data目录
      cd /usr/share/geoserver/data_dir/data/

    2. 新建目录,建议名称符合制作的地图
      mkdir test

    3. 将地图文件复制到新建的文件夹中

      image-20210121111225175

  2. 发布图层
    1. 进入geoserver,新加工作区

      image-20210121112141530

      image-20210121112235629

    2. 新建数据存储

      image-20210121112356647

      选择Directory of spatial file

      image-20210121112441039

      输入数据名称,选择data目录下储存地图文件的文件夹,选择地图的编码,点击保存

      image-20210121112653393

    3. 发布图层

      新建数据存储后,会跳到如下界面

      image-20210121112932851

      界面上会展示数据存储文件夹下所有的地图文件,点击发布

      image-20210121113049321

      在编辑图层界面,在边框中,先点击从数据中计算,然后再点击Compute from native bounds,自动填充边框数据

      image-20210121113437924

      如果需要发布矢量切片,则点击Tile Caching

      image-20210121113704454

      在Tile Caching界面中,勾选application/vnd.mapbox-vector-tile,保存,图层就发布成功了

      image-20210121113758739

    4. 查看已发布的地图

      在Layer Preview 界面,点击OpenLayers/GML/KML或者选择All Formats下拉框里的一种方式,都可以查看已发布的地图

      image-20210121131821705

      在Tile Layers界面,可以选择查看切片的地图

      image-20210121132153383

    5. 修改地图样式

      上传样式,在Style界面新增样式

      image-20210121135736870

      点击选择文件,选择从uDig中导出的图层样式,再点击Upload,上传后点击保存

      image-20210121135808461

      进入图层界面,点击发布的图层,进入编辑页面,点击发布,在Default Style处选择上传的样式,点击保存

      image-20210121140047368

      image-20210121140116817

  3. 发布图层组
    1. 添加图层组,在图层出,选择已发布的图层,可以改变图层的先后循序,在点击生成边界,填充边界和坐标系,如果想要发布切片地图,可以在Tile Caching下勾选,如果不想要切片服务,可以取消勾选Create a cached layer for this layer group

      image-20210121140410617

      image-20210121140526089

      image-20210121140801094

posted @ 2021-01-21 16:00  Cynicisn  阅读(544)  评论(1)    收藏  举报