完成高德底图
完成拖入gpx文件显示轨迹
完成基本的轨迹图层列表
完成日志显示
完成点状速度图的显示
速度图新增滤波后的折线图显示
新增鼠标在速度图上移动时会显示辅助线,显示时间和速度标签
新增鼠标在速度图上移动同时会在地图上选中对应的点
修改打开时文件列表为展开状态
新增自动加载上次打开过的轨迹
当鼠标在速度图上滑动时,地图上会高亮从开始到该点的所有点,而非一个点
修改当选中一个文件时,轨迹在地图上的显示能够保证在最上层
修改文件只能选中一个
新增支持多轨迹的Gpx文件
新增导入文件后自动选中最后一个
基于时间的图表大改版
- 支持了多坐标系统
- 修改了绘制系统的方式,改为自定义Action
- 支持了自定义控制网格间隔的阙值
- 改为使用BorderSetting来设置坐标
支持了绘制高度的面积图
基本完成左侧的信息列,有Gpx信息、轨迹信息、轨迹点表格
修复了部分因为没有时间信息导致闪退的BUG
图表的ToolTip新增高度显示
新增轨迹点表格选中和地图点的联动
在编写“地理轨迹工具箱”的时候突然想做一个能下载地图的软件,在回家的途中找了一路的高德地图瓦片号转换公式,试验了无数次,终于成功
完成了基本的选区下载
基本完成HTTP服务器,可以作为离线服务器使用
基本完成下载后的地图的拼接
设置项:Url、下载目录、覆盖文件
完善各种小细节、错误报告、状态显示等
新增图标
修改为左右两列布局
将选择区域移动到地图区域右下角,改为公共按钮
新增打开目录区域
新增“本地地图”功能
修复了因为图片过大报错无法正常报错的BUG
新增支持切换格式
新增在Url输入框敲回车键就能刷新地图
新增下载的UserAgent防止被Ban
新增导出拼接图时同时保存投影信息
修复了部分控件在处理时没有被禁用的BUG
修改了标题
修改最大缩放从18到20
修复了坐标数据异常时点击计算数据闪退的BUG
框选模块改为arcgis自带的,更加好用
瓦片地址文本框改为表格,方便选取
修复了不能增加瓦片地址的BUG
修复了删除瓦片地址会导致闪退的BUG
修复了更改选框后已经设置的等级范围会重置的BUG
修改了下载进度条上的标签格式
新增了请求超时的配置项
修复了当存在大量已存在文件时更新UI导致运行缓慢的BUG,1秒20个=>1秒1万个,原因是改用了异步通知
新增当服务器时若碰到请求不存在的资源则返回预先设定的“无此图像”图
新增了下载超时的配置项
取消了底部标签栏
新增超时设置UI
修复了因为鼠标抬起事件早于框选结束发生导致获取的下载区域不正确的BUG
新增下载时在地图上同步显示正在下载的区域
修复了侧边栏收起后仍然占位的BUG
考完地图学,突然就没事了。于是,就把“瓦片下载拼接器”直接拷贝了一份,改了点东西变成了这个。
开始尝试,可以画了。
完成点、线、面的绘制和保存
完成选择部分
完成删除功能
完成基础的编辑功能
完成撤销/重做功能
新增真正的多点
新增图形列表,相同形态的图形为一类,含隐藏/显示按钮
新增要素数量显示
新增启动时自动删除要素数量为0的shp文件
新增删除图层功能
新增“点转面”功能
修复了打开程序时某些图层错误显示图层不可见的BUG
新增复制要素到另一样式的功能
新增选择样式时样式设置区自动应用选择的样式
完成导入导出功能
修复了删除一个样式后闪退的BUG
修复了选择时若未选择任何要素会导致闪退的BUG
修改了整体逻辑,以文件名为key,样式保存在config文件中。
修改了样式设置逻辑,若选中了一个样式,则编辑该样式;若没有选中,则编辑默认样式。
新增可修改样式标题
修复了有时修改颜色无效的BUG
修复了刚刚创建新的样式时选中会闪退的BUG
将线转面功能对整体逻辑的修改做了适配
修复了选择按钮第二次使用时失效的BUG
修复了点选时会选到所有Extent包含该点的要素的BUG
将配置文件移动到数据文件夹中,这样导出时可以把样式和配置一起导出
新增复制部分要素到其他要素中
完善选择的逻辑,按钮的IsChecked属性表示当前是否有被选中的要素
StyleCollection改为单例模式
精简逻辑,删除了Config中的shapefileStyles,仅剩一个Style集合,作为单独文件保存在数据文件夹,配置文件重新保存到程序所在目录
新增支持反选
新增Enter完成绘制或开始上一次相同模式的绘制,Esc退出绘制并丢弃已绘制内容
新增切割功能
编辑时新增SnakeBar
完善了编辑的代码逻辑,方便增加新的编辑模式
新增启动后自动选中第一条并缩放到边界
新增样式图层拖放改变顺序功能
新增面的右键菜单显示周长和面积,线的右键菜单显示长度
新增选择时按Esc清除选择
将仅与单个样式有关的按钮功能移动到菜单中
修复了拖放样式列表项时,若没有改变顺序,选中的样式会取消选中的BUG
修复了开始选择后使用点选且未选择到任何要素使草图编辑器没有正确停止导致再次开始选择时闪退的BUG
修复了在没有选中样式或选中的样式不可见的时候也可以选择要素的BUG
修复了按住Ctrl时会重复选择同一要素的BUG(SdkBUG,暂时使用转换为json比较图形是否一致来解决)
修复了当仅按Alt时会优先认为非复选导致反选失效的BUG
为了统一界面,同时解决左栏被禁止时撤销恢复也被禁止的问题,编辑、选择、绘制界面都新增操作顶栏,代替SnakeBar和右键菜单
手动将地图图层与Style绑定,防止混乱的加减操作
修复了编辑时左侧控制栏仍然可以操作的BUG
新增支持导入Gpx格式
新增缩放到图层
完成逻辑的修改,改为基于图层绘制,不可再在未选中任何样式时绘制
修改为需要图层图形类型与绘制类型相匹配
修复了非点击按钮结束绘制后按钮仍按处于按下状态的BUG
晚上完全重新设计了绘制的按钮,每个类型改为一个主按钮和箭头可以呼出的菜单,同时只显示一个按钮
重新设计了选择按钮,改为圆形普通按钮
新增空格键与回车键相同功能
新增选择后的取消按钮
删除了左侧的撤销重做按钮
新增启动时自动选中关闭时选中的样式,而不是总是自动选择第一条
修复了导出地图后要素不能正常显示的BUG
新增删除节点按钮
修复了取消绘制后不能操作样式列表的BUG
修复操作栏上的按钮禁用时,图标仍然白色显示的BUG
完善了样式列表的CheckBox样式一致性,修复了静态点线CheckBox不响应IsEnable=False的BUG
修复了当要素为0时查询边界闪退的BUG
新增简单的显示标签功能
为了能够更加自定义化,将空shapefile资源移植当前项目中
修复了没有样式时无法新建样式的BUG
新增右侧设置面板
修复了修改样式名的时候疯狂报错的BUG
将标签的输入位置改为编辑栏,使其可以在编辑时更改
新增在编辑图形时按Del可删除选中的结点
新增标签样式设置面板(部分代码来自《智慧林工Pad》Windows端的《图层属性编辑器》)
修改了样式设置区域的布局
优化导入逻辑,不再需要重启程序来应用样式
新增开始绘制或编辑以后自动将焦点移动到标签输入框
修复了导出样式前不会自动进行保存导致图层顺序等无法导出的BUG
新增标签开关
新增瓦片地图切换
新增导入导出图层包
新增导出截图
删除了右下角“Powered By Ersi”的标签
新增支持同时加载底图的多个图层,一行一条URL
新增坐标系统转换,暂时支持WGS84、CGCS2000、GCJ02互转
修复了判断shapefile附属文件的时候仅使用文件名判断而不判断是否为shapefile的扩展名的BUG
修复了重命名样式后样式的索引会改变的BUG
新增导入Shapefile文件
修复了线转面闪退的BUG,改名为缓冲区
取消了在绘制时的静态线功能
修复了创建样式副本时标签的样式不会被复制的BUG
修复了创建副本时对话框无法关闭,即无法取消操作的BUG
新增点和多点的建立缓冲区
修复了某图层加载失败但仍然出现在样式列表上的BUG
新增要素的“时间范围”功能,可以设置一个日期属性,然后设置样式的时间范围,即可仅显示指定时间内的要素
新增支持拖动更改左侧区域大小
新增样式列表的滚动条
修改导入shapefile逻辑,改为复制可用的图形和属性到新创建的图层中,防止不匹配shp被导入
修复了选中面要素后操纵栏不显示面积周长的BUG
新增合并面、线功能
修复了按空格或回车后执行上一次绘制时,若类型改变,仍然执行上一类型绘制的BUG
移植后的整理工作
新增识别轨迹功能
新增识别点以后图表显示线
修复了计算速度时若存在选中项则闪退的BUG
新增选择点列表里的行时,图表也可以响应
决定不给予轨迹点的修改功能,仅支持修改元数据
新增高层偏移
新增导出
新增导入和清空文件列表按钮
新增连接功能,例如:头尾连接、头头连接等
修复了重新编辑时,若按Esc会导致当前正在编辑的要素消失的BUG
修改“底图为GCJ02”为“底图坐标系”,可选三个坐标系
修复了切割时会出现属性条的BUG
修复了更改图层的可见性后,绘制按钮的启用属性不会改变的BUG
新增“反转”
新增“加密”
新增一个图形的导出到Csv功能
修复了设置时间范围会卡死的BUG
修复了默认底图仍然是高德的BUG
新增建立副本功能
新增对话框按Enter自动确定
新建副本时,改为类似于原文件名 (2)的新文件名
新增弹出数字输入框时自动选中全部,默认值改为5
新增导出多个图形的Csv
新增导入CSV表格生成图形
新增在样式列表发生增减移动时自动保存
新增“删除部分点”功能
新增退出时保存画面视角、下一次打开时自动缩放移动到该视角的功能
修复了在读取样式集合配置文件时每加一个样式就会保存一下、导致若加载失败就会丢失部分样式的BUG
修复了要素在仅有一个图形且没有面积时缩放到图层报异常的BUG
修改新建图层副本且包含图形后隐藏原图层
为所有对话框写了公共父类,统一样式、方便管理,修改为工具窗口样式、不显示在任务栏
为“导出到CSV”增加了异常捕捉、成功提示和打开按钮
导入新增“支持的格式”过滤器
将IO操作分为了对图层的导入导出和对图形的导入导出,入口分别在主界面样式表下和样式右键菜单
样式的“从CSV导入”改为“导入”,并增加了导入GPX到已存在的样式的功能
修复了导入GPX对话框不可取消的BUG
导入GPX文件到已存在的样式后新增点击跳转视角到该轨迹
修复了导出时因为之前增加的央视列表更改自动保存的功能导致的样式列表为空的BUG
开始编写唯一值渲染器部分,基本完成后台代码、逻辑的修改,未动UI
基本完成唯一值渲染器部分
将FzGeographyLib修改成GIS库,并基本完成移植
修复了文件列表过长时会被截断的BUG
修复了在为关闭应用程序的情况下第二次以后打开### GPX工具箱不会读取历史纪录的BUG
为Gpx点增加了基本的编辑功能,包括修改坐标、修改时间、删除点、插入点
新增重置轨迹功能
基本完成连接轨迹功能
新增拖放导入Gpx、MbMPkg、MbLPkg、Csv文件
修改为可拖动更改面板比例
新增点击地图可以修改当前点的位置
修改为3D地图,并对识别点、识别轨迹、修改点的位置等做了适配
修改显示为线,但当处于选择模式时,仍然显示点
修复了一些有关点、线在选择时的样式的BUG
修改在列表中选中点以后,地图上仅突出显示选中的点集合,而不是开始到选中的点
修复了刷新后在图表上滑动时地图显示为空、地图选点闪退等的BUG
修复了一个文件都不选时闪退的BUG
修复了没有选中文件或选中多个文件时,仍然显示图表,并且当鼠标进入或退出图表时会闪退的BUG
通用
修复了一些对话框弹出时不是以当前窗体作为所有者的BUG
新增水平和垂直方向平滑功能
新增导入GPX后自动平滑功能
修复了在绘制时按住Ctrl仍然可以选择的BUG
新增恢复视角功能
新增截图功能
新增多选功能,暂时支持多选的菜单有:合并、删除
修复了坐标转换失败的BUG
新增自动生成全部分类和生成随机颜色功能
新增在选中了多个图形后,会显示可以选择某一个图形的窗体
新增多图层底图管理,支持四种类型的图层
修复了”浏览模式“按钮无效的BUG
修改日志为MarkDown
修改图表区的速度参照为平滑后的速度图
修复了图表的高度面积图和速度图有时左边和右边不能对其的BUG(巨坑)
修改点击轨迹文件后,不再会自动缩放到轨迹,除非是手动加入。并新增缩放到轨迹菜单项。
新增libs文件夹,包含所有自己添加的dll。修改package文件夹也包含到git中
新增在打开自动平滑的条件下,重置时可以选择重置为平滑后的还是不要平滑
修改图表区域的图表向两端拉伸对齐
修复了左侧工具栏收回后仍然会留白的BUG
重置功能新增支持临时开关平滑、临时开关显示高度功能
修复了拉伸对齐图表导致速度标签消失的BUG
修复了拉伸对齐图表导致标签也被拉伸的BUG
速度标签新增km/h单位
修改了依赖的自写库,使用最新修改的FzGeographyLib库,更新了相关代码
修复了取消选中“展示高度”设置项时,平滑相关设置项会被禁用的BUG
新增了导入多个GPX文件到一个图层的功能
修复了导出时不会自动加上“.gpx”的BUG
更新到ArcGIS Runtime 100.6
更新到Newtonsoft.Json 12.0.3
更新到.Net Framework 4.8
增加了“缩放到图层”时的出血线,为8个单位
修复了左侧栏与地图区域有重叠的BUG
彻底摆脱了之前的GIS库
修复了底图面板打开文件但未选择是闪退的BUG
尝试解决导出时随机闪退的BUG,这次使用的方法是先在临时文件夹建立副本然后从元shp复制所有要素后打包
左下角新增当前鼠标位置的瓦片坐标值
修改了左侧工具列,部分支持上下滚动
Url DataGrid修改为ListBox+文本框,方便修改
服务器改为使用多线程,防止经常卡死
删除了左下角下载列表,改为简单的文本显示
修改了下载的模型,删除了每一个瓦片一个数据,改为使用自定义迭代器的方式获取下一个瓦片
支持了断续下载
新增了生成后操作,用于创建快捷方式、删除无用文件夹
删除了两侧的Expander,直接使用Grid,修改相关布局
加上了之前漏掉的新增和删除瓦片源按钮
修改了一些细节,修复了一些BUG
新增错误列表
修复了无法记忆瓦片最小最大级别的BUG
支持了下载时查看地图
打开地图时若存在记录,则会在地图上自动显示范围
提升下载时复制文件的成功率
修改判断和设置下载状态的方式为枚举类型的属性,并使用绑定来显示按钮内容
修改判断和设置服务开启状态的方式为布尔类型的属性,并使用绑定来显示按钮内容
修改服务为专门的一块地方,并支持了设置端口和本地文件路径格式
修复了AfterBuild项目使用绝对路径创建快捷方式导致复制以后仍然链接到原路径的BUG
更新到了最新的被改名部轰炸后的FzLib
修复了程序界面进度条失效的BUG
新增标题显示下载百分比
修改AfterBuild项目,生成后会自动复制所有内容到App文件夹,防止目录里太混乱。数据目录仍为根目录。
修改AfterBuild项目,自动添加默认的底图和瓦片下载Url
新增底图每一项的开关
修复了未选中图层修改可见性后,不会自动保存的BUG
修复了没有选中时,拖动图层列表的滚动条闪退的BUG
修改选择图层对话框为列表框样式
改名部再次出发,Style全面改成Layer
新增在下载完成、删除temp文件夹前,显示loading覆盖层。奇怪的是,temp文件夹里会有超级多的垃圾文件。
删除temp文件夹前进行询问
新增底图不透明度选项
修改导出图层包也为拷贝要素方式,防止出现文件被占用问题
支持了导出Android端GIS工具箱的要素和样式
修改了编辑条的样式,修改为双行
修复了日期输入无法清空的BUG
修改了标签在样式文件中的存储模式,从Esri的JSON改为C#类,同时修改相应逻辑和方法
修改标签可以单独显示某个元素
修改Helper类和命名空间为Utility和Util
支持了用户界面修改下载User Agent
新增轨迹游览窗口
完成轨迹的点位放置
新增视角自动改变
新增自动插值
新增简单的控制UI
新增自动录制轨迹为png序列
更新到了最新的FzLib库
使用CodeMaid清理了代码
开始统一MapBoard.Main的UI库为ModernWpf
基本完成对MapBoard.Main的ModernWpf改造
修改了左右侧栏的布局和打开方式
新增在选择样式后,就能够预览其属性。
新增了属性集合数据结构,为以后的自定义属性做准备
新增在复制要素后,不保留原图层要素的功能
新增设置窗口
新增尝试隐藏水印功能
新增在绘制下一个图形时,保留属性功能
基本转到ModernWpf
基本转到ModernWpf
新增一些基于ModernWpf的对话框
将大部分对话框修改为了基于ModernWpf的对话框
修复了一些对话框BUG
新增垂距法和新增Douglas Peucker简化算法
完成对所有TaskDialog的替换
更新到了最新的100.11版本的ArcGIS Runtime
完成对FeatureUtility和UI的解耦
新增连接操作时可以显示所选折现头尾的功能
修复了无法记忆上次选中的图层以及地图视角的BUG
由于更新后LabelDefinition有了属性,因此修改了相关代码,并增加文字布局、允许重叠、允许重复设置
将设置中的颜色选择框改成了MVVM绑定
选择点/折线/多边形时,将显示不同的样式选择面板
新增点的描边设置
新增标签的内描边设置
新增可设置标签是否换行
修改了标签内容设置为ComboBox
新增可以设置图形的样式(如线的虚线、点划线等)
修改了图层样式设置界面
新增拖动或通过导入按钮,可以直接将GPX导入当前图层
新增导出KML功能
修复了导入Shapefile不支持含有Z、M的文件的BUG
优化了选择图形的速度
支持地图旋转
新增Runtime自带的化简方法(命名为:最大偏离法)
新增标签的粗体、斜体设置,并修改了设置界面布局
修改了命名空间以符合文件结构
修改了命名空间以符合文件结构
修改导出的地图,投影为3857而不是4326
支持了隐藏水印
修复了标签日期的月份比实际少1的BUG
为要素的大多数增删改操作增加了撤销功能
新增框选时,按住Ctrl,将选择所有与选框相交的图形,而不仅仅是包含的图形
合并了DrawHelper和EditHelper为EditorHelper
规范方法命名,为大多数异步方法添加了Async后缀
新增要素操作、选择操作的详情显示
新增“分离”功能
颜色选择器新增调整透明度功能
修复了同时弹出多个对话框会报错的BUG
修改为使用NTS动态创建Shapefile,为之后可以修改字段做准备
部分对话框修改为ContentDialog
完成了新建带自定义字段的图层的功能
基本完成编辑额外属性的功能(做了整整一个下午啊!!而且应该有很多BUG)
支持了导入Shapefile时导入额外属性
支持了复制要素时同时复制额外属性
新增字段赋值功能
新增属性表,支持编辑功能
使用了新的通过EGIS创建Shapefile的方法
新增在关闭窗体或导入新的地图包时,会备份当前地图包
重构了图层集合类
修复了按Delete键删除图形后,仍然显示被选中的BUG
修复了在图层不可见的情况下,按空格或回车也能绘制的BUG
当绘制栏用于分割时,将不显示属性编辑区域
区分了添加数据和导入地图包,支持了添加Mbmpkg里的图层而不覆盖已有图层
修改了图层列表格式,改为自定义列表框,并修改为列表顺序与图层覆盖顺序相同的逻辑
恢复了多对点的支持
支持了修改字段显示名
将LayerCollection中与Map相关的内容进行了提取,创建子类MapLayerCollection
将一些Model相关扩展方法移植Model.Extension命名空间中的类
修改OperationBar为Bar
新增了测量长度和面积周长的功能
将BoardTaskManager合并入ArcMapView
合并了MapLayerCollection和LayerHelper
取消了ArcMapView、MapLayerCollection和BoardTaskManager的单例模式,全部改为传参(改了整整一个上午)
新增在编辑或新建时,焦点在文本框时,按Enter可以直接完成
新增了按Shift可以选择在所有可见图层中的图形的功能
修改属性值的查看和设置到单独的侧边栏
修复了新建图层时类型错误的BUG
为四种图形设置了不同的默认样式
修复了无法使用中文属性的BUG
修复了有一个图层加载失败时,整个软件会闪退的BUG
新增拖入含有照片的文件夹时,根据照片Exif信息自动添加点图层的功能
升级到 .NET 5
支持了修改亮色/暗色主题
将导入导出的具体类型改为了在点击按钮后的菜单中选择
多选图形时,选择图形对话框移至右下角
对图形编辑后,将选中新增的图形
从LayerInfo中分离了Esri相关属性到MapLayerInfo
修复了导入shapefile时,若字段名长度为10则无法导入的BUG
新增要素历史操作窗口,可以执行撤销操作
底图设置移到设置界面中
修改默认数据和配置文件位置到AppData/Local中,并且在设置界面中支持修改
新增了默认底图
属性表支持了在数据源发生修改后(如在地图中增删改),同步发生变化
整理了MainWindow.cs
新增地图右下角显示鼠标所在位置的经纬度和图形比例尺
修复了升级到.NET5后下载文件显示TimeOut不支持的BUG
优化属性表只需点击一次就可以进入编辑模式
新增属性表编辑后按Ctrl+Enter即可完成
新增Alt+鼠标点击可以直接编辑点击的图形
重写了选择相关代码,已选择的要素改为使用Dictionary记录
将部分类移到UI.Map.Model命名空间中
新增时间类型
新增默认字段“创建时间”
“连接”功能新增“自动连接”选项,能够自动识别连接点
新增支持图层或选中的要素导出GeoJSON功能
分离了选中要素后的导出到单独的按钮
修复了导出CSV点出错的BUG
修复了修改图层名时会报错的BUG
修复了创建图层副本会报错的BUG
修复了设置折线样式宽度无效的BUG
修改了处理任务时转圈圈的样式,支持了显示信息
修改了导入导出的相关界面,当显示文件对话框时将不会显示转圈圈
新增右上角指北针
新增右上角快捷图层设置,可以设置图层可见性及透明度
底图图层新增名称设置
新增右上角缩放指示按钮和滑动条
右侧新增搜索功能,基于高德API,可以动态添加dll以增加不同的POI搜索引擎。暂支持了高德的POI搜索。
做搜索功能不难,接API这种事情我已经是无比熟练了。但是我想做成日后不改程序就能够换API,这就很难了,需要有一大堆的设置项和解析程序。最后还是放弃了,不是做不到,而是太麻烦了。但是又不想直接写尽程序,所以退而求其次,改为写成单独的模块,然后在主程序中动态加载dll,这样如果日后要增加或者修改,只要改一个dll就行了。实现方式为,写一个接口类库,然后主程序和模块类库都引用这个接口,运行时主程序遍历目录下符合命名的dll,并寻找实现接口的模块中的类就行了。突然发现,这个好像有点像游戏里自动能加载的MOD一样。
重写了坐标转换类,改为静态类,删去了CGCS2000的支持(因为和WGS84基本没有区别)
坐标转换新增支持多个图层批量转换
初步完成基于高德API的步行路径规划功能,待继续开发和完善
基本完成步行、骑行和驾车的路径规划功能,并完善了POI搜索界面
新增了基于高德API的地理逆编码(位置信息查询)的功能,或待继续开发
优化了搜索面板的样式和展开动画
将所有矢量图标进行了统一管理
修复了侧边底图简单设置中序号不显示的BUG
修复了底图顺序不是在上面的显示更上层的BUG
新增根据空间和属性查询要素的功能
属性表新增“选择”单选框列,与地图选择联动
修改地图后重启窗口,彻底解决底图不更新的BUG
新增与图层相关的对话框,在图层在删除后会自动关闭,防止报错
接入了log4net日志系统
新增导入CSV表格的功能
新增对BD09坐标系的支持
主要代码进行了完全重新分命名空间和程序集
- 将原本Common-Tile、Gpx-Main的不清楚的结构,改为Model-Core-UI的三层结构。其中:
- Model只存放数据模型而不包含逻辑实现,
- Core引用了ArcGIS Runtime,包括地理相关代码,但不包含界面相关代码。包含IO处理不同格式的导入导出,Mapping.Model包含需要遇到地理类的模型,Utility处理地理相关逻辑
- UI处理界面相关逻辑,Mapping包括了地图面板和相关操作,UI则是用户交互的窗口、面板和控件
- 同步修改了命名空间
- 将原本的FzGeography程序集并入MapBoard.Core中,并将原先依赖NTS库的代码转换为依赖ArcGIS Runtime的代码
- 去除了对NTS、GeoAPI、Proj4Net的依赖,现在完全依赖于ArcGIS Runtime
- 原先的《地图瓦片下载器》和《GPX工具箱》整合入主项目中,各模型类和工具类于其它模型工具类并列
【地图画板】将一些耗时操作放到了单独线程中,防止卡死主线程
【地图画板】延迟计算选择后选中图形的长度/周长面积,加快选择图形的速度
【地图画板】修复了导出GeoJSON时包含空图形时报错的BUG
【地图画板】限制了多选图形时,图形列表的数量为100个,并加以提示
【地图画板】修改了时间属性编辑的UI,改为单个文本框
【地图画板】耗时操作覆盖层修改为500毫秒后显示而不是立即显示,增加页面连贯性
【GPX工具箱】修改了经纬度和高度的长度,固定为7/3位小数
隐藏水印时,仅裁剪上下而不裁剪左右,减少渲染面积提升性能
优化导出截图时,将所见即所得,同时隐藏水印
【地图画板】修复了切割含洞的多边形时切割结果不正确的BUG
【地图画板】将要素操作放到了单独线程中,防止卡UI
将DoAsync提到了WindowBase中
【GPX工具箱】优化了界面卡顿情况
【GPX工具箱】用Geometry代替Shape绘制图表,也许一定程度上改善了卡顿问题。同时做了一些其他优化。
新增启动页面
【地图画板】新增场景浏览视图
【GPX工具箱】修复了可能同时进行绘制导致的报错问题
新增手动备份和打开备份目录功能
【地图画板】修复了导入Gpx到图层失败的BUG
【地图画板】修复了导入Shapefile时,存在不合法的字段名会导致报错的BUG
【地图画板】新增快速导出,即直接复制和压缩,而不是进行重建
【地图画板】新增打开目录可以打开配置、备份等目录
【地图画板】新增仅选中的要素进行字段赋值
【地图画板】新增常量字段赋值何支持内嵌其它字段属性的字段赋值
【地图画板】支持了标签自定义Arcade表达式
【地图画板】样式设置面板支持响应式
【地图画板】修复了修改符号的分类名称后,列表中的名字不会改变的BUG
【地图画板】对图层属性变更事件的处理做了优化
【地图画板】新增图层分组,支持编辑分组名、显示所有分组的可见情况批量显示或隐藏一个分组的图层
【地图画板】新增控件的平滑滚动(移植自ClassifyFiles)
统一管理三个主窗口
【地图画板】分组面板支持响应式
【地图画板】左侧面板收缩按钮移到面板外侧,平时隐藏
【地图画板】使用gong-wpf-dragdrop代替自写类来完成拖动改变列表顺序的功能。为兼容之,不再使用Dock来逆序排列图层,而是用代码转换Index实现模拟逆序显示图层列表。
【地图画板】修改了重命名图层的方法,更加友好
【地图画板】新增启动后加载图层若有失败,会显示失败详情
【地图画板】修复了建立副本时,新的名字和旧的名字一样导致出错的BUG
【地图画板】新增建立副本时,支持选择是否保留字段和所有图形
更新了FzLib
【地图画板】对LayerInfo相关类进行了接口提取,提取为ILayerInfo、IMapLayerInfo、IMapLayerInfo。 并将读写部分从MapLayerInfo提取到ShapefileMapLayerInfo,同步修改所有代码,为之后添加其他类型的MapLayerInfo做准备。
【地图画板】初步完成对WFS的支持,还有巨多BUG等待修
【地图画板】优化了重新加载图层的原理
【地图画板】新增设置WFS图层属性(URL等)
【地图画板】新增支持手动或自动获取WFS图层的所有要素
【地图画板】新增在图层未加载时,图层列表的可视选择框将处于禁用状态,提示该图层未加载
【地图画板】新增在网络图层下载时,图层列表对应图层显示转圈圈
【地图画板】修复了无法导出的BUG
【地图画板】修复了在文本框修改颜色后,未真正设置的BUG
【地图画板】新增图层列表简略视图,仅显示一行
更新了FzLib
【地图画板】新增支持了多个标签样式,通过WhereClause来决定绘制哪一种
【地图画板】修复了启动时,绘制按钮不可用的BUG
【地图画板】修复了新建图层时,由于符号和标签为空而报错的BUG
【地图画板】修复了重建导出时,遇到WFS图层报错的BUG
【地图画板】修复了图层超时时间过短导致复杂的WFS图层无法加载的BUG
【地图画板】图层列表右键菜单顶部显示图层类型
【地图画板】新增WMS底图支持
【地图画板】修复了应用底图、重启应用后闪退或报错的BUG
【地图画板】修复了导出WFS或包含WFS的地图到GIS工具箱地图时出错的BUG
【地图画板】优化了侧边栏动画调用方式
【地图画板】优化了控制控件可见和可用性的方式
【地图画板】新增可以在选择、编辑时设置各图层的可见性
【地图画板】新增编辑时显示线的长度、多边形的面积、点的位置和多点的数量
【地图画板】新增支持编辑时新增/移除多部份图形的部分
升级到了最新的FzLib
新增可设置网络图层的超时时间
【地图画板】修复了图层列表右键菜单的类型标题颜色不会跟随亮色暗色模式的BUG
【地图画板】完成对“临时图层”的部分支持,包括:新建、显示、样式、复制图形
【地图画板】为临时图层修复了一些BUG,包括编辑、设置、重置、选择(闪退)等
【地图画板】重写了新增要素方法,减少出错的可能性
【地图画板】从ShapefileMapLayerInfo中抽象提取了IFileBasedLayer以表示以文件形式存储数据的图层。目前拥有IFileBasedLayer、IServerBasedLayer以及不实现接口的基于内存的图层。
【地图画板】修复了导出手机版包失败的BUG
【地图画板】在配置文件出错时,将进行重置
【地图画板】新增图层列表分组视图
【GPX工具箱】修复了在加载下一个gpx文件时,鼠标在图表上移动有概率报错的BUG
【GPX工具箱】支持了在图表中可以不绘制点,以提升流畅度
【地图画板】新增记忆图层列表分组类型
修复了首次打开软件时,不存在配置目录导致保存配置文件报错的BUG
修复了设置底图后点确定,软件报错的BUG
【地图画板】新增直接点按即可选择图形功能
【地图画板】支持了显示设备位置
【地图画板】取消了选择时出现加载窗口,防止偶发性无限加载
底图设置支持设置“启用”和“可见”,不启用时将不会加载,加快启动速度。
【地图画板】新增定位详细信息面板
新增平滑滚动开关
【地图画板】获取图形时,编辑条也会弹出来的BUG
【地图画板】新增放大缩小按钮
【地图画板】新增支持设置侧边栏显示的内容
【地图画板】新增搜索中选取点支持选取当前定位的点
新增导入导出设置功能
【GPX工具箱】新增/恢复了单击轨迹自动缩放、导入后自动选中和缩放的功能
修复了Git Clone下来后缺少文件无法运行的BUG
更新到了最新的FzLib,同步修改Converters
【地图画板】修复了拖动文件到软件后,需要激活窗体才能显示对话框的BUG
【地图画板】修复了当处于选择或绘制状态时,也可拖放文件的BUG
【GPX工具箱】修复了运动均速显示最大速度的BUG
【地图画板】缓冲区的建立对话框修改为独立对话框,支持合并图形、生成到已有图层中
【地图画板】使用了更精确的缓冲区建立方式
【地图画板】支持对选中的图形新建缓冲区
日志将写到配置所在文件夹(通过CONFIG_HERE或者CONFIG_UP来指定),而非固定在程序目录下
修复了配置文件所在目录为程序目录时,关闭程序时出错的BUG
【地图画板】紧凑列表选项移动到视图选择同一行,减小占用面积
将所有的文件对话框设置了父窗口,避免弹出的对话框在其他窗口之上的BUG
【GPX工具箱】修复了Gpx工具箱中文件列表中选择文件和点击菜单可能出现闪退的BUG
【地图画板】修复了窗口较小时点击按钮打开分组面板,窗口变大后无法显示分组面板的BUG
升级到了.NET6,并更新了最新的NuGet包
【地图画板】新增绘制时捕捉到最近的结点的功能(可用Ctrl+右键)
【地图画板】新增绘制时捕捉到最近的任意的功能(可用Shift+右键)
【地图画板】新增绘制时右键显示菜单,菜单显示经纬度和捕捉功能
对设置界面进行了重新设计
支持关联地图画板地图包(.mbmpkg)和GPS轨迹文件(.gpx)格式,双击直接打开
限制了只能运行一个实例
【地图画板】新增显示捕捉位置的开关
【地图瓦片下载器】网络设置移至设置面板
【地图画板】新增在按下ctrl或shift时,显示捕捉点
【地图画板】修复了存在文件型栅格底图时,绘制崩溃的BUG
【地图画板】新增导出后,SnakeBar能够点击按钮进行直接查看
【地图画板】新增导出OpenLayers网络地图的功能
【地图画板】新增导出OpenLayers网络地图时,能自动计算中心位置和缩放等级
【地图画板】优化了导出OpenLayers网络地图时的标签样式
【地图画板】修复了文件型地图打开失败后程序崩溃的BUG
修复了弹出异常对话框后,程序仍然崩溃的BUG
文件读写修改为异步方法
【地图画板】修复识别最近的要素失败导致绘制时程序崩溃的BUG
为大多数异常捕捉增加了日志记录
【地图画板】新增图层的透明度、最大最小缩放显示设置
修复了同时会在程序目录和日志目录下生成日志文件的BUG
【地图画板】新增直接通过FTP上传文件到GIS工具箱的功能
【地图画板】修改捕捉时不再需要点击右键,只需点击左键即可
【地图画板】修改比例尺和位置的定时器为.NET6的PeriodicTimer
【地图画板】新增Catmull–Rom样条平滑功能
【地图画板】修复了不在选择状态时,选择要素对话框仍然处于显示状态,导致一系列问题的BUG
【地图画板】优化了导出Openlayers时的点偏移
【地图画板】修复了图形为空时,缩放到图层导致崩溃的BUG
新增打包项目
【地图画板】新增Esri预置底图
【地图画板】新增默认预设底图,当不存在底图时将自动加载第一张默认预设底图,并支持后续自行添加默认预设底图
【地图画板】修复了快速选择较复杂的图形时报错的BUG
【地图画板】修复了能够创建不合法的图形(例如一个点的线、两个点的面)的BUG
【地图画板】增加了启动时的C++库检测,若不存在则提示下载
【地图画板】优化了打开文件夹和文件逻辑
【地图画板】修复了执行反转、分离操作后,显示为被选中但实际地图中没有被选中的BUG
【地图画板】优化了捕捉:
- 修复了无法捕捉到最近的节点/最近点的BUG
- 优化了在面内部捕捉时,最近点将位于多边形的边上,而不是内部
- 优化了捕捉点的样式,改为小正方形
- 新增自动捕捉功能
- 新增捕捉距离选项
引入Property.Fody库,删除了大部分的手动Notify
【地图画板】修复了因为Fody导致的折线样式箭头默认值错误、图层历史记录无法撤销的BUG
【地图画板】优化了平滑功能,支持设置平滑等级、平滑后自动简化
【地图画板】由于自己写的简化和ArcGIS自带简化功能相同,因此删去了自己的简化方法
【地图画板】通过每次导入数据到不同子目录的方式尝试解决了导入时提示文件被占用的BUG
【地图画板】修复了导出重建包失败的BUG
【地图画板】优化了图层样式设置界面,改为手风琴折叠面板
【地图画板】新增图层的交互设置,包括允许选择、允许编辑、允许捕捉
【地图画板】新增支持设置图层的渲染方式
【地图画板】删去了默认字段(Info、Key、Date、CrtTime)的逻辑,包括:
- 符号系统的Key将可以自定义
- 标签取消了指定字段的支持,改为完全的自定义,提供直接插入字段的功能
- 创建时间改为可以选字段,若存在将自动插入创建时间。同时增加了修改时间字段。
- 日期字段取消后,日期范围可以自定义选择日期字段
- 支持自动版本迁移
【地图画板】修复了版本迁移时字段名没有迁移的BUG
【地图画板】修复了面的最近任意点超出范围的BUG
【地图画板】修复了属性不符合规定格式时,程序崩溃的BUG
【地图画板】修复了捕捉最近任意点失败的BUG,并修改最近节点的红色图标位于任意点的黄色图标之上
【地图画板】修复了切换图层时默认样式的设置界面的样式不会改变的BUG
【地图画板】修复了临时图层删除后图形不会从地图中消失的BUG
【地图画板】修复了临时图层无法使用Shift+鼠标单击来选择的BUG
【地图画板】新增右键选择按钮可以弹出“全选”菜单
【地图画板】修复了平滑功能会卡死界面的BUG
【地图画板】整合了图层级的图形分析和要素级的图形分析,进行了统一
【地图画板】修复了简化时碰到不为空的图形会报错的BUG
【地图画板】将平滑和简化改为了多线程并行,提升了效率。
【地图画板】为了更好地控制瓦片地图的下载行为,重写了网络瓦片图层类
【地图画板】修改了部分网络相关的设置
【瓦片地图下载器】修改了相关内容
【地图画板】修复了非绘制状态下也会识别最近点的BUG
【地图画板】修复了存在栅格地图时识别最近点报错的BUG
【地图画板】修复了临时图层编辑失败的BUG
【地图画板】重建保存地图包修改为单线程以防止未知异常
【地图画板】修复了通过快捷方式等打开程序,导致工作目录不在程序目录时,导出OpenLayers失败的BUG
【地图画板】修复了开启捕捉时,会难以选中正在编辑的图形的节点的BUG
【地图画板】新增选中单个图形后,按空格或回车可以开始编辑的功能
【地图画板】缓冲区功能支持了多环缓冲区
【地图画板】做了一半修改字段功能但是因为感觉BUG会很多因此放弃
【地图画板】新增复制样式功能
【地图画板】修复了切换图层后,渲染器字段列表不会更新的BUG
【地图画板】再次修复了开启捕捉时,会难以选中正在编辑的图形的节点的BUG
【GPX工具箱】新增支持拖放文件夹
【地图画板】新增导入GPX时,会自动创建相关信息的字段
【地图画板】新增支持使用拖放文件夹导入GPX
【地图画板】修复了导入GPX时的一些BUG
【地图画板】地图旋转改为鼠标中键,右键改为弹出经纬度并支持复制
【地图画板】修复了点击路径属性时报错的BUG
【地图画板】优化了Csv的导出格式,改为标准csv,支持了导出属性
【地图画板】支持了更多格式的图片经纬度解析
【地图瓦片下载拼接器】新增支持设置代理服务器
【地图画板】优化了侧边栏,在绘制时能自动移动到属性栏左侧,保证显示。
【地图画板】新增KML导入功能,暂不只是属性导入,暂无样式导入,不支持复杂图形和嵌套
【地图画板】优化导入图片坐标时,不存在可导入图片的提示
【地图画板】修复了分割后,按Shift选择分割后图形会同时选择已删除的图形,导致删除报错的BUG(原因是分割后没有即使清空存放已选择要素的集合)
【地图画板】修复了KML导出报错的BUG
【地图画板】修复了KML导出时,如果图层唯一值的Key类型不是string,会导致导出失败的BUG
【地图画板】优化了右键经纬度的显示,支持设置复制格式
【GPX工具箱】新增右键经纬度的显示
【地图画板】修复了导入GPX点时,时间不是该点时间而是轨迹开始时间的BUG
【地图画板】新增选择照片时,能够显示缩略图,支持缩放、双击打开
【地图画板】优化多选时选择要素对话框的显示,能够根据图层字段显示属性
【地图画板】修复了无法导入QGIS生成的KML的问题
【地图画板】KML导入修改为先完全展开然后导入的模式
【GPX工具箱】修复了右键菜单和三维操作冲突的BUG
【地图画板】新增部分标签样式配置
【地图画板】修复了选择保留属性时,创建时间和修改时间也会被保留的BUG
【地图画板】新增选中多图形时右下角可以双击缩放到指定图形
【地图画板】解除了属性表不可排序的限制
【地图画板】新增导出到新图层的功能,可以用于修改属性
【地图画板】修复了修改底图重载后,分组不显示的BUG
【GPX工具箱】新增支持不显示异常拉直线的部分,可自定义最大可接受点距
【地图画板】优化了搜索模块的API Token管理模式,从硬编码修改为可手动设置Token
【地图画板】删除了Esri预设图层(因SDK升级后取消接口),新增一些默认底图
【地图画板】修复了属性面板中的属性顺序与新建或导入图层时的顺序不同的BUG
【地图画板】支持了瓦片底图的缓存,大大加快了二次访问的速度
【地图画板】新增WMTS底图支持
【地图画板】【地图瓦片下载器】XYZ瓦片地图新增支持设置单独的UserAgent、Host、Origin、Referer。地图画板不提供UI,瓦片下载器提供UI。
【地图画板】符号系统支持了通过多个字段共同指定符号(即:多Key的唯一值Renderer)
为代码添加注释文档
【地图画板】图层列表支持了多图层同时拖动以修改顺序
【地图画板】修复了加载属性时,意外抛出异常,导致加载属性表速度极慢的BUG
【地图画板】支持了记忆缩略图窗口的大小
【地图画板】栅格底图新增支持调整亮度、对比度、伽马、拉伸、渲染器、瓦片缩放等级限制
【地图画板】同步了设置对话框和侧边栏底图设置使用相同的更新后的UI
【地图画板】底图设置中图像高级设置支持立刻应用
【地图画板】优化地图面板UI
【地图画板】新增Shapefile的重新计算并更新XY范围的功能
【地图画板】修复了无法缩放到零尺寸Envelope的BUG
【地图画板】更新Nuget库,包括ArcGIS Maps SDK 200.2,将SketchEditor转变为GeometryEditor
【地图画板】修复了由于地图可循环左右拖动,导致X坐标异常,使捕捉功能出现异常的BUG。现优化为每次启动时,自动回到X绝对值最小的位置上。
【地图画板】新增支持在平滑时设置最小平滑角度。当一个结点引出的两条线角度小于这一角度时,将不处理这个角的平滑。这可以避免一些小角度意外平滑问题
【MAUI】新增MAUI地图画板精简版项目,支持Android平台
【MAUI】GPX删除改为移动到删除目录
【MAUI】更新到.NET8正式版
【MAUI】对CommunityToolkit.Maui进行了降级以修复PopupMenu的Height异常的BUG
【MAUI】更新PopupMenu,解决高度问题
【地图画板】更新到.NET8正式版
【地图画板】由于.NET8自带最新的文件对话框,因此去除了WindowsAPICodePack的依赖,改用自带的文件对话框
【MAUI】修复了删除多条历史轨迹失败的BUG
【GPX工具箱】开始修改GPX查看器,将MAUI的彩色轨迹线移植了过来,导致了一系列问题,最终决定进行大幅修改。将一条轨迹的Overlay分为了彩色线组、普通单色线和点集三类。暂未完成。
【GPX工具箱】优化了轨迹识别
【GPX工具箱】优化了速度计算方式,使用了新的可变窗口大小算法,避免了性能浪费和两端速度无法计算的问题
【GPX工具箱】统一了速度计算方法
【GPX工具箱】修复了GPX浏览的问题
【GPX工具箱】取消了地图中的点,提升性能
【GPX工具箱】修复了彩色线和简单线部分策略不一致以及性能问题
【GPX工具箱】移动文件列表到左上角
【GPX工具箱】修复了恢复视角时不能保持中心不变的问题
【GPX工具箱】优化界面,整合功能
【MAUI】中央菜单改为Menu形式,增加了退出按钮
【MAUI】修改应用进入后台后,不再持续定位
【MAUI】修复了属性编辑面板的样式
【MAUI】新增编辑或选择时按返回键可以退出状态
【MAUI】新增面板展开时按返回键可以关闭面板
【WPF】新增支持在已打开软件的情况下,双击外部GPX文件可以在已有窗口中打开
【WPF】修复了框选功能失效的BUG
【WPF】修改GPX的速度平滑窗口大小由暂无UI的参数控制并将窗口大小从19改为3
【MAUI】增加了在应用进入后台10分钟后自动退出的功能(测试),以解决在小米手机上无法关闭定位导致一直显示小绿点的问题
【MAUI】新增支持点击轨迹某段后显示到此处的距离
【Core】【MAUI】支持了在轨迹列表中显示更多信息
【MAUI】支持长按定位按钮选择模式、升级Nuget
【WPF】【MAUI】更新到ArcGIS Maps SDK 200.4
【WPF】使用了SDK新增的捕捉代替了原本自己实现的捕捉
【MAUI】更新到MAUI 8.0.20
【MAUI】完成位置共享基本功能
【MAUI】修改MAUI的瓦片缓存改为数据库缓存,减少零散文件
【MAUI】修复了FTP地址显示错误BUG
【MAUI】修复了导入地图包日期显示错误BUG
【Core】修改XYZTiledLayer为数据库缓存,并因未发现明显性能损失,在MAUI中用其代替了CacheableWebTiledLayer
【Core】优化了缓存启动速度
【GPX工具箱】尝试修复了删除功能等无效的BUG
【GPX工具箱】修复了彩色轨迹不应用高程设置的BUG
【地图画板】修复了绘制时吸附功能失效的BUG
【MAUI】优化了轨迹加载操作
【MAUI】使用Android原生的LocationListener替代了MAUI的GeoLocation
【MAUI】修改TrackService为抽象类,改变了调用逻辑
【MAUI】增加了轨迹记录相关的设置项,并进行了一定的优化
【MAUI】修改LocationDisplay为使用Android原生实现的DataSource
【MAUI】修复了退出时无法保存状态的BUG
【MAUI】修复了后台GPS不断开连接的BUG
【MAUI】位置显示增加了融合位置模式,优先选择GPS,若无法定位则使用融合定位
【MAUI】由于依旧有几率无法后台停止位置服务,因此加回了自动退出功能
【MAUI】再次尝试修复了有几率无法后台停止位置服务的BUG,并优化了轨迹列表
【MAUI】优化了轨迹列表的显示逻辑,先全部显示,然后逐步更新信息
【地图画板】新增合并缓存功能
【MAUI】更新了Nuget,实现了ReticleVertexTool和捕捉功能
【MAUI】增加了初步的码表功能
【MAUI】修复了老版本Android开启前台服务闪退的BUG
【MAUI】调整了轨迹记录条的布局和展示方式
【MAUI】图层列表支持了按分组显示
【MAUI】支持了侧边栏根据状态栏高度动态调整
【MAUI】支持了绘制时的准星模式的开关
【MAUI】尝试使用了新的算法来更新码表的速度和距离,不再依赖轨迹记录
【地图画板】新增mmpk的图层导入,并为渲染器和标注新增RawJson属性,支持了JSON配置的图形界面设置
【地图画板】完成了RawJSON向唯一值渲染器的转换
【地图画板】唯一值渲染器中,新增应用某一属性到全部类的功能
【地图画板】修复了禁止编辑图层无法建立副本等问题