- 博客(16)
- 资源 (4)
- 问答 (3)
- 收藏
- 关注

原创 提高面状符号显示效率的方法
前言S-57电子海图渲染是电子海图数据可视化的过程,IHO为了保证电子海图显示的标准化和一不致性,制定了S-52《电子海图内容与显示标准》等系列标准和指南,同时以数据文件的形式发布了标准电子海图表达库“PresLib_ex.x.x.dai”,描述了电子海图显示用的颜色表、查找表、点符号描述、线型符号描述和填充模板描述,为电子海图的可视化提供了坚实的基础。传统电子海图主要应用于航海导航,其显示标准规定了海图符号不随显示比例的变化进行缩放,但海洋GIS 系统需求日益增长,电子海图做为基础底图被广泛的应用
2021-08-03 14:13:13
352

原创 ENC数据解密
ENC数据解密1. ENC的定义ENC字面含义是电子航海图(Electronic Navigational Charts),特指由国家海道测量机构或国家海道测量机构授权的公司或机构按国际海道测量组织(International Hydrographic Organization,IHO)颁布的《数字式海道测量数据传输标准》(Transfer Standard for Digital Hydrographic Data,编号S-57)制作的矢量电子航海图。并不是所有的电子航海图都可以称为ENC。一般
2020-11-27 08:29:28
13936

原创 通过设备描述表句柄(HDC)获取设备DPI
通过设备上下文指针HDC获取设备DPI或DPM如何解决在不同windows版本和不同分辨率下设备的DPI(每英寸像素数)或DPM(每毫米像素数)是保证绘图尺寸正当确的关键,本文记录了本人在解决这一问题时心路历程。使用系统函数直接获取DPILOGPIXELSX...
2020-03-29 22:46:15
704

原创 VCF电子海图投影文件的生成
VCF格式电子海图投影文件的生成目前国内的电子海图除S-57格式的电子海图外,还有VCF格式电子海图,也就是shape格式电子海图。VCF格式电子海图是由国内官方出版机构出版的,包括一个map.rec控制文件和46组shape文件(.shp、.shx、dbf)。shape文件结构简单,而且是GIS老大ESRI公司推出的格式,能在arcgis软件上得到很好的支持。但由于VCF电子海图并未提供ar...
2018-10-23 10:26:37
2510
19

原创 原来是快速启动惹的祸-小键盘不能锁定
最近将操作系统升级到了Win10,并用固态盘做系统盘,系统启动飞快。可是每次开机数字小键盘不能锁定,总要手工锁定,然后上网查了一下,修改HKEY_USERS\.Default\Control Panel\Keyboard\InitialKeyboardIndicators 将2147483648修改为 80000002,还是不管用,后来关闭了快速启动,才解决问题。分析原因是这样的(当然是猜的),快...
2018-04-03 20:57:33
1347

原创 子午线弧长正反解程序-地图投影基础
子午线弧长正反解是地图数学基础解算重要内容之一,本程序以地图投影类为基础,以类函数的形式提供子午线弧长正反解的实现。该代码在VS2010上测试,计算数度为1E10-8米,1E10-9度。file *.hclass CMapProjection{public: CMapProjection(void); // 构造函数 ~CMapProjection(void); //析构函...
2018-03-18 19:27:29
893

原创 采用ISO8211封装的S57数据,中文读取时乱码及丢字原因分析与解决方法-更正与补充
原文"采用ISO8211封装的S57数据,中文读取时乱码及丢字原因分析与解决方法"所述方法,由于该
2014-05-21 17:29:17
2037
原创 c++函数返回中间包含‘\0‘动态字符串且无需外部释放内存的解决方案
c++函数返回中间包含'\0'动态符串,一般采用返回char *的方式,同时返回字串长度,但由于在函数内是动态分配的内存,需要在外部释放,否则会造成内存泄漏,在网上找了许久,也没有找到好的解决方案,后来在研究string类构造的基础上,找到了无需外部手动释放内存的解决方案。
2024-02-08 17:32:10
578
原创 基于GLUtesselator从任意多边形数据生成三角形数据
openGL从3.0以后采用了新的绘图机制,但仍不支持对任意多边形的处理,因此还是需要程序员在绘制多边形前进行网格化,并提交三角形数据。 GLUtesselator 能将任意多边形,简化为三角形或凸多边形的组合,从而使OpenGL能绘制出任意形状的多边形。那么如何从GLUtesselator中获取三角形数据就是一个很好的问题,新的绘图机制采用VAO、VBO、EBO顶点对象方式绘图,其中原理请参...
2019-08-20 15:27:45
1711
1
原创 求解n个元素数组不大于m个元素的子数组的最大和算法之一
#includeusing namespace std;int main(){long m,n,i,j,k,startid,endid;long long sum = 0, ans = 0; int * value; cin >> n >> m; value = new int[n]; // 根据输入构建原数组 for (int i = 0; i ...
2019-05-03 10:30:03
566
原创 采用ISO8211封装的S57数据,中文读取时乱码及丢字原因分析与解决方法,终极解决方案.
// 该程序自动判断输入数据的类型,正确返回数据长度,首先判断字段定长或变长,然后根据数据的定界符判断数据是双字节还是字节字串。最后正确返加字串的长度和字段占用内存的长度。// 依据:// 字段和子字段终止// 可变长度子字段必须由“单元定界符”(UT)终止。 可变长度子字段是在数据结构中通过没有范围的格式指示器指定(见第7.2.2.1节)。 // 所有S-57(ISO / IEC 8211数据字...
2017-10-08 18:10:09
739
1
原创 GBK与Unicode对照表的生成
gbk收录了两万多汉字,过去在BG2312上扩充的汉字基本上这里都有了,可是一直找不到合适的GBK代码表,因此写了这段小程序,生成gbk-unicode汉字对照表。
2015-05-02 18:51:12
1765
原创 采用ISO8211封装的S57数据,中文读取时乱码及丢字原因分析与解决方法
很多GIS爱好者或ECDIS开发商在读取S57数据文件时多参考了“ISO8211lib is a C++ library for reading ISO8211-formatted files, such as SDTS and S-57 format “,S57数据NATF字段采用Unicode双字节编码国家属性字段,也就是说S57数据中只有NATF字段的解析与处理涉及了双字节数据问题,...
2014-05-18 18:27:05
2635
S57电子海海图数据解析工具
2023-12-29
麒麟V10软件商店不能启动
2024-03-27
GDI+绘图问题,内存位图是否支持透明通道
2019-10-23
用GDI+绘制指定高度和宽度的字符
2017-06-14
请教四字节汉字如何在VC++中输入、存贮和输出,GB码和UNICODE转换 ?
2015-05-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人