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

相关文章:

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

1数据库部署 1.1PostgreSql安装 下载到安装文件后(postgresql-9.2.19-1-windows-x64.exe),双击安装。 指定安装目录,如下图所示 指定数据库文件存放目录位置,如下图所示 指定数据库访问管理员密码,如下图所…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Span组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Span组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Span组件 鸿蒙(HarmonyOS)作为Text组件的子组件&#xff0…...

Leetcode—42. 接雨水【困难】

2024每日刷题&#xff08;112&#xff09; Leetcode—42. 接雨水 空间复杂度为O(n)的算法思想 实现代码 class Solution { public:int trap(vector<int>& height) {int ans 0;int n height.size();vector<int> l(n);vector<int> r(n);for(int i 0; …...

[Python] opencv - 什么是直方图?如何绘制图像的直方图?如何对直方图进行均匀化处理?

什么是直方图&#xff1f; 直方图是一种统计图&#xff0c;用于展示数据的分布情况。它将数据按照一定的区间或者组进行划分&#xff0c;然后计算在每个区间或组内的数据频数或频率&#xff08;即数据出现的次数或占比&#xff09;&#xff0c;然后用矩形或者柱形图的形式将这…...

ppi rust开发 python调用

创建python的一个测试工程 python -m venv venv .\venv\Scripts\activatepip install cffi创建一个rust的lib项目 cargo new --lib pyrustlib.rs #[no_mangle] pub extern "C" fn rust_add(x: i32, y: i32) -> i32 {x y }Cargo.toml [package] name "p…...

网站后端开发 thinkphp6 入门教程合集(更新中)

thinkphp6 入门&#xff08;1&#xff09;--安装、路由规则、多应用模式 thinkphp6 入门&#xff08;1&#xff09;--安装、路由规则、多应用模式_软件工程小施同学的博客-CSDN博客 thinkphp6 入门&#xff08;2&#xff09;--视图、渲染html页面、赋值 thinkphp6 入门&#x…...

Web前端框架-Vue(初识)

文章目录 web前端三大主流框架**1.Angular****2.React****3.Vue**什么是Vue.js 为什么要学习流行框架框架和库和插件的区别一.简介指令v-cloakv-textv-htmlv-pre**v-once**v-onv-on事件函数中传入参数事件修饰符双向数据绑定v-model 按键修饰符自定义按键修饰符别名v-bind(属性…...

配置dns服务的正反向解析

服务端IP客户端IP网址192.168.153.137192.168.153.www.openlab.com 1&#xff1a;正向解析 1.1关闭客户端和服务端的安全软件&#xff0c;安装bind软件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# yum install bind -y [rootnod…...

小白水平理解面试经典题目LeetCode 71. Simplify Path【Stack类】

71. 简化路径 小白渣翻译 给定一个字符串 path &#xff0c;它是 Unix 风格文件系统中文件或目录的绝对路径&#xff08;以斜杠 ‘/’ 开头&#xff09;&#xff0c;将其转换为简化的规范路径。 在 Unix 风格的文件系统中&#xff0c;句点 ‘.’ 指的是当前目录&#xff0c;…...

电力负荷预测 | 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM) 所谓预测,就是指通过对事物进行分析及研究,并运用合理的方法探索事物的发展变化规律,对其未来发展做出预先估计和判断。…...

YY调音台:音频后期处理

我从事影视后期处理的工作&#xff0c;主要负责音频、音效合成这块工作内容。在影视作品中&#xff0c;声音不仅仅是背景元素&#xff0c;它在叙事和创造情感氛围上发挥着至关重要的作用。我们的工作不仅要让听众听到声音&#xff0c;更要让他们通过声音感受到情感的波动和故事…...

一键部署一个监控系统hertzbeat

效果 特点 一站式监控告警通知&#xff0c;支持应用服务&#xff0c;数据库&#xff0c;操作系统&#xff0c;中间件&#xff0c;云原生&#xff0c;网络等。 易用友好&#xff0c;无需 Agent&#xff0c;全页面操作&#xff0c;鼠标点一点就能监控告警。 强大监控模版能力&…...

为电子表格嵌入数据库,Excel/WPS一键升级为管理系统

将Excel表格转化为管理系统&#xff0c;这款工具能够实现只需导入表格数据&#xff0c;即可自动生成相应的软件和APP。 表格办公的烦恼&#xff0c;有遇到吧&#xff1f; 对于具有一定规模的企业而言&#xff0c;各类表格如同繁星般众多&#xff0c;既有日常使用的常规表格&a…...

搜索与图论(一)(深搜,广搜,树与图的存储遍历,拓扑排序)

一、DFS 往深里搜&#xff0c;搜到叶子结点那里&#xff0c;回溯&#xff0c;到可以继续到叶子结点深搜的位置。 1、回溯一定要恢复现场 2、定义一个与当前递归层数有关的终止条件&#xff08;题目要求的东西&#xff09; 3、每层都用循环判断是否存在可以dfs的路 输出数字…...

【开源】基于JAVA+Vue+SpringBoot的停车场收费系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…...

DDoS攻击激增,分享高效可靠的DDoS防御方案

当下DDoS攻击规模不断突破上限&#xff0c;形成了 "网络威胁格局中令人不安的趋势"。专业数据显示&#xff0c;对比2022年上半年与2023年上半年&#xff0c;所有行业的DDoS攻击频率增加了314%。其中零售、电信和媒体公司遭受的攻击规模最大&#xff0c;三个垂直行业的…...

打卡今天学习的命令 (linux

1.1 cp - 复制文件或目录 cp source destination cp -r source_directory destination # 递归复制目录及其内容1.2 rm - 删除文件或目录 rm file rm -r directory # 递归删除目录及其内容1.3 mv - 移动/重命名文件或目录 mv source destination mv old_name new_name # 重…...

[C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法

参考网上大部分方法错误&#xff0c;根本不起作用。正确方法是 C:\Users\你的用户名\AppData\Roaming\NuGet找到NuGet.Config打开&#xff0c;看到类似下面信息&#xff08;可能不一样&#xff09; <?xml version"1.0" encoding"utf-8"?> <co…...

FRP内网穿透如何避免SSH暴力破解(二)——指定地区允许访问

背景 上篇文章说到&#xff0c;出现了试图反复通过FRP的隧道&#xff0c;建立外网端口到内网服务器TCP链路的机器人&#xff0c;同时试图暴力破解ssh。这些连接造成了流量的浪费和不必要的通信开销。考虑到服务器使用者主要分布在A、B、C地区和国家&#xff0c;我打算对上一篇…...

Unity类银河恶魔城学习记录4-1,4-2 Attack Logic,Collider‘s collision excepetion源代码 P54 p55

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Entity.cs using System.Collections; using System.Collections.Generic; u…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

机器学习的数学基础:线性模型

线性模型 线性模型的基本形式为&#xff1a; f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法&#xff0c;得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...