从零开始学GeoServer源码一(开篇)

快速导航(持续更新中…)

从零开始学GeoServer源码一(开篇)
从零开始学GeoServer源码二(搭建开发环境)
从零开始学GeoServer源码三(断点应该打在哪?)
从零开始学GeoServer源码四(自定义插件或拓展数据源)
从零开始学GeoServer源码五(切片原理及自定义插件支持wms、wmts、tms)
从零开始学GeoServer源码六(如何打包发布?)
从零开始学GeoServer源码七(如何注册服务并发布3dtiles和cesium的地形terrain?)
从零开始学GeoServer源码八(内存溢出?Out of Memory Error ?)
从零开始学GeoServer源码九(如何集成Cesium以实现预览3dtiles和terrain服务?)
从零开始学GeoServer源码十(如何修改菜单项以整合我们的功能?)
从零开始学GeoServer源码十一(如何解决No Multipart-config for Servlet错误)
从零开始学GeoServer源码十二(GeoServer中的切片规则)
从零开始学GeoServer源码十三(GeoServer生成的矢量切片缺失问题)
从零开始学GeoServer源码十四(GeoServer Cloud微服务版本初体验)

点我去AIGIS公众号查看本文

1.前言:

  最近研究了一下GeoServer源码,这也是我从C#转到 Java 后接触的第一个开源项目,也是我从新浪博客迁移到csdn博客发的第一篇博客。因为我们最近有个需求,需要把MongoDB中的切片发布出来。其实,原生GeoServer是支持发布MongoDB中的矢量文件的,但我们在MongoDB中存的影像切片,GeoServer并不支持,因此,就需要改GeoServer的源码,也就有了这一个系列。在这一个系列中,我将一步一步讲明白我是如何将MongoDB的影像切片发布出来的。

2.思路

  其实这个思路我和同事沟通的时候偶然发现的,当时同事说他用GeoServer发布过MBTiles文件,其实MBTiles本质上就是SQLLite数据库,里面存的就是切片。这不就是我要效果吗?真是无心插柳柳成荫啊。我就跟他要了一个MBTiles的文件,并且在GeoServer里装上MBTiles的插件,结果发现在GeoServer里,MBTiles既可以做为矢量数据源,也可以作为栅格数据源。那我就改改MBTiles插件的源码,让程序去读MongoDB数据库不就行了嘛。

3.最终效果

3.1 WMS访问

在这里插入图片描述

wms是动态渲染的

3.2 WMTS访问

在这里插入图片描述

wmtsogc的标准切片协议

3.3 TMS访问

在这里插入图片描述

tms,准确的来说是google tms,原点在左上角,并不是那个原点在左下角的osgeo tms

3.4 原始数据

在这里插入图片描述

4.总结

  毕竟这是我第一个Java开源项目,收获还是蛮多的,比如对分辨率(resolution)的理解、对切片原理的理解,对 osgeo tmsgoogle tms 的理解,对 wmswmts 的理解都加深了,所以多看源码真的是很有必要的。
更多精彩内容见公众号AIGIS

  • 13
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIGIS.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值