当前位置: 首页 > news >正文

十分钟GIS——geoserver+postgis+udig从零开始发布地图服务

1数据库部署

1.1PostgreSql安装

  • 下载到安装文件后(postgresql-9.2.19-1-windows-x64.exe),双击安装。
  • 指定安装目录,如下图所示
  • 指定数据库文件存放目录位置,如下图所示
  • 指定数据库访问管理员密码,如下图所示:
  • 指定端口,默认即可
  • 指定数据库支持的编码方式,我们中文一般采用如下图所示: 
  • 点击直到finish即完成安装。

1.2Postgis安装

完成安装后,会提示安装postgis2.0 forpostgres9.2的空间数据库扩展。如下图所示,进行下载,我们这里已经提前下载下来的,直接点击取消。

  • 双击下载后的文件(postgis-bundle-pg92x64-setup-2.1.8-1.exe),开始安装,单击I Agree
  • 选择复选框Create spatial database,单击next
  • 指定安装路径,如下图

 

  • 输入安装postgresql时的密码,其他默认,选择“next”完成安装。

  • 对空间模板数据库命名,默认名称,单击next,直到完成安装。

1.3创建空间数据库

完成postgis安装后,连接pgAdmin III,查看是否存在数据库postgis_21_sample,如果未创建成功,按下面操作执行:

  • 在开始菜单中单击psql,打开psal,
  • 输入命令行,创建数据库postgis_21_sample,此时数据库为普通数据库

create database postgis_21_sample;

  • 转到新建的数据库postgis_21_sample

\c postgis_21_sample

  • 运行添加扩展语句

cCREATE EXTENSION postgis;

CREATE EXTENSION pgrouting;

CREATE EXTENSION postgis_topology;

CREATE EXTENSION fuzzystrmatch;

CREATE EXTENSION postgis_tiger_geocoder;

CREATE EXTENSION address_standardizer;

扩展后的数据库即为空间数据库如下图,比普通库增加了5个扩展,3个架构及很函数。

  • 执行命令根据模板库创建空间库

CREATE DATABASE test TEMPLATE= postgis_21_sample

或者也可以通过pgAdmin III创建空间数据库

1.4数据入库

在开始菜单中单击运行PostGIS Shapfile and DBF loader

单击View connetion details

输入数据库连接信息,如下图

在log window中会提示连接成功

单击Add File,选择需要导入的数据,可以同时选择多个文件

单击open,添加到import list中

选择数据导入模式,默认为Create,

在SRID列下方对应输入导入文件坐标系信息,wgs84坐标系为4326,CGCS2000坐标系为4490

单击Options, 在options的字符集设置为GBK.

最后单击Import命令,开始进行数据导入。

shp导入错误及其解决方案

错误1:如果改成gbk仍然提示这种字符编码问题,options编码改成gb18030,即可不报错。

错误:2:dbffile (.dbf) can not be opened.

解决:shp文件路径不能太深,且路径名称不能有中文.

错误3 :postgis导出shp的中文乱码:

在环境变量中添加:PGCLIENTENCODING=GBK即可。正常导出无乱码。

2Geoserver环境部署

1.1JAVA安装配置

这里就不详细介绍安装过程,需要配置的环境变量有说如下:

JAVA_HOME   C:\Program Files\Java\jdk1.8.0_121 (具体路径以实际安装为准)

Path        %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

CLASSPATH   ..;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

1.2Tomcat部署

下载压缩包后,直接解压放置在任意目录下,且保证目录中无中文名称,

接下来开始配置环境变量:

TOMCAT_HOME=D:\apache-tomcat-9.0.0.M18

CATALINA_HOME=D:\apache-tomcat-9.0.0.M18

CATALINA_BASE=D:\apache-tomcat-9.0.0.M18

Classpath=%TOMCAT_HOME%\lib\servlet-api.jar;

Path=%CATALINA_HOME%\bin;

至此,配置工作完成!打开bin文件夹,双击startup.bat, 启动tomcat,打开浏览器,输入http://localhost:8080 出现Tomcat的网页,证明安装并配置成功!

1.3Geoserver部署

将Geoserver的war压缩包复制到tomcat的webapps目录下,在Tomacat的bin目录下,点击startup.bat文件启动tomcat。启动tomcat时上边复制在webapps文件夹下的Geoserver.war包会自动解压。

启动完成后,在浏览器输入“http://localhost:8080/geoserver/web/”即可打开geoserver的首页,这时候使用账号密码登陆,账号为:admin,密码为geoserver

1.4udig配置地图

1添加地图文件

打开udig后打开图层Layer->Add

选择数据源,这里我们选择PostGIS,单击next

 输入数据库连接参数,单击next

选择连接数据,单击list,在列表中选择需要加载的图层,单击finish,加载数据。

2样式编辑

加载数据文件后,在Layers下面右键需要配置样式的图层,点击Change Style,即可打开Style Editor编辑窗口,进行样式编辑

3地图服务发布

3.1矢量地图服务发布

1创建工作区

单击数据栏下的【工作区】,进入工作区界面,选择单击【添加新的工作区】

分别输入工作区的名称、URL,设置为默认工作区,单击提交,完成工作区的创建

2添加数据

在数据栏下单击【数据存储】,进入数据存储界面,单击【添加新的数据存储】

选择数据源类型,这里我们选择PostGIS

分别输入各项连接参数,如下图,*表示为必填参数。

单击保存,数据库中的图层即展示在界面中,如下图

3添加地图样式

在数据栏下单击【Styles】,进入Styles界面,单击【Add a new style】

在newe style界面,分别填写style的名称、工作区、加载style的格式、加载style文件。

单击【Validate】验证,如果在界面上端提示NO Validation errors,则表明验证通过,单击【提交】完成Styles加载。

4服务发布

单击数据栏下的【图层】,进入图层界面,单击【添加新的资源】

选择已经添加的数据,如下图

选择单击对应的图层后面的【发布】命令,进入编辑图层界面

在编辑图层界面中,定义SRS,计算边框范围

单击【发布】,设置发布图层对应的Style,单击保存。

4创建图层组

单击数据栏的【图层组】命令,进入图层中界面,选择添加新图层组

如下图,分别填写参数名称、工作区、坐标参考系、计算边界、添加以发布的图层,最后保存

​​​​​​​

3.2影像地图服务发布

在Geoserver中的ImageMosaic插件可以实现将两个或者两个以上的多幅影像进行镶嵌,并使坐标相同的多幅影像重叠成一个连续图象。

  1. 数据的准备

ImageMosaic不支持Erdas Image格式,需要.img格式进行格式转换

2.发布流程参考矢量地图服务发布,资源选择影像资源即可

相关文章:

  • hadoop使用公平调度器
  • 包装组件的优点和可能的挑战
  • 鸿蒙开发系列教程(十六)--日志处理
  • B2052 简单计算器(洛谷)
  • Vue3快速上手(二)VSCode官方推荐插件安装及配置
  • IDEA 推荐插件
  • 苹果macbook电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法
  • 天线阵列车载应用——第1章 介绍 1.1节 汽车工业中的天线阵列:应用和频率范围
  • android下library打包aar并上传到maven,嵌入版的app
  • 爬虫笔记(三):实战qq登录
  • 视频上传 - 断点续传那点事
  • IDEA新建文件夹后右击不能创建class类排错方法
  • QT QDialog 中的按钮,如何按下后触发 accepted 消息?
  • Java+SpringBoot:构建稳定高效的计算机基础教学平台
  • UE中的Cast和CastChecked
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • AWS实战 - 利用IAM对S3做访问控制
  • Computed property XXX was assigned to but it has no setter
  • Django 博客开发教程 8 - 博客文章详情页
  • eclipse的离线汉化
  • exports和module.exports
  • javascript数组去重/查找/插入/删除
  • java多线程
  • python学习笔记-类对象的信息
  • React as a UI Runtime(五、列表)
  • vue的全局变量和全局拦截请求器
  • 半理解系列--Promise的进化史
  • 简析gRPC client 连接管理
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 软件开发学习的5大技巧,你知道吗?
  • 使用 Docker 部署 Spring Boot项目
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 线性表及其算法(java实现)
  • 学习使用ExpressJS 4.0中的新Router
  • 一份游戏开发学习路线
  • 一天一个设计模式之JS实现——适配器模式
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #Linux(Source Insight安装及工程建立)
  • #Z2294. 打印树的直径
  • $$$$GB2312-80区位编码表$$$$
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (03)光刻——半导体电路的绘制
  • (编译到47%失败)to be deleted
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (剑指Offer)面试题34:丑数
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .net framework profiles /.net framework 配置
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .net项目IIS、VS 附加进程调试
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [20171106]配置客户端连接注意.txt
  • [51nod1610]路径计数