GIS开发者
辽宁工程技术大学硕士研究生毕业,长期从事WebGIS、移动GIS开发工作,全栈 (前端、后端、Android、小程序、H5),现任某地理信息公司研发部经理,叩叩965894265
展开
-
基于PostGIS在PostgreSQL数据中实现按照百分比或面积将多边形分割为多个
最近遇到了一个需求,需要将一个多边形地块按照不同面积或比例进行分割。查了查在PostGIS中也没有可用的函数,于是开发了一个脚本。先看一下效果。原创 2025-02-19 18:30:00 · 228 阅读 · 0 评论 -
Maplibre-gl\Mapbox-gl改造支持对矢量瓦片加密
Maplibre-gl\Mapbox-gl使用的pbf格式的矢量瓦片,数据量小,渲染效果好。但也存在着信息泄露的风险。这篇文章以Maplibre-gl和SM2加密算法为例,展示通过springboot后端和SM2加密算法对pbf格式瓦片进行加密,修改Maplibre-gl源码对矢量瓦片进行解密,达到传输过程中,瓦片加密的效果。原创 2024-10-15 21:00:00 · 596 阅读 · 2 评论 -
PostgreSQL中实现数学中的组合问题
记得在学《数值分析》这门课程时,其中有排列组合的相关计算。最近没有想到,自己居然在编程上需要了这个问题,需要在数据库的一张表中,找出任意n条记录的组合,判断组合后的图形是什么,也就是组合问题。从网上搜索的相关资料,发现很多是在Java或者python代码实现的。因为数据在数据库表中,想着直接编写一个SQL脚本,可能更快。但这个过程中遇到很多问题,最终解决了,但也留有遗憾,这里和大家交流一下。我这两有两种实现方式,一种是自己从java代码中改造出的SQL脚本,另一种是使用join进行关联查询。原创 2023-10-18 22:03:59 · 562 阅读 · 0 评论 -
基于开源库libreDWG+Java实现AutoCad格式DWG转DXF
最近在做基于AutoCAD图纸的自动入库,遇到了一个问题,DXF图纸的解析入库非常简单,但是支持DWG的解析的开源库或框架非常少。看到网上很多网友,都在想将DWG转为DXF,再进行后续操作。我本来想着这很简单,结果研究了两条,这块可用的资料确实少之又少。偶尔看到两行代码,仔细看一下,都是基于商用的框架做的。最终实现了,虽然不完美,在这里也和大家分享一下。DXF是一种开放的矢量数据格式,可以分为两类:ASCII格式和二进制格式;ASCII具有可读性好的特点,但占用的空间较大;二进制格式则占用的空间小、读取速原创 2023-09-05 20:23:01 · 3411 阅读 · 1 评论 -
python+GDAL实现将GeoJson转换为栅格影像
最近遇到一个需求,需要将GeoJson转为jpg图片或者tiff格式的二值图像。这个需求,在web前端实现肯定是没有问题的,可以基于WebGIS框架进行渲染GeoJson,然后canvas截图就可以。不过对于一个后端项目来说,这样的实现方式就稍微有些麻烦了,效率也低。调研了一些网上的方法,大部分是用来实现GeoJson转栅格的,但是看到他们的代码里,总要先设置一个模版栅格文件,然后从模版文件获取像素数量、坐标系、transform参数。这样的方法对于生成固定分辨率和像元数量的需求是可以满足的。原创 2023-08-21 19:41:32 · 790 阅读 · 0 评论 -
PostgreSQL部署出现只有超级用户能创建扩展
最近在Windows Server服务器上部署遇到了一个问题,部署完成时,任务问题都没有,也可以远程连接。错误: 创建扩展 “uuid-ossp” 权限不够HINT: 只有超级用户能创建扩展.原创 2023-06-07 19:48:00 · 1268 阅读 · 0 评论 -
Mapbox字体切片工具fontnik部署与使用
我们在使用Mapbox的时候,不同的图层可以配置不同的字体。Mapbox主要通过分片加载SDF格式字体的方式,将比较大的字体文件传输到前端渲染使用。fontnik可以将字体文件也制作成pbf切片文件,在访问的时候,图中大括号的位置,中的,需要根据实际字体和切片索引进行替换,这种类型的文件,按照矢量切片的方式进行发布即可,前端配置好对应的地址。这种分片式的SDF字体文件的制作,官方已经提供了相应的工具,这里介绍一下,如何部署,并且进行字体切片。原创 2023-05-31 08:32:53 · 1110 阅读 · 0 评论 -
基于GeoToos在Springboot项目中,实现ShapeFile数据建表入库
很多人都用过PostGIS插件的导入工具,可以选择shp文件,自动在Postgresql数据中建立数据库表,然后导入shp文件中的数据,如下图所示。很多WebGIS的项目,客户都要求可以导入shp文件,入库。在Springboot+PostgreSQL+PostGIS的环境下是如何实现的呢?本文我们详细介绍一下:原创 2023-04-13 19:13:25 · 718 阅读 · 0 评论 -
基于Node.js的3DTiles三维倾斜摄影模型爬虫
随着小型无人机的普及,乡村级的倾斜摄影模型构建已经越来越简单。一个无人机和一名飞手2个小时内就可以完成。在做WebGIS和Cesium开发时,3DTiles是一种常用的倾斜摄影三维模型的切片格式。3DTiles格式通常有散列和紧凑两种文件组织形式,其中不同工具生成的散列数据使用的索引也有所区别。最近在网页上遇到一个演示效果比较好的倾斜摄影三维模型,就想将这个模型爬取下来。从浏览器控制台的网络请求中判断出了这个倾斜摄影模型是基于。原创 2023-01-31 18:30:00 · 2107 阅读 · 0 评论 -
cesium 实现地形挖洞的拖动效果
最近给客户提供了一个Cesium三维土壤地址坡面挖掘的效果Demo,客户又提出来想要拖动这个洞实时查看的效果。如果你正好也想实现可以参考一下下面文章,然后再看本文。博文中,介绍了如何实现在Cesium实现三维模式下挖洞,并生成土壤或岩层截面的效果。博文中介绍了如何批量的移动点、线模型。本文在上面两个博文的基础上,进一步实现了直接拖动坑洞的效果。因为有地形裁剪的效果,我们是无法直接移动的。本质上,还是数据新的坐标点再生成一份坐标,重新生成坡面模型。...原创 2022-08-18 14:49:12 · 1786 阅读 · 0 评论 -
Cesium.js实现无人机按轨迹飞行,并扫描地面
无人机在生活的很多方便,已经运用的越来越广泛,无人机巡检、无人机喷房、灾害查勘、摄影测量等等。在GIS开发中,我们经常也需要对接无人机的数据,倾斜摄影模型、多光谱影像等等。最近需要开发一个无人机贴地飞行,扫描地面的效果。查找了很多资料,也遇到了一些困惑,比较麻烦,不过最终都解决了。这里分享一下遇到的一些问题和最终的解决方案。...原创 2022-08-12 14:28:56 · 4076 阅读 · 0 评论 -
Cesium.js 地形挖洞
在前面的一篇博文中,介绍了如何[在cesium中如何进行地形的坡面切割]()。这里有点类似,本篇博文中,主要介绍一下,如何在Cesium.js中实现挖洞的效果。如果以后我们需要做地形透视功能,或者其他的,是会用到的。...原创 2022-08-03 19:38:07 · 1192 阅读 · 0 评论 -
Cesium.js 三维土壤地质剖面分割挖掘
之前看过很多的三维场景下,在地表处进行挖掘分割,查看地表下的管线走向、土壤成分、地质分层的案例。最近使用Cesium.js实现了一下,在三维场景下,在地表圈画挖掘范围,然后展示剖面、界面的功能。...原创 2022-08-03 15:34:19 · 2464 阅读 · 6 评论 -
ArcPy在Python 服务开发过程中的问题
最近想使用Flask开发一个python服务,通过ArcPy可以调用ArcGIS的相关功能。因为ArcPy依赖的是python2.7的版本,所以可选的服务框架并不多,最终选择了Flask进行开发。但是在执行期间发现很多问题,比如下面的:问题1在给shp文件添加字段时,调用arcpy.AddField_management时出现ExecuteError: ERROR 000582: 执行期间发生错误。问题2在记性shp记录筛选,调用arcpy.Select_analysis时出现ERROR 000原创 2022-05-23 20:40:06 · 1515 阅读 · 0 评论 -
ArcPy开发环境配置
什么是ArcPyArcPy是ArcGIS 相关的产品对外暴露的一系列python接口,如果你的电脑上安装了ArcGIS Desktop,ArcGIS Desktop工具箱的相关的工具,你都可以通过python 调用实现ArcPy实现。使用它的前提是你的电脑必须安装了ArcGIS Desktop或者ArcGIS Pro。但是网上相关资料很少,官方文档说的也不是很清楚,开发环境配置起来难免一头雾水,这里我介绍一下如何配置ArcPy的python开发环境。官方简介环境要求ArcGIS Desktop或A原创 2022-05-13 20:48:32 · 912 阅读 · 0 评论 -
python+gdal 实现将栅格切片合成为tiff影像
python+gdal 实现将栅格切片合成为tiff影像以前在校制图实习的的时候,老师给了我们一款稻草人下载器,可以在谷歌地图上画一个范围,然后把对应的影像下载下来,当时不太明白。现在看来,就是根据切片的规则,把谷歌地图上的瓦片下载了下来,然后本地合成了tif影像。前面的博文中,我们也讲过了如何根据规则把瓦片下载下来《python多线程进行地图栅格瓦片的爬虫》。这里我们研究一下,如何把下载下来的瓦片合成为tif影像。目录python+gdal 实现将栅格切片合成为tiff影像主要开发环境主要代码1.原创 2021-10-05 18:22:10 · 2506 阅读 · 0 评论 -
python多线程进行地图栅格瓦片的爬虫
python多线程进行地图栅格瓦片的爬虫之前使用node.js基于exectron框架,开发过一款地图TMS瓦片下载器,虽然存在很多问题,但还是得到了很多网友的响应。node.js毕竟是单线程的,下载效率可想而知。虽然说node.js支持异步回调,但是异步超过一定的数量,直接就死掉了。后来学习了python,python同时支持多线程和多进程,就想用python能不能提高一下效率,也研究出了一些成果,这里分享一下。线程与进程的选择进程是资源分配的最小单位,线程是CPU调度的最小单位,一个进程里可以原创 2021-09-25 22:01:29 · 779 阅读 · 0 评论 -
用Python+Flask+GDAL开发一个动态栅格切片服务
前言作为WebGIS开发者,绝大部分人都接触过GeoServer,自己都调用过用GeoServer发布的WMS、WTMS、TMS服务。但是GeoServer毕竟是基于java开发的,性能还是有点慢的,切片时服务能进入假死状态。很多时候,我都在想能不能自己开发一个切片服务,提升一下效率。最近,使用Python+Flask+GDAL开发了一个切片服务,通过MapBox调用时,完美展示出来。虽然是动态切片,但是效率一点也不慢。目录前言数据准备开发环境GDAL切片实现切片服务逻辑服务测试注意数据准备既然是原创 2021-08-14 22:16:50 · 1461 阅读 · 0 评论