缘由

似乎我的每一项开发都有一段情结。
始于google earth刚发布,那时候简直被震撼到了,所以说某些东西,确实只有美帝能带来突破,没有之一。整个地球遥感放在你的面前,各种地面建筑物清晰可辨,这些都是需要花费巨资来购买才可以的。
当时论坛中出现了上帝之眼的拼图工具,我用它将湛江市鉴江供水工程所涉及的范围拼了一张大的遥感图,给工程展示带来极大的便利。

几年后业主不知道是购买还是从国土拿到官方的遥感图。
再到前几年的水经注、奥维、91卫图助手、全能地图下载助手等百花齐放。
直到一次偶然的机会在公众号文章中看到mapus地图协作这个开源项目,一直念念不忘,而它使用firebase这个墙内无法使用的实时数据库,虽然不能体验协作,但是绘几何图形可以体验,挺有意思,就下决心转换为墙内可用的实时数据库,而国产或自己部署的实时数据库根本找不到,最后找到了supabase。
在此过程中,第一次接触QGIS这款开源软件,主要用于互相转换autocad的dxf和mapus支持的geojson格式,其他功能涉猎不多了。

经历

supa-mapus是利用supabase实时数据库进行工作的。
mapus主要使用的技术是leaflet.js及其插件geoman.js
为了加载百度瓦片地图,用到了tileLayer.baidu.js——更换了百度地图加载方式
前者XYZTiles栅格图(遥感图、卫星图、影像图)使用http://shangetu{s}.map.bdimg.com/,部署到服务器后无法使用,提示证书存在问题,后者使用https://maponline{s}.bdimg.com,确实清晰很多,也可以部署在服务器了。

通过使用全能地图下载助手,发现微软bing地图和ArcGis地图更加清晰,所以更换成微软bing地图了,比91卫图助手清晰一些。百度遥感图是18级,微软bing是19级,同等18情况下,微软bing更清晰。

turf.js是用来计算坐标点之间距离的,其实leaflet.js本身也可以计算
缩放图元就要用到Leaflet.Path.Transform.js这个插件了。虽然goeman也支持缩放,但需要专业版(收费)

我们所说的图元,在leaflet中都是图层layer的概念,每个图元都单独在一个图层。所以操作图元就是操作图层,比如绘制、编辑、删除。还有layergroup概念。

存在的问题:XYZTiles百度卫星(影像/地球)图分辨率最大到18级,几乎够用,但可以继续基于18级底图进行放大。——已解决,采用微软bing地图或ArcGis遥感地图,会清晰很多很多。

CSDN技术博客

时间轴

Created with Raphaël 2.2.02022年10月1日 周六尝试mapus地图协作2022年10月4日 周二研究采用supabase替换firebase2022年10月?日改造成百度地图2022年10月18日 周二改造完成具备初步协作效果2022年10月24日 周一协作效果提升2022年10月26日 周三dxf转geojson2022年10月28日 周五导入geojson数据2022年10月30日 周日xml转geojson2022年10月31日 周一研究geoman编辑2022年11月5日 周六移动、增加、删除节点和拖动、旋转图元2022年11月20日 周日凌晨解决百度影像地图,完成编辑后更新数据库完成部署2022年12月8日 周四解决百度影像地图基于18级瓦片图继续放大到23级2023年1月11日 周三用微软bing地图19级代替百度影像18级瓦片图搜索飞到定位区域2023年1月15日 周日浏览器框选按级下载高清bing遥感地图并拼接图片2023年1月18日 周三增加测距和测面积工具2023年1月19日 周四切换矢量地图,切换ArcGis遥感图2023年1月21日 周六编辑左侧图元名称和描述新建房间弹窗里列入所有房间名和描述2023年1月22日 周日下载功能上线2023年2月5日 周日xml2geojson支持面域polygon和point2023年2月19日 周日地形切剖面初步2023年2月25日 周六找到了绘制多段线无法捕捉和无法添加文字的bug2023年3月13日 周一添加文字、移动、删除,修改不完美2023年7月28日 周五沈同学完成矩形、圆形2023年8月7日 周一沈同学完成偏移、单个图元隐藏2023年8月10日 周四沈同学完成旋转、清理房间不存在的数据2023年8月23日 周三完成导航2024年2月7日 周三完成文字导出geojsonqgis再将文字导出dxf-shen6未完,待续……

TodoList

  • 导入的线路根据文件名命名,前提需要geojson文件中的properties里有对应的参数:name、layer、description
  • 导入的线路获取geojson文件里的颜色值——作废,导入前先选择颜色即可
  • 导出的线路携带更加丰富的信息,需要重写export方法,需要查询数据库
  • 首先弹出地图房间(含名称、备注)选择框,供选择或新建房间
  • 绘制矩形和圆形;导入文件支持矩形和圆形;读取数据库支持矩形和圆形
  • 用turf.js支持多段线偏移lineoffset http://turfjs.org/docs/#lineOffset
  • 图元的显示和隐藏
  • 图元的旋转
  • 导航
  • 文字定位
  • 导入CAD文字(CAD——QGIS——geojson——mapus)
  • 文字导回CAD(mapus——QGIS——dxf——CAD)
  • 添加mark弹框展示图片以及(图纸pdf)链接
  • 手机批量上传图片,自动解析图片经纬度,插入地图对应位置,并采用聚合展现方式
  • 地图倾斜 https://github.com/OsmHackTW/terrain-rgb
  • 沿路径漫游,录屏,类似图新地球……
  • 修改图元颜色 https://zhuanlan.zhihu.com/p/380309745
  • 当前页面中搜索飞到某个图元名称所在位置
  • 批量删除图元,增加删除权限认证
  • 选中图元导出geojson
  • 左侧树状折叠菜单,拖放
  • 其他种类地图框选下载:ArcGIS,街道矢量地图……
  • 清理未完成uncompleted数据
  • 关闭全部文字

    应用场景

    收集项目:从我们院最早的东深供水项目——大亚湾引水——鉴江供水——广州西江引水——广州北江引水——惠来中东部供水——韶关南沙水库供水——新疆努尔加水库供水——珠三角——粤东——环北——珠中江——漯河——佛冈——茂名引罗——茂名儒洞河引水……
    把我们做的所有长距离引调水(供水)工程都导进来:
    水务院长距离引调水项目

    收集古迹:https://www.bilibili.com/video/BV18341147AP
    优点是轻量!

    Mapus前世今生

    CAD GIS化 ACAD-QGIS-MAPUS

作者:秦晓川  创建时间:2022-11-05 22:21
最后编辑:秦晓川  更新时间:2024-11-18 15:41
上一篇:
下一篇: