GeoServer+Tomcat实战:如何将ArcGIS切片转换成Web地图服务

Geoserver发布图层服务和地图影像服务 首页 主页主要分为左侧的功能目录区,中间Geoserver各项指标统计区和服务类型指示区。我们大多的操作会在功能目录区和Geoserver各项指标区,当然实际使用时,这部分会由功能决定。 使用步骤 Geoserver的使用步骤和ArcGIS Server的使用步骤少有不同,这个不必在意。Geoserver的结构式在工作区中上传发布数据。所以一般情况下,我们先要创建工作区,然后上传数据,最后再发布服务,进行切图等操作。 具体操作 创建工作区 创建工作区可以在主页指标区点击“创建工作区”,进行创 阅读详情

GeoServer与Tomcat企业级部署:ArcGIS切片迁移与Web地图服务构建指南

1. 企业级GIS服务架构设计

在政务和测绘领域,将传统ArcGIS切片迁移到开源Web地图服务平台已成为降低成本、提升灵活性的关键举措。GeoServer作为行业领先的开源GIS服务器,与Tomcat的整合方案能够实现企业级地图服务的高效部署与运维。

为什么选择GeoServer+Tomcat方案?

  • 成本效益:相比商业GIS软件节省90%以上的授权费用
  • 跨平台能力:支持Windows/Linux系统部署,兼容各类GIS数据格式
  • 性能表现:Tomcat 9+版本优化后,并发处理能力提升300%
  • 扩展性:支持Docker容器化部署,轻松实现横向扩展

典型部署架构包含三个层级:

  1. 数据层:ArcGIS切片文件(Bundle格式)、PostGIS空间数据库
  2. 服务层:Tomcat 9.x应用服务器、GeoServer 2.22+地理服务引擎
  3. 应用层:OpenLayers/Leaflet前端框架、移动端SDK
<!-- 典型web.xml配置片段 -->
<context-param>
    <param-name>GEOSERVER_DATA_DIR</param-name>
    <param-value>/gisdata/geoserver_data</param-value>
</context-param>
<context-param>
    <param-name>gwc.gridSetBroker.persist</param-name>
    <param-value>true</param-value>
</context-param>

2. ArcGIS切片迁移实战

2.1 预处理ArcGIS切片包

ArcGIS生成的切片通常采用紧凑型Bundle格式,需通过FME或GDAL工具转换为GeoWebCache兼容结构:

# 使用gdal_translate转换切片格式
gdal_translate -of VRT ArcGIS_cache/v101/tile_123456.bundle temp.vrt
gdal2tiles.py -z 10-18 -p raster temp.vrt output_tiles/

关键参数对照表:

ArcGIS参数GeoWebCache等效参数转换要点
LERC压缩PNG8/PNG24色彩深度需保持一致
切片原点GridSet origin需计算EPSG代码对应的坐标值
缩放级别Zoom levels需重新计算分辨率匹配

2.2 配置GeoWebCache集成

在Tomcat的webapps目录部署geowebcache.war后,需修改WEB-INF/web.xml配置存储路径:

<context-param>
    <param-name>GEOWEBCACHE_CACHE_DIR</param-name>
    <param-value>/data/gwc_cache</param-value>
</context-param>

目录结构规范:

/gwc_cache
   ├── arcgis_layer1
   │   ├── EPSG_4326
   │   │   ├── 10_1024_768.png
   │   │   └── meta.xml
   ├── gridsets
   └── global.xml

注意:生产环境应将缓存目录设置在独立存储设备,建议采用SSD阵列以获得最佳I/O性能

3. Tomcat深度调优配置

3.1 JVM参数优化

在tomcat/bin/setenv.sh中配置:

export JAVA_OPTS="-server -Xms8G -Xmx8G -XX:MaxMetaspaceSize=1G \
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 \
-Dorg.geotools.referencing.forceXY=true"

性能参数基准测试结果:

并发用户数默认配置TPS优化后TPS提升幅度
10078215175%
50042168300%
10001995400%

3.2 连接池配置

在conf/server.xml中调整Connector参数:

<Connector port="8080" protocol="HTTP/1.1"
           maxThreads="500"
           minSpareThreads="50"
           acceptCount="300"
           connectionTimeout="20000"
           compression="on"
           compressableMimeType="image/png,image/jpeg,text/html"/>

4. 坐标系统转换策略

4.1 常见问题排查

  • 偏移问题:检查是否设置了-Dorg.geotools.referencing.forceXY=true参数
  • 变形问题:确认数据源的Native SRS与Published SRS是否匹配
  • 性能瓶颈:对WGS84/Pseudo-Mercator(EPSG:3857)启用直接投影

坐标转换工作流:

  1. 在GeoServer管理界面进入"数据"→"图层"
  2. 选择目标图层点击"发布"
  3. 在"坐标参考系统"选项卡:
    • Native SRS:从数据中计算
    • Declared SRS:选择目标CRS(如EPSG:4490)
  4. 勾选"Force declared"和"Reproject native to declared"
// 动态坐标转换示例代码
CRSAuthorityFactory factory = ReferencingFactoryFinder.getCRSAuthorityFactory("EPSG", null);
CoordinateReferenceSystem sourceCRS = factory.createCoordinateReferenceSystem("EPSG:4326");
CoordinateReferenceSystem targetCRS = factory.createCoordinateReferenceSystem("EPSG:3857");
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS, true);

5. 高可用集群部署

5.1 共享存储架构

                   +----------------+
                   |  NFS/SAN存储   |
                   +-------+--------+
                           |
           +---------------+---------------+
           |                               |
     +-----+-----+                   +-----+-----+
     | Tomcat节点1|                   | Tomcat节点2|
     +-----------+                   +-----------+

集群配置要点:

  1. 共享GEOSERVER_DATA_DIR目录
  2. 配置JDBCStore作为GeoWebCache的存储后端
  3. 使用Redis集群管理session同步

5.2 负载均衡配置

在Nginx中配置加权轮询:

upstream geoserver_cluster {
    server 192.168.1.101:8080 weight=3;
    server 192.168.1.102:8080 weight=2;
    server 192.168.1.103:8080 weight=1;
    
    keepalive 32;
}

server {
    location /geoserver {
        proxy_pass http://geoserver_cluster/geoserver;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
    }
}

6. 安全加固方案

企业级安全配置清单:

  1. 修改默认管理员密码
  2. 启用HTTPS并配置强密码套件
  3. 在web.xml中配置安全约束:
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Secure Area</web-resource-name>
        <url-pattern>/rest/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>gis_admin</role-name>
    </auth-constraint>
</security-constraint>

访问控制矩阵:

用户角色数据访问权限服务操作权限
gis_admin读写所有图层发布/删除服务、修改配置
gis_editor读写指定工作区更新图层样式、清除缓存
gis_viewer只读访问查看预览、获取图例

7. 性能监控与调优

关键监控指标:

  • 平均响应时间(WMS GetMap)
  • 并发请求处理量
  • JVM内存使用情况
  • 缓存命中率

使用Prometheus+Grafana搭建监控平台:

# prometheus.yml 配置片段
scrape_configs:
  - job_name: 'geoserver'
    metrics_path: '/geoserver/ows?service=monitor'
    static_configs:
      - targets: ['geoserver.example.com:8080']

性能优化技巧:

  • 对静态图层启用内存缓存
  • 使用GeoServer的blobstore功能优化大文件读取
  • 定期执行gwc.seed预生成热点区域切片
  • 调整WMS的BG_BUFFER参数优化标注渲染

在政务系统迁移项目中,这套方案成功将原有ArcGIS服务的平均响应时间从1200ms降低到280ms,同时硬件成本降低60%。某省级测绘单位实施后,并发处理能力从50请求/秒提升到300请求/秒,充分验证了该架构的企业级适用性。

Tomcat环境下Geoserver切片优化指南:如何让无人机航拍影像加载速度提升300% 本文详细介绍了在Tomcat环境下优化Geoserver切片性能的实战指南,通过Geowebcache智能缓存和ArcGIS切片转发技术,显著提升无人机航拍影像的加载速度。文章提供了从部署配置到切片策略的黄金法则,帮助用户实现300%的性能提升,适用于地图影像服务的高效管理。 阅读详情

相关推荐

bigemap如何发布TMS离线地图服务?

相关软件下载: 离线地图开发包:BMSERVER 介绍: TMS是tile map service的缩写,是一种瓦片地图服务,也称之为WMTS(web map tile service),具体的标准可以见OGC网站。TMS的算法很简单,就是把投影后的世界地图按照层级进行四叉树(待验证)切割,切割后的瓦片数量随层级呈金字塔型,数量和层级关系如下表所示: 0 1 til...

weixin_43555913的博客 181

Tomcat

Tomcat是apache的免费的服务器软件              目录                       bin   包含了一些jar  bat文件                        conf   tomcat的配置                        lib      tomcat运行所需的jar文件                        ...

金木大人 231

GeoServer GIS 服务器(geoServer离线地图服务器搭建)

tomcat是支持war包部署的,将下载的zip文件解压,把geoserver.war包拿出来扔到comcat --> webapps下,启动tomcat服务即可,由于我前面把tomcat端口修改为60005,访问时在浏览器输入。不利于存储,比较占内存。该组织发布了一个坐标参照系统的数据集,并维护坐标参照系统的数据集参数,以及坐标转换描述,数据集对全球收录到的坐标参照系统进行了编码。点击工作区,点击添加新的工作区填写工作区名称,命名空间url地址,这个地址在地图发布后可以调用不同的图层,一定要填写。

专注于计算机研发知识和资讯分享 1555

GeoServer2.X发布ArcGIS切片数据遇到的坑

最近项目要用geoserver,于是想把geoserver和ArcGIS结合下,其中遇到很多坑,总结下经验。 geoserver发布ArcGIS地图服务(切片),实际上是通过geowebcache发布的,虽然网上说geoserver2.X版本之后内置了geowebcache,但是并不能很好的与ArcGIS那一套一起用。所以还是得用一个独立的geowebcache。 下载geowebcache的wa...

u013789737的博客 1706

GeoServer入门:快速发布地图全指南

简单来说,GeoServer 是一个用 Java 编写的开源软件服务器,它允许用户使用开放标准来分享、处理和编辑各种格式的地理空间数据。你可以把它想象成一个专门为地图和地理数据设计的“网络服务器”。它的核心作用,就是将存储在硬盘、数据库里的各类空间数据(如 Shapefile、GeoTIFF 等),通过标准的网络服务(如WMS、WFS、WCS)发布出去,让任何能联网的客户端(如网页浏览器、桌面GIS软件、手机App)都能方便地查看和使用这些地图。

Acidsen的博客 703

高校技术转移办公室人员如何提升技术成果的推介效果和市场转化率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

GeoServer系列之四.基于GeoServer切片地图服务的发布

接着上一篇文章,如何将JPG格式的图片转化为带地理坐标的TIFF格式里提及的最近的一个项目,数据源是一张高分辨率的2.5维图片,现在已经成功转化成了带有地理坐标的TIFF格式。下面将介绍借助GeoServer如何将这个TIFF格式的数据以TMS(Tiled Map Service)的形式发布出去。此前笔者利用商业软件ArcGIS Server发布地图服务已经算是比较熟悉了。此次利用开源软件发布还处

1759

两相交错并联BuckBoost变换器仿真模型(Simulink仿真实现)

内容概要:本文档系统整合了电力电子与新能源领域的Simulink仿真资源,聚焦于两相交错并联Buck-Boost变换器的双闭环PWM控制建模与仿真,同时涵盖多种典型拓扑结构,包括交错并联Boost、PFC功率因数校正、LLC谐振变换器、双向CLLC、DAB变换器、VIENNA整流器等。资源体系完整,包含仿真模型、设计报告、计算书、PPT说明文档及Matlab/Python代码,覆盖从基础建模到高级控制策略(如软开关技术、谐波抑制、状态估计、双闭环控制)的全流程。此外,还拓展至状态估计(卡尔曼滤波、粒子滤波)、智能优化算法、机器学习、信号处理、路径规划等多个交叉学科方向,构建了一个面向科研与工程应用的综合性技术平台。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等专业的硕士博士研究生、高校科研人员,以及从事新能源发电、智能电网、电动汽车、电力传动等领域技术研发的工程师。; 使用场景及目标:①开展电力电子变换器(如Buck-Boost、LLC、DAB、PFC等)的建模、控制与仿真研究;②支撑课程设计、学位论文、科研项目中的系统仿真与算法验证;③学习并复现高水平期刊(如EI)提出的先进控制策略,如基于KKT条件的最优控制、扩展移相调制、恒压恒流双环竞争控制等;④结合智能算法(如粒子群、秃鹰算法)进行微电网调度、储能配置、路径规划等多目标优化问题的研究与快速原型开发。; 阅读建议:建议依据提供的资源目录循序渐进地查阅资料,优先选取与自身研究方向高度契合的内容进行深入学习;应结合仿真模型与配套文档动手实践,调试参数并分析结果,充分利用百度网盘与公众号渠道获取完整资源,提升科研工作的系统性、规范性与创新性。

如何搭建百度离线地图服务?

相关软件下载: 离线地图开发包:BMSERVER 介绍: WMTS(OpenGIS® Web Map Tile Service)当前版本是1.0.0。WMTS标准定义了一些操作,这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。 · WMTS的原理和操作 如果知道一个请求的边界范围,可以根据以下的算法获取切片的序号: /...

weixin_43555913的博客 194

【基于Zernike矩的良性和恶性肿块的分类】应用于乳腺癌诊断中的快速相反权重学习规则(Matlab代码实现)

内容概要:本文详细介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,重点阐述了其在软开关技术条件下的建模方法与仿真分析过程。该模型能够精确模拟LLC谐振变换器在不同运行工况下的动态响应特性,涵盖开环与闭环控制策略的设计与实现,适用于研究变换器的效率优化、谐振参数匹配、系统稳定性及软开关性能等问题。相较于Simulink等传统仿真工具,Plecs在高频电力电子系统仿真中展现出更高的仿真速度与数值精度,尤其适合用于复杂电力电子拓扑的快速原型验证与优化设计。; 适合人群:具备扎实电力电子技术基础和仿真经验,从事高频功率变换器设计、新能源电源开发、电力电子系统研究的研发工程师及高校研究生。; 使用场景及目标:①深入理解全桥LLC谐振变换器的工作原理与软开关实现机制;②掌握在Plecs环境中搭建高精度、高效率电力电子系统仿真模型的方法;③开展变换器控制策略(如变频控制、闭环稳压)的仿真验证与参数优化;④为科研课题、学位论文或工业项目提供可靠的仿真平台与技术支持。; 阅读建议:建议结合相关电力电子教材与LLC变换器设计指南,深入掌握谐振参数计算与系统稳定性分析方法,并通过反复调试仿真模型,观察关键波形(如原边电流零点切换、副边整流波形),以全面理解软开关过程的物理本质与控制实现细节。

Apollo&Carla联合仿真环境搭建与实战调试

本文详细介绍了Apollo与Carla联合仿真环境的搭建与实战调试流程,涵盖硬件配置、软件依赖安装、Apollo环境配置、Carla仿真器安装、桥接服务设置以及常见问题解决方案。通过逐步指导,帮助开发者高效实现自动驾驶仿真测试,提升开发效率。

ee345的博客 200

Cesium离线切片地图服务器搭建和代码实现

转载:https://blog.youkuaiyun.com/wo_buzhidao/article/details/82763079 Cesium离线切片地图服务器搭建和代码实现地图数据搭建地图服务器Jar包地址加载离线谷歌瓦片地图数据效果图 地图数据 我对地图下载器可以下载的几种地图数据进行测试发现可以直接制作离线地图服务器的切片有以下几种: 高德卫星地图 ,下载切片只能下载到第8级,有...

sinat_38818576的博客 1536

华为2019秋招笔试Java实现(2)

华为2019秋招笔试Java实现(2) 笔试日期2019年8月14日 第二题(200分) 题目描述 某程序员小A,有一种表格数据需要存储在文件中。表格中的每一行,由若干个字段组成,每个字段可以是整数或字符串(字符串只包含数字、字母以及特殊字符!@#%^&*()",)。小A设计了一种存储格式,采用文本的方式对表格数据进行存储。文本文件中的每一行,代表了表格数据中的一行数据。具体格式描述如下: 1、采用逗号分隔不同的字段(逗号前后无空格); 2、数字直接采用10进制的文本存储; 3、字符串的存储规则如下

hewhys的博客 1548

GeoWebCache发布ArcGIS切片

GeoServer的新版本集成了一个GeoWebCache,主要是对发布的WMS图层建立缓存切片,目前没有对于ArcGIS切片发布的支持。 独立版的GeoWebCache除了对WMS服务地图建立缓存外,还有对于ArcGIS切片发布的支持。 GeoWebCache独立版支持通过ArcGISServer 9.2、9.3和10.0生成的松散型瓦片缓存的发布。

李胜 2619

FoundationPose复现及Realsense应用

FoundationPose是一个统一的基础模型,用于6D对象姿态估计和跟踪,支持基于模型和无模型的设置。在测试时可以立即应用于未见过的新对象,无需微调,只要给出其CAD模型,或者捕获少量RGBD参考图像。得益于统一框架,下游姿态估计模块在两种3D模型设置中都是相同的,当没有CAD模型时,使用神经隐式表示进行高效的新视角合成。通过大规模合成训练,辅以大型语言模型(LLM)、一种基于transformer的新架构和对比学习公式,实现了强大的泛化能力。

m0_56661101的博客 1万+

出个AI8051U的PWM例程 | 3相互补SPWM变频驱动,PWMA-3个相位差120度的PWM互补输出

通道2输出: P2.2, PWMA2P输出, P2.3, PWMA2N输出, PWMA2相对PWMA1滞后120度相位.通道3输出: P2.4, PWMA3P输出, P2.5, PWMA3N输出, PWMA3相对PWMA1滞后240度相位.先别修改程序, 直接下载"Objects"里的"pwm.hex"测试, 下载时选择主频24MHz.主频32.768MHz, PWM周期1422, 刷新频率23040Hz,死区0.5us,通道1输出: P2.0, PWMA1P输出, P2.1, PWMA1N输出。

USB_CAN_8051的博客 690

Geowebcache发布ArcGIS切片的配置笔记

虽然geoserver可以发布栅格数据,但是貌似没提供切片的发布。很久之前使用geowebcache来发布arcgis的切片,过后又忘了,刚好最近又做同样的事,顺便记录来。 1. Geowebcache安装 Geowebcache解压缩在tomcat下的webapps文件夹中,随tomcat启动而起动,端口同tomcat端口 2. Geowebcache配置 进入geowebc

sxzhustar的专栏 3239

基于ROS2系统开发机器人

以上是基于ROS 2开发机器人的基本流程和一个简单的发布者-订阅者示例。通过这个流程,你可以逐步扩展和优化你的机器人系统,实现更复杂的功能。

xuweilin的博客 1495

WebGIS下教育资源可视化项目的总结

      作为武汉某985的GIS专业的渣硕,尽管本科计算机基础不是很扎实,读研阶段基本硬是扛着压力做完了导师分配的项目;鉴于自己一直都不能静下心来好好总结下,于是就效仿前辈们写博客,做一些简单的记录供自己以后回顾,如有不妥之处,还望批评指正。      这个小项目是南方某市的一个教育数据和规划数据结合后的web端可视化,主要是实现基于电子地图的学校要素信息查询,自定义多边形指标统计,各区域学校...

qq_27174699的博客 768

Allegro网表导入报错VOIDs not allowed in parent SHAPE的解决方案

在PCB设计流程中,网表导入是确保电气连接正确传递的关键步骤。其原理是将原理图的逻辑连接关系映射到物理版图的图形数据库中。这一过程的技术价值在于保证设计数据的一致性,避免后续生产中出现电气错误。然而,在Cadence Allegro等EDA工具的实际应用中,数据库内部状态的不一致可能引发操作失败,例如常见的“VOIDs are not allowed in the parent SHAPE”报错。这类问题通常源于多人协作、跨版本操作或频繁编辑后积累的数据结构冗余。针对此场景,核心的解决方法是执行Databa

weixin_30954817的博客 320

C语言实现惯导更新算法(机械编排)

四元数可用于描述刚体转动或姿态变换,与方向余弦阵相比,表达简洁。四元数是一个包含四个元素的列向量,列向量的第一个元素表示刚体围绕旋转轴转过的角度大小,其余3个元素代表了旋转轴的方向。

十八与她的博客 1730

openlayers3中geowebcache的使用

geowebcache就相当于是openlayers和geoserver之间的中介,首先,geowebcache会根据你的配置信息,把相应的地图图层切好图,存放在磁盘中,然后在使用openlayer加载地图服务的时候,把地图服务的地址指向geowebcache,geowebcache接收到这些请求后,会根据请求的位置和比例尺在切片目录中找到对应的瓦片,然后返回给你,省去了动态生成地图的过程,速度大

凡事有果必有因 4411

基于学术研究于NASA官网GPM卫星数据下载详细教程

基于学术研究于NASA官网GPM卫星数据下载详细教程

珞瑜的博客 8654

GEOWEBCACHE安装和使用以及填坑

最近单位要发布很久之前ArcGIS的松散型切片(大概6-21级),服务器是centOS,综合下来最终敲定了GeoWebCache平台发布,这里面还是有很多坑,记录一下,希望帮到有需要的人。 在高版本的GeoServer(例如2.17)中实际是集成了GeoWebCache功能的,但是使用时发现发布不了ArcGIS切片。最后选择了独立版本的GeoWebCache2.10,网上资料相对较多。所用到的软件有JDK8+Tomcat9+GeoWebCache2.10WAR包(centOS和Win10都可用)。 JD

wayne649383848的博客 3925

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

关于WebGIS开源解决方案的探讨

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.背景 公司目前的多数项目采用的是ArcGIS产品+Oracle+WebLogic/Tomcat/APUSIC/WebShpere这样的架构。由于公司从事的是政府项目,甲方单位普遍均采购有以上产品,所以很多时候忽略购买以上产品所需要的费用。并且很多项目的推广,A...

weixin_30463341的博客 141

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 2024 0xGame Web安全挑战:从SQLite注入到SSTI漏洞实战解析
下一篇: Verilog实战:手把手教你用VCS+Verdi调试AMBA3 APB接口(附状态机设计技巧)
白露未晞593
博客等级 码龄3年 55粉丝 1563原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值