QGIS连接GeoServer全流程保姆级教程:从零搭建WebGIS服务

QGIS连接GeoServer全流程保姆级教程:从零搭建WebGIS服务

文章目录

一、环境准备与基础配置

1.1 软件安装与版本要求

  • QGIS:推荐使用LTR长期支持版本(如3.34.4-Prizren),稳定性更佳。下载地址:QGIS官网,安装时避免中文路径。
  • GeoServer:建议通过Tomcat部署稳定版(如2.25.0),下载地址:GeoServer官方仓库。需提前配置Java环境(JDK 11+)。
  • 数据库(可选):若需发布PostGIS数据,需安装PostgreSQL 14+及PostGIS扩展,通过CREATE EXTENSION postgis;启用空间功能。

1.2 GeoServer部署与验证

  1. Tomcat部署
    • 解压GeoServer的.war包至Tomcat的webapps目录。
    • 启动Tomcat(Windows双击startup.bat,Linux执行./startup.sh)。
    • 访问http://localhost:8080/geoserver,默认账号admin/geoserver登录。
  2. 基础配置验证
    • 创建工作区(Workspace):如my_workspace,用于隔离数据。
    • 添加数据存储(Data Store):支持Shapefile、GeoPackage、PostGIS等格式。例如:
      • Shapefile:选择Directory of spatial files,指定.shp所在目录。
      • PostGIS:填写数据库连接信息(主机、端口、数据库名、用户名密码)。

二、QGIS连接GeoServer的三种核心方式

方式一:通过WMS/WMTS服务直接调用

适用场景:快速调用GeoServer已发布的图层作为底图或叠加层。

  1. 在QGIS中新建WMS连接
    • 左侧浏览器面板 → 右键WMS/WMTS新建连接
    • 填写参数:
      • 名称:自定义(如MyGeoServer)。
      • URLhttp://localhost:8080/geoserver/wms(根据实际IP和端口调整)。
      • 用户名/密码:GeoServer登录凭证(若启用认证)。
    • 点击OK保存连接。
  2. 加载图层
    • 展开新建的连接 → 双击目标图层(如my_workspace:rivers)。
    • 右键图层 → 属性 → 可调整透明度、坐标系等参数。

方式二:使用GeoCat Bridge插件批量发布

适用场景:需高效发布大量矢量/栅格数据,并保留QGIS符号化样式。

  1. 插件安装
    • QGIS菜单栏 → 插件管理并安装插件 → 搜索GeoCat Bridge → 安装。
    • 安装后工具栏出现Publish按钮。
  2. 配置GeoServer连接
    • 点击Publish按钮 → 左侧Servers标签 → New Server
    • 填写参数:
      • 连接名:自定义(如LocalGeoServer)。
      • URLhttp://localhost:8080/geoserver
      • 存储方式:选择File-based storage(数据上传至GeoServer目录)或PostGIS(直接写入数据库)。
      • 认证:添加GeoServer用户名密码。
  3. 批量发布数据
    • 在QGIS中加载需发布的图层(如Shapefile、GeoJSON)。
    • 对图层进行符号化(如按属性分类设色)。
    • 保存QGIS工程(工程名将作为GeoServer工作区名,需确保唯一)。
    • 点击Publish按钮 → 选择目标服务器 → 发布。

关键注意事项

  • 工作区冲突:若工程名与GeoServer现有工作区重复,会覆盖原有数据。
  • 坐标系:确保QGIS工程与GeoServer坐标系一致(如EPSG:4326)。
  • 数据类型:矢量数据默认发布为GeoPackage格式,栅格为GeoTIFF。

方式三:手动发布QGIS编辑的SLD样式

适用场景:需精细控制GeoServer图层样式,或复用QGIS的复杂符号化规则。

  1. 在QGIS中导出SLD文件
    • 右键图层 → 属性样式 → 底部Style下拉菜单 → Save Style → 选择SLD File
    • 示例SLD片段(河流线样式):
<StyledLayerDescriptor><UserStyle><Name>rivers_style</Name><FeatureTypeStyle><Rule><LineSymbolizer><Stroke><CssParametername="stroke">#1E90FF</CssParameter><CssParametername="stroke-width">2</CssParameter></Stroke></LineSymbolizer></Rule></FeatureTypeStyle></UserStyle></StyledLayerDescriptor>
  1. 在GeoServer中应用SLD
    • 登录GeoServer → StylesAdd new style → 上传SLD文件。
    • 发布图层时,在Publish页面 → Default Style下拉菜单中选择对应样式。

进阶技巧

  • 动态样式:通过SLD的Filter实现按比例尺或属性动态显示(如不同宽度河流)。
  • 比例尺控制:在SLD中添加MinScaleDenominatorMaxScaleDenominator参数。

三、常见问题与解决方案

问题1:QGIS无法连接GeoServer(连接超时或404错误)

  • 排查步骤
    1. 检查GeoServer服务是否运行:访问http://localhost:8080/geoserver/web
    2. 确认URL格式:确保末尾为/wms(WMS服务)或/wfs(WFS服务)。
    3. 防火墙设置:关闭防火墙或放行8080端口。

问题2:发布的图层在QGIS中显示为空白

  • 可能原因
    • 坐标系不匹配:检查QGIS工程坐标系与GeoServer图层SRS设置。
    • 数据范围问题:在GeoServerLayer Preview中确认图层是否有数据返回。
    • 样式错误:尝试更换为GeoServer默认样式测试。

问题3:GeoCat Bridge发布失败(工作区创建错误)

  • 解决方案
    1. 确保QGIS工程名不含特殊字符或空格。
    2. 手动删除GeoServer中同名工作区(通过Workspaces页面)。
    3. 检查数据存储路径权限(确保Tomcat用户有写入权限)。

四、性能优化建议

  1. 瓦片缓存:在GeoServer中配置GeoWebCache,缓存常用比例尺的瓦片。
  2. 数据分块:对大型栅格数据使用ImageMosaic或分块存储。
  3. 并发控制:调整GeoServer的JAIJAI-ImageIO内存参数(如-Xmx4G)。

五、总结与扩展

通过本教程,您已掌握QGIS与GeoServer的三种核心连接方式:

  1. WMS/WMTS调用:适合快速集成现有服务。
  2. GeoCat Bridge插件:高效批量发布数据并保留样式。
  3. SLD手动同步:实现复杂符号化的精准控制。

下一步学习方向

  • 结合OpenLayers或Leaflet开发前端地图应用。
  • 探索GeoServer的WPS(Web Processing Service)实现空间分析。
  • 使用PostGIS进行空间数据库优化与查询。

资源推荐

通过持续实践与优化,您将能够构建出高效、稳定的WebGIS平台,满足从数据发布到空间分析的全流程需求。

Read more

语音转写文本润色:Llama-Factory助力ASR结果后处理

Llama-Factory助力ASR文本后处理:让语音转写真正“可用” 在智能会议系统、庭审记录数字化、远程医疗问诊等场景中,自动语音识别(ASR)早已不再是“能不能听清”的问题,而是“转出来的文字能不能直接用”的挑战。即便现代ASR引擎的词错率已低于10%,其原始输出仍常表现为无标点、断句混乱、同音错别字频出的“口语流”,例如: “那个我们明天三点开会然后讨论项目进度请各部门负责人参加” 这样的文本显然无法直接归档或生成纪要。用户需要额外投入大量人力进行校对和润色——这不仅抵消了自动化带来的效率优势,还可能引入新的错误。 于是,一个关键环节浮出水面:ASR后处理。而近年来,大语言模型(LLM)正成为这一环节的核心驱动力。不过,通用大模型如通义千问、ChatGLM虽然语法能力强,却往往对领域术语不敏感,容易“过度发挥”。真正的解法,是基于真实转写数据微调一个专用的文本修正模型。 这时,Llama-Factory 出现了。它不是一个简单的训练脚本集合,而是一套完整的大模型定制流水线,把从数据准备到模型部署的复杂工程封装成可操作的工具链。更重要的是,它让没有深度学习背景的工程师也

01 - 大模型推理框架选型入门:Ollama、llama.cpp与vLLM全景对比

01 - 大模型推理框架选型入门:Ollama、llama.cpp与vLLM全景对比 本文是《大模型推理框架深度解析》系列的第一篇,适合刚接触LLM部署的开发者阅读。 写在前面 随着大语言模型(LLM)的广泛应用,如何将模型高效地部署到生产环境成为每个AI工程师必须面对的问题。目前市面上主流的推理框架有Ollama、llama.cpp和vLLM,但它们的技术定位、适用场景差异巨大。 很多开发者在选型时容易陷入误区: * 用Ollama部署高并发API服务,结果吞吐量上不去 * 用vLLM跑边缘设备,发现资源占用过高 * 混淆llama.cpp和vLLM的定位,不知道何时该用哪个 本文将从架构分层视角出发,帮你建立清晰的选型认知。 一、三大框架的技术定位 1.1 三层架构视角 如果把LLM推理技术栈比作一座大厦,三个框架分别位于不同的楼层: ┌─────────────────────────────────────────────────────────────┐ │ 应用层(第3层) │ │ ┌─────────────┐ │ │ │ Ollama │

Claude部署(copilot反向代理)

一、教育邮箱认证 1、进行教育邮箱认证可免费使用claude pro 2年,有机会的话可以进行认证,无法教育认证的话只能花钱充claude的会员了,如何进行教育认证可观看该Up的视频 超简单一次通过Github学生认证,逐步详细视频教程_哔哩哔哩_bilibili 2、教育认证通过后在GitHub个人主页下的Copilot/Features中开启Copilot Pro 二、服务器上配置Copilot反向代理 1、配置nodejs环境 在官网https://nodejs.org/en/download/package-manager,下载nodejs安装包(Linux) 下载完成后将压缩包传到服务器上进行解压,目录如下 创建软连接,使得在任意目录下都可以试用直接使用node命令和npm命令 ln -s /root/node-v24.13.1-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v24.13.

openclaw使用llama.cpp 本地大模型部署教程

openclaw使用llama.cpp 本地大模型部署教程

openclaw使用llama.cpp 本地大模型部署教程 本教程基于实际操作整理,适用于 Windows WSL2 环境 全程使用 openclaw 帮我搭建大模型 一、环境准备 1. 硬件要求 显卡推荐模型显存占用GTX 1050 Ti (4GB)Qwen2.5-3B Q4~2.5GBRTX 4060 (8GB)Qwen2.5-7B Q4~5GBRTX 4090 (24GB)Qwen2.5-32B Q4~20GB 2. 安装编译工具(WSL Ubuntu) sudoapt update sudoaptinstall -y cmake build-essential 二、下载和编译 llama.cpp