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

news2024/9/23 5:22:26

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.发布流程参考矢量地图服务发布,资源选择影像资源即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1436706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

泛型、Trait 和生命周期(上)

目录 1、提取函数来减少重复 2、在函数定义中使用泛型 3、结构体定义中的泛型 4、枚举定义中的泛型 5、方法定义中的泛型 6、泛型代码的性能 每一门编程语言都有高效处理重复概念的工具。在 Rust 中其工具之一就是 泛型(generics)。泛型是具体类型…

点燃设计之魂,展现艺术力量:NCDA邀你参赛!

未来设计师全国高校数字艺术设计大赛(NCDA)教育部中国高等教育协会认定,由工业和信息化部人才交流中心主办,教育部发文支持“学习强国”学习平台,与联合国国际大赛对接。比赛始于2012年,每年举行一次&#…

LLM Agents 的细分技术

2.1 RAG:知识,记忆与技能库 2.1.1 RAG简介 RAG的核心思想就是将传统的语言生成模型(如GPT系列)与一个检索系统相结合,在处理一个输入时,RAG首先使用检索系统从一个大规模的文档集合中检索出相关的文本片段…

算法练习-四数之和(思路+流程图+代码)

难度参考 难度:中等 分类:数组 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。且所在课程未提供测试平台,故实现代码主要为自行测试的那种,以下内容均为个人笔记,旨在…

【算法与数据结构】718、1143、1035、392、115、LeetCode最长重复子数组+最长公共子序列+不相交的线+判断子序列+不同的子序列

文章目录 一、718、最长重复子数组二、1143、最长公共子序列三、1035、不相交的线四、392、判断子序列五、115、不同的子序列六、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、718、最长重复子数组 思路分析&#xff1…

vue3-内置组件-TransitionGroup

<TransitionGroup> 是一个内置组件&#xff0c;用于对 v-for 列表中的元素或组件的插入、移除和顺序改变添加动画效果。 与 <Transition> 的区别 <TransitionGroup> 支持和 <Transition> 基本相同的 props、CSS 过渡 class 和 JavaScript 钩子监听器&…

Linux联网安装MySQL Server

yum安装 以下代码复制粘贴到控制台即可 yum list | grep mysql-server #查看可以下载的MySQLyum install -y mysql-server #安装MySQLmysql_secure_installation #引导安装 引导安装实例如下 systemctl enable mysqld 设置开机自动启动 systemctl sta…

重生奇迹MU冰风谷雪人王

奇迹雪人王刷怪点在哪里 冰风谷&#xff1a;就一个刷怪点&#xff0c;这里还是比较适合走动打怪&#xff0c;这里刷新4只雪人王&#xff0c;这里从100来级挂到200级问题不大。一般来说冰风谷的雪人王以及雪人王以上的怪都有一定几率会掉宝石,去血色、广场还有寺院掉的要多,不固…

XxlJob深度性能优化实践

一、背景 天画项目的数据工厂目前在与xxl-job对接自动化数据生成任务,另外我司也在使用该组件做业务,所以想深入了解下XxlJob。在跟进了社区的github等仓库issue发现开发迭代停滞了一段时间,思来想去准备开个下游分支做一些性能优化和特性开发等,于是fork了下源码,将其作…

环境配置:ROS melodic安装turtlebot

文章目录 1.已有的环境2.安装2.1.首先cd进入到catkin_ws文件夹&#xff0c;然后输入以下命令行&#xff1a;2.2.将turtlebot加入环境2.3.选择性安装其它依赖包2.4.运行turtlebot in stage [perfect] 1.已有的环境 在之前已经配置好了小乌龟的前提下&#xff0c;我们已经拥有了…

2024/2/4 备战蓝桥杯 5-1 前缀和

目录 求和 0求和 - 蓝桥云课 (lanqiao.cn) 可获得的最小取值 0可获得的最小取值 - 蓝桥云课 (lanqiao.cn) 领地选择 P2004 领地选择 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 求和 0求和 - 蓝桥云课 (lanqiao.cn) 思路&#xff1a;先对公式进行合并同类相&#x…

AVR 328pb触摸功能基本介绍和使用

AVR 328pb触摸功能基本介绍和使用 &#x1f4dd;ATMEGA328PB-AU外设中带外围触摸控制器&#xff08;PTC&#xff09;电容式触摸按钮、滑块和轮子24个自帽通道和144个互帽通道。&#xff08;ATMEGA328P没有的&#xff09; ✅PTC-外围触摸控制器 &#x1f343;低功耗、高灵敏度、…

图形界面基础

X Window System 什么是 X Window System&#xff1f; 最初是1984年麻省理工学院的研究&#xff0c;之后变成UNIX、类UNIX、以及OpenVMS等操作系统所一致适用的标准化软体工具套件及显示架构的运作协定。X Window系统透过软体工具及架构协定来建立操作系统所用的图形用户界面&a…

Flink SQL Client 安装各类 Connector、Format 组件的方法汇总(持续更新中....)

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

Redis-布隆过滤器解决穿透详解

本文已收录于专栏 《中间件合集》 目录 背景介绍概念说明原理说明解决穿透安装使用安装过程Redis为普通安装的配置方式Redis为Docker镜像安装的配置方式 具体使用控制台操作命令说明Spring Boot集成布隆过滤器 总结提升 背景介绍 布隆过滤器可以帮助我们解决Redis缓存雪崩的问题…

算法笔记刷题日记——3.简单入门模拟 3.2 查找元素

刷题日记 3.2 查找元素 B1041 B1004 B1028 B1032 A1011 A1006 A1036 错题记录 B1028 人口普查 某城镇进行人口普查&#xff0c;得到了全体居民的生日。现请你写个程序&#xff0c;找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的&#xff0c;但不一定是合理的…

Javascript入门学(基础)

软件篇 JS基础语法第一天 1.javascript介绍 1.1 js是什么 是什么 是一种运行在客户端&#xff08;浏览器&#xff09;的编程语言&#xff0c;实现人机交互效果&#xff0c;而html和css是标记性语言&#xff0c;并非编程语言有什么用 js的组成 htmlcssjs实现按钮点击功能 …

使用mmrotate对自定义数据集进行检测

这里写自定义目录标题 安装虚拟环境创建与准备安装mmrotate 自定义数据集标注数据与格式转换数据集划分与大图像切片 训练与测试修改配置文件执行训练进行测试鸣谢 安装 mmrotate是一个自带工作目录的python工具箱&#xff0c;个人觉得&#xff0c;在不熟悉的情况下&#xff0…

node.js后端+小程序前端+mongoDB(增删改查)

前言 今天我对比了以下node.js的express与python的fastAPI&#xff0c;我决定我还是出一期关于node.jsmangoDB小程序的小案例吧。 不是python的fastAPI不好用&#xff0c;因为fastAPI是python较新的技术&#xff0c;我不敢果断发出教学文章&#xff08;这件事情还是留着给pyt…

Leetcode—59. 螺旋矩阵 II【中等】

2024每日刷题&#xff08;113&#xff09; Leetcode—59. 螺旋矩阵 II 实现代码 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> ans(n, vector<int>(n));int num 0;int c1 0, c2 n - 1;int r1 …