遥感所沈占锋的个人博客分享 http://blog.sciencenet.cn/u/radiszf

博文

MHMapGIS近一年时间的更新日志(至2023前3月)

已有 1471 次阅读 2023-3-2 10:13 |系统分类:科研笔记

Update 2023.02

ü  算法类:MHGDALAlgorithms里面的仿射变换重新针对未设定的情况进行参数5的定义;

ü  算法类:改进了针对波段顺序的表达方式,原来需要3;2;4;1;5;6;7;8;9;10等必须把所有波段均列出,现在可为3;2;1;5~10或3;2;1;5~(直到最后);

ü  算法类:改进光谱角匹配分析算法;

ü  算法类:改进塑料板识别算法;

ü  算法类:增加矢量Buffer算法;

ü  RGB波段彩色波段合成时小Bug去除,char num_G[3]èchar num_G[5]

ü  针对刘老师:导出光谱库顶部仅有一行显示信息,后面2列,左列为波长而不是波段,右列为反射率;

ü  增加了_EARTH_STUDENT_版本;

Update 2023.01

ü  重新整理了MHMapProject类,原来的完全是C,现在将变量换成有意义的变量;

ü  对MHMapDef中的MHMapXMLIO中的结构体MHTOOLS的==进行重载,针对 DLL、EXE、BAT、PY等进行了重新判定;

ü  对RenderImpl修复了一些小Bug;

ü  对工具来说,如果标记有(OUT),原来是在MHMapView中对该文件进行加载,现在更改为判断该文件的类型,如果是常规文件如TXT、DOC、XLS、PDF等,则调用外部对其打开,其他再用本软件打开;

ü  在光谱曲线模块中修改了新建、打开光谱曲线的光标,同时增加了按键,允许是否保存后打开对应的光标点的光谱曲线;

ü  MHMapDlgLight中采用图标方式展示加粗等几个按钮;

ü  模块MHMapdlgPage2FeaSimple中采用函数OnHScroll()替代原来的OnTRBNThumbPosChangingSliderTransparent()

ü  对于影像的唯一值渲染,原来仅允许数据类型为整形的影像采用此渲染方式,现在进行扩展,允许其他类型,但需要提前给出弹窗提示注意;

ü  MHMapView增加了一些新函数,用于刘老师的图像处理;

ü  去掉MHMapDoc中的一个Bug:如果没有绝对目录,将其变为绝对目录,否则也不返回

ü  MHMapFrm中的函数ShowAttrTablePane()中,如果不存在对应的属性表,则新建一个属性表,去掉了原来的函数CreateAttrTablePane(),直接将其代码移过来,逻辑上更顺些;

ü  对弹出的错误错误对话框“"工具XML文件出错,请检查!"”进行编号;

MHS文件进行了版本重新梳理(Update for .MHS file

ü  重新整理了.MHS文件的版本升级情况:

²  1.1.1.8版本以后,在RGBThematicObj中增加了是否应用背景值的属性(bUseBackGround);

²  1.1.1.9版本以后,针对Group节点增加了Expand属性;

²  1.1.2.0版本以后,针对拉伸模式,对于2、3的设置拉伸模式为n+2,对于4、5的拉伸模式为n-2;

²  1.1.2.1版本以后,进一步修改1.1.2.0的属性:在RGBThematicObj中增加了拉伸模式的属性(MSXMLScalingMethord),拉伸模式为n(去掉了原来的复杂计算模式且容易出错);

²  1.1.2.2版本以后,针对Category增加了是否应用其他值及对应颜色的属性(usecolorothers);

²  1.2.1.1版本以后,存储了制图对象(MSObjectObj);

²  1.2.1.2版本以后,增加了保留多少位小数点的属性设置(decikeep);

²  1.2.1.3版本以后,增加了对象是否锁定的属性(objectLocked);

²  1.2.1.4版本以后,针对Legend增加了column的属性(以前为1);

²  重叠当前版本为“1.2.3.0”;

Update 2022.12

ü  MSMarkerLineSymbolObj、MSMarkerFillSymbolObj里面的Marker统一改为   MSMarkerSymbolBaseObj* m_pMarkSymbol

ü  修改了MSProject针对不同符号的存储、读取模式,去掉Bug;

ü  Category主题不需要显示其他值时,制图也不应该显示;

ü  增加了各种符号的Editor相关的对话框界面及类实现,逐步去Bug;

ü  去掉了MSCharacterMarkerSymbolObj的SetEdgeColor函数,用通用的SetFillcolor即可;

ü  MSGraduateFill的存储、读取功能实现;

ü  完成了CharacterMarker的相关功能;

ü  去除了MSSymbolObj中的部分Bug,判断点、线、面类型;

ü  修改了MHMapRender中的部分Bug,当某些步骤没有成功时,ASSERT_FALASE不马上调用返回,而是符合逻辑之后在函数尾部返回,类似地,循环中用ASSERT_FALSE_AND_CONTINUE代替ASSERT_FALSE_AND_RETURN_FALSE

ü  修改了MHMapDlgSymbolEditor,重构了数据结构,用
   MSSymbolObj* m_pTmpMultiLayerSymbolObj;
   vector<string> m_vTmpMultiLayerName;
的数据结构表达需要修改的SymbolObj,同时删除原数据结构,整个类也重构了,初步完成了符号选择与编辑功能;

ü  修改了MHMapDlgSymbolSelect,在OnBnClickedButtonEditsymbol()函数中增加了关键的释放内存的语句(429行);

ü  模块MHMapTools双击文件夹时,判断sDllExeBatPyName.length() > 0时再调用对应的弹出算法对话框;

ü  模块MHMapTree在UpdateTreeIcon函数调用失败时,同样需要增加树的图标,再返回错误;

ü  更改图片的相关Scale功能,把Size与Scale自动计算,图片大小自动计算;

ü  在删除Symbol之前先判断一下各Symbol的类型,如果不出错再删除,如果出错AssertFalse;

ü  释放内存:在MarkerFill及LineFill更换时不需要释放内存,最后统一释放;

ü  Replace***、Remove***时需要释放内存;

ü  MSThematicObj中更换Symbol时不需要释放内存;

ü  初始化点、线面时更新对应的颜色等信息;

ü  CMHMapDlgSymbolSelect中如果选择同原来一样,不删除内存避免出错;

ü  增加了MSMultiLayerFillSymbolObj:: GetLineWidth()函数,获得对多层的边线宽度;

ü  增加SymbolEditor的层的CheckBox(ClistBoxèCListCtrl),允许对不同图层不可见;

ü  增加各颜色选择的无充填颜色、无边线颜色按钮;

ü  线充填增加线角度设置;

ü  图片充填按钮,增加、删除、向上移动、向下移动;

ü  导出PNG等时,不导出多余的边;

ü  增加图例的一个参数:栏,可以将图例分为1~5栏,同时将MSProject版本升级至1.2.1.5,同步修改了MHMapFeaEdit的相关函数;

ü  修改了少量Bug,原来图标中的SPIN控制未设置范围;

ü  双击对象时,当对象为图例、比例尺、边框、图片、指北针时,弹出属性对话框,否则弹出文字编辑框;

ü  TOA模块中的CreateNewSymbolObj()函数重写,原来没有考虑复杂的情况;

ü  图片对象相对目录与绝对目录转换;

ü  改变GraduateFill的ListBoxèListCtrl

ü  MarkerLine的Transparent属性去除Bug;

ü  在类MSLegendLayer中增加指针 MSLayerObj*    m_pSrcLayerObj,记录源图层指针,便于判断相应的属性;

ü  在原来的实现中,针对影像的MS_GRADUATE_FILL_SYMBOL不变,针对矢量的MS_GRADUATE_FILL_SYMBOL不需要,限定,同样作用于Impl实现;

ü  FeaEdit中去除小Bug:CanEditConvertToSimpleFeatures()函数判断;

ü  图片对象增加相对、绝对目录转换;

ü  GraduateFill中ListBoxèListCtrl

ü  修改了MSSymbolObj的针对图片Marker的Scale设置;

ü  GapClassLabels默认值设为10;

ü  修改了MHMapDlgSymbolEditor中当传入的为某类并修改该Symbol为其他类再改回时,把原来的信息保留,特别是针对图片等信息;

ü  针对高光谱版本,增加菜单,设计按钮;

ü  修改了MSProject中的部分Bug,对于Fill有时没有边线,不能返回错误;

ü  增加:CMHMapDlgSymbolShow:: ShowColorSymbolDialogMode()函数,选择颜色,并仅允许SimpleFillSymbol可选,在不同情况下设置不同的控件状态;

ü  MHMapDlgSymbolEditor避免重复调用OnLbnSelchangeListLayers();

ü  HatchFill初始化时避免重复增加到Combo中;

ü  MHMapTOATreeCtrl中针对栅格数据的颜色渲染,允许选择不同的颜色,但不允许选择不同的Fill复杂符号,并在选择颜色后消毁相应的临时符号,避免内存泄漏;

ü  所有版本升级到 1.2.3.0;

Update 2022.11

ü  工具格式增加了对Bat、Py的集成,修改了MHTOOLS结构体,对于工具,精练为sDllExeBatPyName及对应的接口sInterface,对于DLL来说与原来定义相同,对于EXE、BAT、PY,sDllExeBatPyName为对应的文件名,sInterface = EXE/BAT/PY

ü  存储时把图片的相对目录改为绝对目录;

ü  修改了属性获取时,对于很小数值获取为0的Bug修改,原来用%f,改为%g科学计数方式;

ü  更改了LayerSeq中点击、剪头自动绽放到图层时重复调用的Bug;

ü  针对表格表头,增加了字体的重量,没有增加字体的宽度,避免右键不好用的情况;

ü  需要更新TOA的地方增加了更新;

ü  快捷键时,增加了!bAlt,否则不精准,比如Ctrl+Alt+A给解译成了Ctrl+A;

ü  改进当特殊情况时影像金字塔申请出界的Bug;

ü  改进了制图边框的绘制标注,均匀标注,加0(如果在内),边框宽度重新计算等;

ü  增加针对刘老师的版本;

ü  任务执行完毕后弹出对话框说明,即使未指定新生成的文件;

ü  增加针对符号库的修改……,MSProject针对此的存储与读取;

ü  对话框中参数存储时,字符间隔由原来的~改为&,因为~有时需要表达,如1~9;

ü  重构了MSSymbolObj类,将MultiLayer***父类改为对应的Base,这样可以非常方便地调用,同时增加了IsMarker()、IsLine()、IsFill()函数;

ü  MSColor类增加了函数IsInit();

ü  MSPorject类对不同类型的Symbol的写入、读出XML进行了增加,对读取错误及时报错;

ü  重构了MSSymbolObj类,增加了CopySymbolInfo()函数,允许信息复制;

ü  算法:增加了针对岩心的分割算法;

ü  增加/修改了MSProject中对复杂符号的代码,同时增加对图片的路径的自动转换;

ü  增加了简单符号中的储油罐;

ü  增加/调整/优化了MSSymbolObj中大量函数;

ü  增加MSFont、MSPicture中的数据结构中赋值功能;

ü  更新了符号选择对话框很多……;

ü  增加简单点的一些常用符号:雷达、竖线、双竖线;

ü  增加符号时弹出对话框,允许用户指定新符号的名称;

ü  ===开始JF项目:

ü  增加QueryByComputeAttribute()函数,属性查询时实时计算,包括多边形面积、长度(估算)、角度等;

ü  判断工具箱算法是否可用时,不但判断文件,同时判断对应的XML;

ü  Image::FromFile()之后,需要delete image;

ü  MHMapFeaEdit增加了Simplify、Smooth功能;

ü  模块MHMapDlgDelIsland中增加了几个对话框,实现按面积、长度、宽度、角度查询;

ü  修改了Python模式,允许在XML中配置activate=SZF,并在其接口变成了PY SZF,这种模式的运行不能用CreateProcess(),只能用system();

ü  算法About()修改了路径查找不对的小Bug;

ü  另存为,地图导出,增加了PDF方式,采用执行外部X86程序实现;

ü  重新梳理了MHMapTools及MHMapAlgorithm模块,把无XML的EXE单独一个函数,其他如DLL、带XML的EXE、BAT、PY为另一个函数执行;

ü  完全梳理了MHMapDlgPage2及对应的Simple、Graduate、Category实现代码,逻辑性更强;

ü  更改了所有的AnalyzeSymbol()函数,对所有的符号均有用,原来仅对简单类型的有用;

ü  重新写了模块MHMapDlgProp中的CreateNewSymbolObj()等函数,对所有符号均有用,原来仅对简单类型的有用;

ü  符号库双击符号直接选择;

Update 2022.10

ü  去掉了当鼠标光标或光谱曲线窗口显示时,对象选择工具还可以选择/移动对象的功能,优先保证这2个窗口针对鼠标光标信息采集的需求;

ü  增加了帮助菜单,F1激活;

ü  当鼠标在主视图中进行漫游时,取消了TOA窗口的激活(可能会带来新的使用不便);

ü  重新梳理了所有快捷键;

ü  去掉了MSMapObj中的InsertObject()中的Bug,当没有对象时,插入不进去新对象;

ü  将Error.png放到了etc文件夹下;

ü  CMHMapView::UpdateMSMapObj()中去掉了ExitMap(),在CMHMapView::OnNewDocument中增加了函数ExitMap();

ü  更新、检查了各版本;

ü  线选、多边形选按右键结束时,增加最后一个点作为有效点;

ü  调整属性表,在Fire、Earth不同版本、不同需求时功能、编辑等不同;

Update 2022.09

ü  更改了所有的比较大的数为变量MAX_NUMBER_MHMAPGIS

ü  修改了Border在锁定时的交叉线锁定问题;

ü  修改了对象属性表中不同按钮在什么时候可用的Bug;

ü  修改了对象属性表中反选时有锁定与非锁定时的Bug;

ü  当新建时,光谱曲线Pane重置;

ü  修改了void CMHMapViewSZF::UpdateSwipeAndFlickerParams(),去除了可能的Bug;

ü  在类MSColor中增加了转化为COLORREF的相应函数,可以直接将MSColor转化为对应的COLORREF;

ü  在分类渲染中,规范了范围划分方案,除最后一个为[]外,其他的均为[);

ü  将树视图中的调整图层顺序增加了点击图层时自动缩放至对应的图层范围,并变成了非模式对话框,放在了Query模块中;

ü  规范了MHMapView,将很多原来没有预定义的加上;

ü  重新梳理了BOOL   CMHMapView::PreTranslateMessage(MSG* pMsg),把所有快捷键的消息响应都放在这了;

ü  更新了调整图层顺序对话框,在允许显示边框时,点击视图会显示图层的边框,同时更新TOA对应的图层,以及图层顺序对话框,并确保对应的图层处于选中状态;

ü  修改了Spec未在视图上移动鼠标时显示Band_0的bug;

ü  修改Spec窗口弹出时设定最值时最值不可编辑的Bug;

ü  修复了Category的标签删除、增加时的Bug;

ü  修复了图层顺序调整对话框的相应Bug;

ü  重新写的View中的OnKeyDelete()函数,拆分形成针对矢量、影像、对象的各自函数;

ü  不允许矢量编辑时,属性表同样不允许删除;

Update 2022.08

ü  增加了光谱曲线Pane中显示图例的功能;

ü  更改选中对象,增加vector记录,能够知道哪些对象被选中及顺序,用于左对齐等应用;

ü  BorderObj增加几个属性:是否自动计划标注信息,还是由用户指定标注信息;

ü  更改了对象属性表的显示顺序,符合用户习惯,上面在上,下面在下;

ü  ObjEdit中更新了UpdateBorderObjInfo,存储、恢复Border的标注信息;

ü  更新了DlgLight的对应对话框,用户配置;

ü  增加了允许更改鼠标滚轮方向的选项,对于Win8的触屏电脑更改后更符合用户习惯;

ü  增加了对象的对齐功能;

ü  增加对多对象同时复制、粘贴的功能支持;

ü  表头采用黑体字展现;

ü  制图边框中增加了交叉线与子交叉线;

ü  修改了制图边框中的因为字体增大而导致的标注被部分切分、显示不全的Bug;

ü  修改了画平行面、选择栅格平行选区中的方向偏向一方的Bug,增加了对应的GetSide()函数;

ü  允许一次性选择多个对象进行复制、粘贴;

ü  改进了按下Shift进行矢量选择时不允许多选的Bug;

ü  公里è千米;

ü  删除对象时更新对象属性表;

ü  修改了双击对象编辑文字时选中的为最底层对象的Bug。

Update 2022.07

ü  增加了光谱曲线Pane中显示图例的功能;

ü  修改了Layout,不显示的图层不在制图图例中显示;

ü  修改了MSSymbolObj中针对MSGraduateFillSymbolObj的数据格式,变为double方式,去掉了制图时的Bug;

ü  完善了光谱曲线Pane的其他功能;

ü  修改了影像拖拽进软件的显示策略:默认为无拉伸,当最小值小于0或最大值大于255时,用最小最大值拉伸;当最大与最小值之间小于10时,用线性2%拉伸;当最大与最小值之间小于100时,用最小最大值;

ü  增加了光谱曲线中保存光谱曲线的功能,以及批量保存光谱曲线的功能;

ü  修改对象的计算距离函数GetDistance(),如果是线直接返回距离,其他返回最短距离;

ü  重新整理了对象选中功能(线、面);

Update 2022.06

ü  增加了对象锁定的功能,修改了对应的很多文件,(保存版本升到1.2.1.4);

ü  对于锁定的对象,显示其特征点为灰色,对于未锁定的,正常显示;

ü  锁定对象复制粘贴后新的对象不锁定;

ü  对象属性表中更改了对象的锁定状态后刷新视图;

ü  改进全图显示的小Bug;

ü  修复了Bug:当一个处于锁定状态的对象被选中时,鼠标移到在其他未选中的且未锁定的对象时,原来能够移动锁定对象,错误!修正;

ü  ※增加了Border,能够实现坐标的自动计算与标注,用于制图;

ü  增加对象中的锁定/解锁按钮及制图边框按钮,完善ObjTable相关功能;

ü  RGB彩色影像合成时线性2% è 线性 x%;

ü  对象格式刷不刷锁定信息,改进小Bug,格式刷不应该能够刷到锁定对象;

ü  改进制图边框中非度单位的小Bug,认为所有需要标记的均为整数;

ü  栅格单一值、分类值渲染时允许List上右键修改Label;

ü  增加了新的模块:MHMapSpecCurve,能够显示鼠标处的光谱曲线,并通过模块MHMapDlgLight进行相关属性设置,MHMapRender进行显示;

ü  模块MHMapDef中增加函数GetLastLayer()及对应的遍历函数;

ü   

Update 2022.05

ü  Graduate模式增加了保留小数点位数设置,并对应更新(保存版本升到1.2.1.3);

ü  增加“真实性检验”版本;

ü  更改了指北针的渲染方式,类似于ScaleBar的方式,缩放时图片缩放而不是重新渲染,避免不一致;

ü  修复了矢量选择(编辑工具中的点选工具)中的Bug,原来采用最小面积,但没有考虑MultiPolygon,此次考虑多个MultiPolygon,需要选择最小面积的Feature而不是内部的Polygon;

ü  修复矢量选择、生成时按下Shift的Bug;

ü  更新一些图标;

ü  增加新功能:生成椭圆矢量,实现原理是将椭圆大致分为360个左右的点,再逐点计算坐标并形成多边形;

ü  增加新功能:生成矩形时按下Shift实现生成正方形,生成椭圆时按下Shift时生成圆;

ü  修改Bug,当鼠标在对象上调整对象光标时删除对象,出错,修改;

ü  界面上增加了所有用户交互工具的Prompt的Tooltip指示文字;

ü  增加DouglasPeucker矢量简化算法,并将原来的栅格数据有效范围估算算法再增加了一个类似工具,并精确至像素级,如果新生成的Shp文件过于复杂可以采用此简化工具进行后处理;

ü  改进MHMapRender的渲染效率,对于内岛很多的要素,如果内岛与当前视图不相交,忽略;

ü  改进MHMapFeaEdit中的内存泄漏的Bug(函数MergePolygon());

ü  改进Clip与Intersect工具,后者必须选中要素才可用;

ü  Ctrl+Shift+C+C,快捷生成椭圆;

ü  增加椭圆时,鼠标移动同时也绘制出对应的矩形;

ü  修改类MSLegend,图例类不再提供背景填充色,而统一由所有OBJ的属性提供,但在预览时借用对应的充填色进行充填;

ü  修复了很多999999,替换为9*1e30或2*1e9;

ü  改进了鼠标编辑时选择中的一个小BUG;

ü  将矢量分组渲染中的 [5 20]类似的中的-号改为~号[5 ~ 20],避免同负号相混淆;

ü  图层树上点击左键改变颜色时需要更新树,增加UpdateTOA();

ü  更新所有的图标;

ü  增加了栅格数据采用平行面选区进行选择功能;

Update 2022.04

ü  实现对象的文字数据结构与渲染方法,增加了文字的左、右对齐与上下对齐,以及采用ATTR数据结构进行的撤销、重做;

ü  修改CRenderImpl的DrawObjectObj函数,判断当显示比例过小或过大时不再进行渲染;

ü  在模块MHMapDlgLight中增加了InputText窗口,里面仅有CEdit,能够实现文字输入;

ü  所有调用模块MHMapGDAL的原来可能采用的是该模块的对象,现在均需要调用MHMapView查找对应的指针,通过指针调用,同样地,MHMapRender、MHMapDlgLightShow对应的指针也类似;

ü  重新梳理了UpdateMHMapView与UpdateMHMapOverview函数,把所有相关函数也确认一下是否需要重新完全刷新;同样地,将MHMapView中类似的其他Update***系列函数也重新梳理;

ü  对MHMapTree模块的函数也进行了上条类似的处理,同时把里面一个函数抽出来重新作为一个函数;

ü  增加椭圆的绘制,以及在按下Shift键时实现圆的绘制;同样地,矩形对象增加时按下Shift键时可以绘制正方形对象;

ü  完成了对象编辑模块,修改了MHMapDef相应存储功能;

ü  增加模块MHMapDef中写入MSMapObj的WriteXML(MSObjectObj*)的功能,版本升级到1.2.1.2,能够将当前的对象全部写入硬盘、读取出来,增加Map中对象是否显示的变量;

ü  增加首次增加对象时的比例尺,以后进行缩放时将以此为基准进行线宽、文字大小等的缩放以后可能会更改成:Impl中一个单独的函数在原比例尺上绘制,再拉伸到当前比例尺

ü  对象上:文字大小、透明度、图例指针、比例尺指针、指北针指针维护;

ü  去掉了原来MSMapProject存在的少量Bug;

ü  RenderImpl中将文字渲染单独出来成一个函数;

ü  修改MHMapObjEdit增加一大堆函数,比较重要的是Update****Info(),更新图例、比例尺、指北针的信息,并记录撤销、重做信息;类似地,还有SetSelObject***();

ü  修改MHMapDlgLight模块,增加模式显示图例、比例尺、指北针等信息的对话框,并获取新的信息Get****Info();

ü  修改MHMapDlgLight模块,增加输入文字的对话框,并获得新输入的文字作为对象的文字;

ü  针对对象:允许进行光标(工具)切换,当为生成**工具时,移到对象上可变成移动光标,到角点时可变成调整大小光标;

ü  完全更改、更新了制图模块,修改了对应的类变量、结构与构造函数等,去除了冗余信息,重新定义了North、ScaleBar、Legend相关重要参数;

ü  修改、增加了MHMapProject中针对North、ScaleBar、Legend的信息存储;

ü  修改了MSObject中拷贝构造函数的实现,没有内存泄漏;

ü  修改了MHMapRender针对North、ScaleBar、Legend的渲染;

ü  修改、增加了模块MHMapObjEdit中针对以上3种的编辑;

ü  修改了模块MHMapDlgLight中针对以上3种的属性对话框信息展现及信息修改;

ü  增加、修改针对对象的MoveObjectTo()函数,使得能够进行对象的任意位置移动;

ü  增加针对对象信息的一次性设置函数SetObjectInfo()

ü  修改了水平、竖直对齐的变量;

ü  typedef enum

ü  {

ü      HORIZONTAL_LEFT_ALIGMENT  =   0,           //左对齐

ü      HORIZONTAL_CENTER_ALIGMENT =   1,           //中间对齐

ü      HORIZONTAL_RIGHT_ALIGMENT =   2,           //右对齐

ü      HORIZONTAL_AVERAGE_ALIGMENT    =   3,           //分散对齐

ü  } MSHorizontalAligmentType;

ü  LineObj采用充填色与透明度进行文字的遮盖;

ü  MHMapObjEdit中增加对对象位置移动的函数,并重新写了设置对象、North……的信息函数;

ü  将原来的North等对话框改为属性页模式;

ü  调整透明度的实现采用SetTimer()方式,去掉了卡顿现象;

ü  增加了图片的属性,真正完成了标签显示所有对象属性的功能;

ü  增加对象格式刷功能;

ü  增加对象属性表模块及功能;

ü  修改了MSEnvelopObj中的一个小Bug,进行Merge;

ü  增加函数MSObjectObj* MSMapObj::GetValidObjectPtr(int nIndex)

ü  增加各表格的背景Colomn的颜色;

ü  修改了比例尺的显示模式,在视图不并不因为视图缩放进行动态计算比例尺,而是按初始生成的图片进行缩放,类似于图例;

ü  修复了一个好久一直未能解决的Bug,当进行矢量节点编辑时,选中多个点后可以进行选中节点的编辑,拖拽位置等操作,现在已完全实现;

ü  2022年04修正Over,给研究生上课完毕。

Update 2022.03

ü  修改模块MHMapRender,修复了当一个栅格数据文件进入视图并需要投影转换到经纬度并在中间与边界不相交时不显示的Bug;

ü  更名MHMapFeaPolygonOrIslandRemove模块为MHMapFeaPolygonProcess,并更改对应的算法,增加Shp的输出,去掉部分Bug,并允许删除冗余多边形;

ü  选中要素时,右键菜单中选中要素的项均可用,并允许弹出未选中要素的属性表;

ü  没测量很小的值时,原来显示的为0.000000,现改为科学计数法;

ü  修改了Label注记方法,把原来的对象改成了指针,同时消除了一些错误的多余判断,提高了效率;

ü  修改了Label注记顺序,由上至下标注,更符合正常思维,提高效率;

ü  修改了矢量编辑时点击仅选择一个要素的方法,如果有多个位于鼠标处,选中最小的(面积或长度);

ü  增加Object对象的相关操作;

ü  修正了挖洞的一个Bug,选中要素再挖时出错,改正;

ü  改正了MHThematic类的相关函数,可以继承;

ü  MSSymbolObj::MSSymbolObj(const MSSymbolObj& srcObj) : MSObj(srcObj)

ü  {

ü      MSSymbolObj* pSymbolObj = (MSSymbolObj*)&srcObj;

ü      CopySymbolInfoFrom(pSymbolObj);

ü  }

ü  在矢量编辑的删除多边形或多边形内岛时,允许不设定面积大小进行删除;

ü  增加对象及相关操作,以及对象编辑的项目;

ü  消除了一个Bug,Clip或Intersect时不对Touch的要素产生影响;

ü  修改了模块MHMapAttrTable与MHMapGDAL,大大改进了矢量要素很多时的属性表弹出时的效率(用了4种方法,目前选择第3种);

ü  增加了对象中,图例、比例尺、指北针对象,同时修改对应的显示,包括MHMapDef、MHMapObjEdit、MHMapRender;

ü  去掉一些Bug,对于故宫图层,有些针对属性表乱码,采用Category等方式渲染;

ü  修改了所有类调用MHMapGDAL的指针,均需要从MHMapView中获得;

ü  重新梳理了UpdateMHMapView()、UpdateMHMapOverview(),以及相关函数;




https://blog.sciencenet.cn/blog-3525521-1378558.html

上一篇:我的第一篇科学网博客
下一篇:发表新的MHMapGIS应用及开发版本(2023年4月)
收藏 IP: 210.72.26.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 16:59

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部