- 博客(199)
- 资源 (15)
- 收藏
- 关注

原创 C#清除实例绑定的事件
背景: 在地图上创建要素离不开地图绑定的MouseDown事件,由于创建点和创建线绑定的MouseDowm又不一样。 我切换按钮时去除了事件的绑定,但是他不切换按钮而是切换了编辑图层(可能从线编辑到点编辑、也有可能是从点编辑到线编辑),编辑后我们希望上一个MouseDown销毁。 (1)找到不得MouseDown手动写代码移除,如: axMap.MouseDownEvent -= MapEve...
2020-11-03 16:37:31
3201

原创 C# MapWinGIS load MBTiles(数据由TileMill软件生成)
希望可以帮到道路上的人,也希望大家可以多多交流,互相学习(私信可交流或者评论留言)。开发中遇到影像比较大,影像地图刷新1.用MapWinGIS加载WMS(geoserver)无果,map是地图控件,始终加载看不见图像,希望有人研究成功可私信交流或者留言,如果不能及时回复请耐心等待。/// <summary> /// 加载wms /// </summary> private void AddWmsLayer() .
2020-10-19 17:57:42
940
1
原创 Cesium 指北针、导航罗盘、缩放按钮
这两个文件是自己为了适配自己的代码重新进行编译过的(Cesium挂载在Windows下,通过引入。这两个文件来实现指北针和导航罗盘、缩放按钮;其中对视角还原进行了扩展,实现了视角。进行编译适配自己这边的代码。在html文件中引用。
2022-10-13 12:02:51
3356
原创 Cesium 初始化慢优化
原因:看过源码后发现,其实Label就是将文字按照对应格式渲染上去后转成了一个Image然后绘制上去的,去掉Label后就会发现Cesium加载速度会变快,提高很多。解决:按需加载Label,设置Label显示高度,当界面缩放过去后设置范围内Label开始初始化加载。该文章会持续更新,对Cesium加载优化原因进行查找解决。
2022-09-26 11:10:27
2874
原创 Openlayer设置地图不可旋转 Uniapp
遇到问题:在Uniapp中集成Openlayer,在操作中并不想让用户去控制地图的旋转,在文档中找到设置地图不可旋转的设置,这里个人记录一下。
2022-07-11 14:43:26
2468
原创 Openlayer添加聚合点图层
官方文档文档链接传送门https://openlayers.org/en/latest/apidoc/module-ol_source_Cluster-Cluster.html核心代码:还有许多参数可查看上述官方文档 let cluster = new Cluster({ source: vectorSource, });加载代码:AddClusterPointLayer(id, geojson, img, type = "top") ...
2022-05-13 17:53:34
547
原创 HTML+CSS绘制一个旋转的盒子
实现原理:在大盒子里面设置两个叠加在一起的盒子(绝对定位,和父盒子一样大小),设置其中一个盒子沿着Y轴旋转180°至背面,css设置背面不可见,然后旋转父盒子实现切换。这里做了一个动画,也可以使用transition来实现。实现代码:<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compa..
2022-05-13 11:08:54
3417
原创 Cesium实现地图反选遮罩
实现原理:绘制一个面(遮罩范围)中间挖出我们需要使用的区域,然后把这个面设置成遮罩层,如上图所示:实现代码:范围可自行定义控制AddConvertLayer(points) { let cs = Cesium.Cartesian3.fromDegreesArray(points); let hole = new Cesium.PolygonHierarchy(cs); this.viewer.entities.add({ name: "conver...
2022-05-12 14:16:59
2076
2
原创 HTML+CSS3实现扩散圈动画
实现原理:一个扩散圈整个为一个大盒子 中间有一个小圆点 周围有扩散的圆圈(利用动画来实现,通过控制每个小圆圈的动画延迟来实现扩散效果)代码:!important关键词可以提升样式权重<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=ed...
2022-05-11 16:52:38
3329
原创 CSS3 盒子设置border和padding不撑开盒子
普通的盒子模型我们设置border会将盒子撑大<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scal
2022-05-05 15:54:09
6755
2
原创 JS 将对象修改为驼峰命名
案例(主要用于识别“_”下划线):o_type-------->oTypen_type-------->nTypeexport function ToHump(name) { if (name.includes("_")) { let oarr = name.split("_"); for (let i = 1; i < oarr.length; i++) { oarr[i] = oarr[i].charAt(0).toUpperCase()
2022-04-29 11:30:37
876
原创 HTML+CSS设置文字溢出显示省略号(单行/多行)
单行1. 设置文字单行显示white-space: nowrap;2. 设置内容溢出隐藏overflow: hidden;3. 设置文字溢出部门显示省略号text-overflow: ellipsis;多行1. 设置文字可换行显示white-space: nomal;2. 设置文字溢出隐藏overflow: hidden;3. 设置该块中文字可显示五行-webkit-line-clamp: 5;4. 设置或检索伸缩盒子对象的子元...
2022-04-24 11:41:20
1137
原创 HTML+CSS清除浮动
为什么需要清除浮动?父级没有高度 子盒子浮动了 影像到下面的布局,我们就应该清除浮动使用场景:假设我们要放很多盒子(不确定数量),这样就无法确定盒子的高度。如下图,设置蓝色盒子高度后,假如子盒子(浮动)数量多换行后显示到盒子外面去了,这样不是我们想要的结果,我们想让蓝色盒子来自适应高度。去掉高度设置(蓝色盒子的高度为0了),没有给父盒子高度,子盒子浮动不占有位置,最后父级盒子的高度就会为0,就会影响下面的标准流盒子。由于浮动元素不再占用原文档流位置,所以它会影响后面的元素排版。清.
2022-04-18 17:59:26
799
原创 NPOI 获取单元格背景颜色RGB
获取方法 public static List<(string, byte[])> GetCNamesWithColor(string path, int sheetIndex = 0, int fieldRowIndex = 0) { //列名 List < (string, byte[])> result = new List<(string, byte[])(); /
2022-04-13 17:25:48
2071
2
原创 通过行政区划搜索POI兴趣点(天地图)
参数说明:keyWord:关键字 code:行政区划代码 key:天地图key evt:回调事件 GetPoisByRegionCode(keyWord, code, key, evt) { let url = `http://api.tianditu.gov.cn/v2/search?postStr={"keyWord":"${keyWord}","queryType":12,"start":0,"count":10,"specify":"${code}"}&type=qu
2022-04-13 11:24:45
1325
原创 通过关键字查询地理坐标(天地图)
参数说明:ketWord:关键字key:天地图keyevt:function 回调函数 GetXYByKeyWord(ketWord, key, evt) { const url = `http://api.tianditu.gov.cn/geocoder?ds={"keyWord":"${ketWord}"}&tk=${key}`; axios.get(url).then((res) => { const xy = { x:..
2022-04-13 11:10:00
1748
原创 Cesium 范围Bound获取(多边形wkt、xys、当前范围)
WKT WKT转XY点数组 /** * 将wkt转换为 X,Y,X,Y结构的数组 * @param {string} wkt 多边形的wkt * @returns */ WktToXY(wkt) { const coors = []; const xyzs = wkt.substring(wkt.indexOf("((") + 2, wkt.indexOf("))")); xyzs.split(",").forEach((e) => { .
2022-04-13 11:02:51
4284
原创 Cesium 设置实体要素闪烁
设置要素闪烁://id-要素实体id,second-闪烁时间SetEntityFlicker(id, second) { let entity = viewer.entities.getById(id); if (!entity) return; let x = 1; let flog = true; let fs = []; let callback = new Cesium.CallbackProperty(() => { ...
2022-04-13 10:56:04
1756
原创 Vue MapTalks环境搭建
环境说明: 1. Vue 2. 执行 npm install maptalks安装依赖包地图组件(测试可用)<template> <div> <div id="mainThreeJsContainerDiv"></div> </div></template><script scoped>import * as maptalks from "maptalks";...
2022-03-18 10:33:01
1693
原创 Openlayer 切换鼠标样式
this._map是Openlayer地图对象CursorDefault() { this._map.getTargetElement().style.cursor = "default"; } CursorHelp() { this._map.getTargetElement().style.cursor = "help"; } CursorPointer() { this._map.getTargetElement().style.cursor =..
2022-03-14 13:43:07
3225
原创 C# 保存Json文件保存过大导致System.OutOfMemoryException:“Exception_WasThrown”
原来的代码:一般大小的可以输出导出json文件,但是遇到过大的对象导致jsonStr字符串特别大就会出现上述问题。//json为一个对象string jsonStr=JsonConvert.SerializeObject(json).ToString();//保存文件System.IO.File.WriteAllText(string.Format("{0}\\{1}.json", dir, "test.json"), jsonStr);改进后的代码:JsonSerializ.
2022-02-17 15:41:03
4278
原创 swagger 解决文档大写变小写
添加位置截图复制内容:services.AddControllers().AddJsonOptions(config => { //解决文档中样例参数说明中参数首字母变小写的问题 config.JsonSerializerOptions.PropertyNamingPolicy = null; });...
2021-12-21 11:05:29
3149
原创 Vue 扩展Element UI 组件
环境 (下图是我本机安装得Vue和Node版本)扩展安装Element-UI 1.执行npm install element-ui 2.设置 main.js 文件引入 (这样就扩展完毕了) import elementui from "element-ui";import "element-ui/lib/theme-chalk/index.css";...
2021-12-13 15:09:11
1994
1
原创 NetTopologySuite 读取Shapefile 字段数和value不匹配
BD上的代码:public static FeatureCollection ReadShapeFile(string pathName) { FeatureCollection featureCollection = new FeatureCollection(); GeometryFactory gfactory = GeometryFactory.Default; ShapefileDataReader dat
2021-12-07 14:40:43
1145
原创 netcore api 接口(控制器Controller)设置不开放
背景: 接口中有导入数据或者本地开发人员调试的接口,并不希望用户看到这些接口后产生一些误操作。解决办法(设置接口或者控制器仅在Debug下才有,发布打包选择Release版本):在Release版本下有[NonController]特性标识,就看不到接口了[NonAction] 设置接口不可见...
2021-12-06 16:21:21
1057
原创 NetCore AutoMapper(可自定义)
扩展帮助类对象: /// <summary> /// AutoMapper扩展类 /// </summary> public static class AutoMapperExtension { /// <summary> /// 对象映射 /// </summary> public static TOut MapTo<TIn, TOut&...
2021-11-29 14:20:37
497
原创 Cesium 获取简单的XYZ平移矩阵 Matrix4
加载倾斜的时候发现要去平移倾斜到指定的位置上需要进行平移变换这里使用了简单的平移方法(XYZ方向上)参数描述:layer:Cesium.Cesium3DTileset图层 offsetX:X方向上的平移 offsetY:Y方向上的平移 offsetZ:Z方向上的平移 let tans = Cesium.Matrix4.fromTranslation( new Cesium.Cartesian3(offsetX, offsetY, offsetZ),..
2021-11-29 10:28:01
2640
原创 Redis 简单安装部署
Redis下载地址方式一:下载安装包直接安装1.双击安装2.添加Redis至环境变量3.添加通过防火墙(后面点击next即可)5.安装完成后可以发现,这种方式安装会帮我们自动添加至windows服务。6.验证安装是否成功方式二:下载redis文件解压至安装目录进行配置。1.下载文件2.解压至安装目录3.启动Redis顺序(redis-server.exe--->redis-cli.exe)测试Re...
2021-11-25 13:14:41
796
原创 C#验证输入数据是否带有sql入侵语句
/// <summary> /// 判断输入数据是否带sql入侵语句 /// </summary> /// <param name="strWhere"></param> /// <returns></returns> public static string JudgeIsExistSql(this string strWhere) {.
2021-11-25 10:58:48
817
原创 C# 文本文件Base64的加密解密
调用方法://加密string value = EncodeBase64(Encoding.UTF8, xmlValue, code);//解密string txtValueDecry = DecodeBase64(Encoding.UTF8, txtValue, code);方法:/// <summary> /// Base64加密 /// </summary> /// <param name="cod
2021-11-25 10:54:45
1512
Geoserver2.15.0 Sqlserver扩展包.zip
2020-12-15
Space.GISParaMeterTransform.zip
2020-07-27
Sqlite数据库的扩展Spatialite空间数据(.NET)
2020-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人