- 博客(68)
- 收藏
- 关注
原创 geoserver解析元数据获取图层相关参数
2、通过GetCapabilities接口解析元数据。元数据是xml格式的,在JavaScript中,可以使用DOM解析器来解析XML文本数据。需求:1、通过geoserver地址获取所有图层名称;2、加载wms服务,实现自动定位。1、调取geoserver的rest接口。缺点就是需要验证登录。方法将这个字符串解析成一个XML文档对象。为了简单起见选择第二种。通过请求获取XML数据的字符串。方法找到名为'节点名称'的元素,并通过。属性获取其文本内容。
2024-10-24 20:28:13 312
原创 记录一个前端axios传参格式的问题
今天改造一个其他系统的页面,直接把原来系统的接口拿过来复用,发现怎么传参都报400,地址参数都一样,怎么就报错了呢,报错原因大概是后台无法解析出参数(后台属于其他平台,无法测试)。对比出不同后,我就把对象和字符串都试了,发现并不起作用。首先想到的应该是header里面的参数问题,编码或者类型,但是都试了,跟原页面请求头保持一致了,还是不行。1、设置header中的Content-Type为text/plain。哦,原来是原始数据格式。咱底子薄,不懂就搜。
2024-06-25 15:08:30 374
原创 arcgis api for javascript点击获取要素错乱的问题
咋一看是没问题的 ,怀疑是点击点缓冲的问题,但是把文档翻了一遍,并没有此设置参数。于是想到了是不是图形本身的问题,因为是矢量图形,样式也是作为要素的一部分的。回头看了一下,明明是线要素,为什么要用simple-fill呢,关键把填充色的透明度设置成0,根本看不出效果。今天帮同事看了一个前端地图点击的问题:点击时总会获取到周边的图元,即使我点击线的周围,也是能获取到的,除非离得特别远。这里看出它样式绘制并不受你原始图元的影像,没有限制的情况下,一旦乱用,虽然能达到效果,但是会引发其他问题。
2024-05-30 16:17:54 487 1
原创 arcgis engine开发调用gp工具参数无效和工具权限的问题
为了保证gp工具的顺利使用,只能去除esriLicenseProductCodeArcServer权限,至于打开shp的问题,采用了这位老师的第二个方法,先默认打开一个gdb文件。于是我一个一个去验证,还真发现esriLicenseProductCodeArcServer加了以后不行,但是你不加它,shp数据操作类又没权限。最近在写c#小工具的时候,发现调用arcgis gp工具时代码老报错:对COM组件的调用返回了错误。后来去搜索,可能确实是权限的问题。试了各种写法,终归无效。HRESULTE失败。
2024-05-20 11:53:39 406
原创 nodejs连接oracle批量更新数据测试
这里只是简单测试,其实速度快慢比较大家想都能想出来,程序块执行速度肯定是最快的,因为我们把更新压力转移到数据库内存里去了;批量更新比逐条更新也快了很多,不过只适合固定更新字段的。为了灵活起见,可不可以把程序需要执行的sql写到程序块呢,这样直接塞到数据库中执行岂不美哉?当然可以,目前没有发现程序段的代码量有限制,不过也要考虑数据库的性能问题,哈哈。因为机器性能和更新速度问题,这里只测试更新1w数据。方式1:nodejs代码程序块更新。方式2:nodejs代码逐条更新。方式3:nodejs代码批量执行。
2024-04-25 11:32:43 436 2
原创 arcpy一些常用的数据处理类
python在GIS数据处理中扮演者很重要的角色。很多时候比我们使用Arcmap工具和二次开发方便很多。尤其是处理批量数据的时候。
2024-03-23 13:03:58 246
原创 arcmap相交工具带来的困扰
最一开始考虑的是程序,通过空间相交的方式,结果发现效率太低了。然后考虑直接对图层做相交,对相交后的结果分组。可能因为三角网坐标的问题,相交写入要素过程中报错了:arcmap无法绘制,输出的结果为空。尝试将文件放入一个gdb中,能够执行成功。这段时间做一个分析工具的时候,需要在上百万的点的基础上建立三角网,并且将这些点的唯一字段和坐标挂接到三角网面中。虽然比相交工具慢了些,但是没有出现挂接不上的问题。紧接着第二个问题产生了:部分面和顶点相交不到。换了几台机器并且设置不同容差,都未解决。
2024-03-23 12:40:55 940
原创 geotool解析shp文件org.locationtech.jts.geom.Polygon报错问题
最近在研究利用geotool制作专题图的功能。其实geotool是包含JTS库的,不需要另外引入了,在pom文件中找到该依赖,删除即可解决。原因就是geotool版本和JTS版本不匹配。
2023-12-28 14:07:34 856
原创 arcgis更改服务注册数据库账号及密码
方式太麻烦了,需要安装ArcGIS Server Manager Upload Patch,版本太低还的各种配置。最近服务器数据库密码换了,gis服务也得换下数据库连接密码。其实如果服务器在你本地,直接用arcmap直接可以修改。右击->选择服务器属性->数据存储->编辑按钮。首先在catalog里连接到gis服务器。
2023-12-17 21:09:28 551
原创 arcgis图层样式应用geoserver问题
前段时间有这么个需求,需要把土地应用分类的图层发布到geoserver,图层样式在arcgis已经配置好了。遇到的问题:符号库带有图片svg的样式 qgis无法识别、部分样式在保存sld时报错。没有最合适的办法,只能将一部分符号换成单一样式了。有类似经历的大佬,麻烦给个指导。2、利用开源插件ArcMap2SLD直接将mxd样式导出sld文件。遇到的问题:导出部分svg符号程序直接崩了。
2023-12-14 18:46:26 583
原创 ARCGIS SERVER WMS、WFS服务添加过滤条件
filter= mc 山海天 我们知道geoserver中的wms,wfs过滤参数为cql_filter。如果是多条件and或or ,需要使用、标签。
2023-11-08 14:49:09 894
原创 cesium开发引入方式及token的解决办法
外部引入的话需要提前去下载开发包,下载完后,Build文件夹有两个文件夹:Cesium和CesiumUnminified,Cesium是压缩版的,CesiumUnminified是未压缩的,如果自己学习调试可以用未压缩的;如果是项目建议用压缩的,体积小,网络请求快。无独有偶,引入无非两种方式:外部标签引入和import导入。两者项目结构和位置有所差别。
2023-10-27 13:46:19 1019
原创 cesium 实体无法拾取
因为viewer.scene.pick()只能获取一个对象,并且是最顶部的对象。暂时不清楚这样的渲染原理,如果不给实体高度,渲染感觉就会糊在一起。解释下为什么给填充色透明度为0:如果你不设置填充色或者直接用polyline实体,这样你是无法实现点击范围面的效果,只能点击边界线,很显然,对用户不友好。如下图,功能要求展示范围边界,以及楼栋拉高实体,并且范围和楼栋都可以点击。在确实方法没问题后,我们说一下特定场景拾取不到entity的问题。以上加载完后,发现无论怎么点击,获取到的都是边界实体。
2023-10-26 16:31:19 725
原创 arcgis js api FeatureLayer加载时返回数据带*问题
查询FeatureLayer属性,并没有像Query接口的精度参数geometryPrecision,直接设置又不起作用。个人感觉像是server版本的问题,具体不清楚,pg数据库里面的shape点集合坐标点的精度是8,但是server服务查出来的默认都十几位。所以存在一个精度转换的问题,原来其他的server服务都没有出现过,唯独某个项目总是有*号,不知道大家有没有遇到过。原因FeatureLayer是矢量渲染的,也是走的查询接口,返会结果有特殊字符,地图肯定无法渲染。查了一下,果真有“*”。
2023-10-24 20:09:50 739
原创 安装Ubuntu玩玩
(1)和 CentOS不一样,Ubuntu默认没有安装 sshd 服务,需要安装ssh。闲着没事儿,装个linux系统玩玩。听说乌班图系统比较火,那咱就玩玩这个。2、下载完后用虚拟机一键式安装。1、下载一个比较小的系统。4、通过xshell远程。
2023-10-13 17:46:28 155
原创 postgresql分区表
不同的是pg是以子表的形式创建的分区,我们可以单独去查询或者增删改这个子分区表,不过实际上这个表在数据库对象里是看不到的,他依然属于主表的结构类型。这里我对区县字段创建了分区表、分区子表,并抽取单独一个区的物理表,原始总表数据,把数据插入后,保持同样的索引结构,对这四个表进行查询测试。当我们数据库表数据量比较大,查询经常根据特定字段划分,比如时间,区县,这时候可以考虑采用分区表来提升查询效率和减轻对数据库的压力。3、查询分区子表 考虑到缓存问题,多次测试后用时4s-5s左右(带不带查询条件都一样)
2023-08-31 19:04:03 959
原创 arcgis的MapServer服务查询出来的结果geometry坐标点带*的问题
一开始有同事遇到过,说重新插入下就好了,有时候确实能解决,但是有时候这个*还会出现在其他要素里。最终在某一次“净手”过程,灵感突然,对比一下与数据库的数据,明显精度不一样吗,说明服务接口肯定做了转换!程序员就这样,找bug不要一个方向,一头扎,起身呼吸呼吸新鲜空气,在痛痛快快“净手”一下,或许灵感就突现了!于是设置跟数据库一样的精度(数据库里精度是小数点8位,所以设置8),问题完美解决。不知道小伙伴使用arcgis server服务做查询的时候,有没有遇到下面的问题。欸,看吧,服务有精度的设置!
2023-08-28 13:46:18 371
原创 arcgis+postgresql+postgis使用介绍
众所周知,arcgis如果在oracle中创建地理数据库,必须要使用ArcToolbox里面的地理数据库工具去创建,在里面发现它还可以创建sql_server, postgresql数据库类型,于是我按照arcgis,pg对应版本去弄了一下,并且复制desktop扩展插件到pg中,始终没有创建成功。(注:它这里介绍10.4版本对应的数据库是9.2以上,我自己9.1的数据库也没问题,可以正常链接和使用,但是链接pg11版本的就不行,说不严格也严格,所以尽量按版本去选择)下载后一键式安装就行,具体过程看这个。
2023-08-25 11:42:47 1141
原创 postgresql基于postgis常用空间函数
1、ST_AsGeoJSON 图元转geojson格式。6、st_geometry 文本转二进制。2、 ST_Transform 坐标转换。3、st_astext 图元二进制转文本。7、ST_Intersects 求相交。4、st_srid 查询数据表坐标系。如果为0的话那就没有坐标系。8、表转geojson数据。
2023-08-23 16:19:09 1821
原创 turf.js——一个轻量级的GIS数据操作神器
简单介绍一下turf.js:它是一个网页版的空间分析库,主要对geojson操作,计算点、线、面距离,面积,相交,裁剪,简化,平移,缩放,旋转等等功能(只有你想不到,没有它做不到)。2、数据量比较大的时候,不适合做运算。因为GeoJSON 不支持空间索引,这种还的通过服务。1、坐标系是地方坐标系的请绕道;
2023-08-23 15:26:43 451
原创 超图服务设置token及使用
1、如果只引入openlayer和 iclient-ol,我们循环去把每一个服务注册一次就好了。不管是加载地图服务,还是数据服务的查询接口,都能够正常使用。2、如果只引入了cesium和SuperMap.Include,服务和查询接口都需要注册。3、如果上面两个项目中都有,那就需要都注册,原型SuperMap污染的问题就不赘述了。二维的可以先看下超图官网的例子。
2023-08-22 16:21:19 613
原创 项目中超图 for openlayer和超图for cesium同时引入的问题
这些包主要内容是超图针对自己服务封装的一些查询,加载,渲染功能。在项目引入时我记得当时必须是先引入二维的,如果先引入三维的,二维的功能会被污染掉,因为他们都是挂在window.SuperMap这个原型上。二维里封装的服务查询接口GetFeaturesBySQLService,默认返回格式是geojson格式,并且是post请求,亲测数量大的时候较三维的慢很多。一个项目中同时用到了超图的openlayer和cesium版本,首先我是外部引入的超图的开发包,你要是通过npm导入的那就没关系了。
2023-08-22 15:36:07 961
原创 五、OpenLayer点击查询
这种矢量图层属性信息是直接存储在前端的canvas里面的,我们可以直接获取到它,前提是你在添加要素时已经动态给他赋值上(properties属性,上一节图层介绍有注释)或者添加的geojson格式对象的数据,否则点击获取的也是空对象。这种是栅格图层,理解为就是图片,属性信息是没有存储在前端的。比如arcgis server, 超图的iserver,都提供了空间查询的服务接口,需要自行去拼接参数请求获取对应数据。这块其实要分多种类型,因为不同图层和服务获取属性信息的方式和地址也不一样。
2023-08-21 11:24:48 640
原创 四、OpenLayer图层样式设置及图层控制
样式设置一般都是矢量图层vectorlayer。我喜欢用这种回调函数的方式设置,因为可以根据要素特定的值去灵活改变。当然也可以直接= new Style()具体的大家可以去看api文档,跟css一样有很多丰富的样式。图层控制的方法很简单,就一笔带过了。注意的是直接设置图层属性是不管用的。
2023-08-18 14:21:14 1741
原创 三、OpenLayer常用图层介绍
3、ImageLayer 影像图层 它是基于图片的图层类型,适用于一次性加载一张完整的图片来显示地图数据。wmts有些参数比较复杂,需要自己去看服务元数据的参数,比如矩阵也就是切片层级的名称,瓦片层级等。2、VectorLayer 矢量图层,这个图层主要是添加自己的绘制的一些要素。1、TileLayer 瓦片图层。一般加载切片图层(wmts,wms)是三种常见的图层类型,它们在加载和显示地图数据的方式上有一些区别。VectorLayer使用比较灵活,可以自定义样式,图层要素等。
2023-08-18 14:01:41 1226
原创 一、openlayer开发介绍
个人喜欢直接在上面直接这样定义:const Map = ol.Map;就不用加那些类名属性了。当时npm导入的话,直接就是:import { Point } from "ol/geom";3、引用cdn在线的,不推荐,毕竟在线的受网络影像,但是做做demo样例可以用。1、import方式,也就是npm安装,npm install ol。首先需要引入openlayer api开发包。下载后直接放入本地项目,在html文件引入即可。可以直接这样用:ol.Map,ol.layer。里边有源码,有打包的文件。
2023-08-18 11:12:42 1212
原创 记录一次arcgis engine开发版本引入问题
后来分析引入不对无非三大版本对不上:arcigs、vs、程序.net框架。发现arcgis 10.7对应的.net框架早已在4.5以上了。而程序还是4.0.于是换了运行框架,完美运行。之前基于arcigs 10.1+vs2013开发的程序,现在拿出来要改,但是目前版本是arcgis10.7+vs2017/vs2019,打开后无论如何替换引用版本,都报错。
2023-08-16 10:00:59 1099 3
原创 element ui时间选择器el-date-picker关于日期禁用disabledDate的使用
发现始终不触发disabledDate,不会走进禁用的方法。寻思再三后,看官网介绍它并不是组件的Attributes。这时候我们过多选择的是elment ui里面的el-date-picker组件,但是又嫌弃人家原始的这个丑陋。个人推介第一个,符合我们日常的逻辑。
2023-08-09 13:37:14 4293
原创 nginx 设置proxy_set_header Host无法访问代理地址
设置这个请求后, localhost:prot 跳转不到这个地址,但是去掉就可以正常访问。记录一个问题,没想明白咋回事儿, 如果有大佬知道,麻烦告知一下。
2023-08-03 13:56:54 435 1
原创 linux下nginx操作命令
1、实际项目部署中有多台服务器,一定要注意nginx部署在哪台。使用systemctl status nginx.service查看运行状态。ctrl + i 命令行输入 wq!
2023-08-03 12:29:40 491
原创 Vue request接口get请求正常,post请求失效,一直处于pending状态
在做项目中,我们要是自己搭建一个vue项目框架需要耗费很多时间。所以很多时候方便快速开发,直接利用网上的各种框架。最近在网上下了一个vue2模板项目,在开发过程中利用它封装的request方法请求接口过程中,发现一个post接口请求一直响应超时,但是在postman上测试接口,数据能正常返回,奇怪的是get请求也能够请求成功,说明代理配置上也是没问题的。但是我看request方法里面格式也没做处理啊,寻思一翻最终想到这个罪魁祸首mock。两种办法,再次处理返回数据格式和直接注释mock引入。
2023-08-02 17:50:56 2195 1
原创 vue使用$mitt注意事项
众所周知,vue--Mitt是全局事件的发布和订阅与取消订阅(也就是跨组件通讯)。但是在使用过程中注意销毁。因为当你跳转其他页面,即使当前组件已经销毁,但是触发事件依然存在。所以很多时候,我们关闭当前组件,再次打开的时候还会注册一次,这时事件就会触发两次,而上次组件实例已经销毁,方法内有this的问题就会报错。所以使用时及时销毁它。
2023-07-28 10:39:49 387
原创 openlayer 矢量图层刷新的问题
以上示例代码的场景是当我们改变图层样式或者改变要素时,去刷新重新渲染图层。什么是服务数据呢,就是有url地址的数据。以上我是直接把要素塞到source里面,当被清除时,并没有可用的数据服务地址去载入请求。注意一下:url是请求的地址,不是静态文件资源,所以vue中,不能像图片通过import导入后给他赋值,数据是请求不到的。所以如果是features加载,刷新图层后必须要重新加载下要素,原理就是clear()在后addFeature()。以下代码刷新是没问题的,因为数据是通过url地址请求的。
2023-07-23 13:35:41 1361
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人