一直想开发一个软件取代ArcGIS Server,该软件使用ArcEngine开发,以Windows Service形式发布,部署在服务端上,解决wmts地图服务发布和空间查询的问题,经过不断的研究、知识积累和测试,已经实现,现将思路整理如下:

首先,Arcgis server优点和缺点就不说了,我要实现的是一个小型的gis server,这个server将使用ae开发,所以只需在服务器上安装AE Runtime即可。软件的功能主要包括以下两点:

1、将mxd文档直接发布成wmts服务

2、前端用户使用属性查询或空间查询,服务端返回geojson

为完整介绍开发思路,我将一一介绍这两个功能。

一、发布MXD文档为WMTS

这个功能主要包括三个要点:

1、利用ArcEngine和WCF发布服务,前期经过测试,已经实现,这个服务可以托管于IIS,也可以托管于windows services。

2、了解WMTS规范,利用WCF开发相应服务

由于前几年一直在开发在线地图的浏览、下载、格式转换、地图服务发布软件(这个软件后期再介绍,目前可以除支持在线地图的下载外,还支持更多格式的地图发布成wmts,例如基于sqlite的自有地图切片数据库发布,发布arcgis 切片地图,利用gdal发布tif、jpg,png等影像、发布tpk等),所以对WMTS的规范已经很熟悉,所以利用WCF开发相应接口也未遇到难题

3、根据WMTS规范中的gettile方法,利用ae和动态缓存机制生成切片,实现wmts地图服务发布。

该功能的要点就是根据gettile中xyz的值,计算出切片地图的范围,利用AE裁切出地图。

二、前端用户使用属性查询和空间查询得到geojson

由于第一个功能中,已经使用ArcEngine开发了相应的地图服务,可以支持类似于桌面端的GIS操作,所以真正要做的工作就是将查询结果转换成geojson,前端根据geojson动态绘制查询结果。

这个小型的gis server目前部署很方便,服务器只需安装ArcEngine Runtime,将mxd文档和对应的数据复制过去即可,后期准备开发一个网站来支持用户上传MXD,直接发布地图服务。目前提供一个我测试用的地籍图发布的WMTS。

http://www.simplemap.com.cn:6466/SimpleGIS/ogc/services/rongxian/WMTS,总体来说,浏览速度还可以,为支持更快的浏览速度,也可以使用我写的切片地图下载软件将它下载成离线地图数据库,再发布WMTS,这样速度会更快一点。

最新文章

  1. SQL用先进先出存储过程求出库数量
  2. [poj2406] Power Strings
  3. Magicodes.WeiChat——缓存管理
  4. Setup Factory 打包.netframework 2.0
  5. 基于 libpcap库的sniffer程序
  6. BZOJ 2754([SCOI2012]喵喵叫的星球-统计序列的后缀阵列中子序列出现次数)
  7. hdu 5491 The Next(暴力枚举)
  8. HDU--杭电--4502--吉哥系列故事——临时工计划--背包--01背包
  9. math ceil以及math floor,math:round
  10. 【SmartOS】轻量级多任务调度系统
  11. HTTP与TCP的关系
  12. 安装php的lavavel框架的流程(亲测)
  13. airflow1.10时区修改
  14. [HAOI2018]染色
  15. xml方式将dataset导出excel
  16. linux alias 别名设置【转载】
  17. Digital Roots—HDU1013 2016-05-06 10:25 85人阅读 评论(0) 收藏
  18. Flume-NG源码阅读之SpoolDirectorySource(原创)
  19. 第四周PSP&进度条
  20. Python endswith() 方法

热门文章

  1. Asp.Net Core之Identity应用(下篇)
  2. H5进阶篇--实现微信摇一摇功能
  3. 用jq实现移动端滑动轮播以及定时轮播效果
  4. 如何利用WebSocket实现网页版聊天室
  5. C#枚举-通过值获取名字,通过名称获取值
  6. Java安全之Commons Collections6分析
  7. Ubuntu16.04 安装和卸载MySQL数据库
  8. 我们可以定向调度某个pod在某个node上进行创建
  9. Java语言学习day35--8月10日
  10. 2021.07.18 P2290 树的计数(prufer序列、组合数学)