- 博客(16)
- 资源 (12)
- 收藏
- 关注
原创 GIS内核-查询数据集数据并保存到新数据集, 转换中做动态投影
GsConnectProperty conn; conn.Server ="C:\"; GsSqliteGeoDatabaseFactory fac; GsGeoDatabasePtr ptrGDB = fac.Open(conn); GsFeatureClassPtr ptrFeaOri = ptrGDB->OpenFeatureClass("countries"); GsG...
2018-05-30 11:21:43 276
原创 C++11 vector 右值引用使用
常用的容器,比如vector 我们在存储自定义对象的时候常常为了避免拷贝构造需要直接存储指针,当然在不关心效率的场景那就随各位了.现在C++11 有右值引用可避免这类问题,如下:struct GsFeedbackItem{ GsFeedbackItem(GsFeedbackItemType t, GsGeometry* geo, GsFeedbackFunction f, double to...
2018-05-28 22:24:32 1912
原创 GIS内核-制图使用示例
制图需要将制图对象和视图map绑定起来,并且刷新的时候不能调用map的update,只有退出视图模式才能调用,否则可能财神线程安全问题, 也就是要控制视图状态,基本的使用如下:当前视图转为制图视图: GsPageLayout m_pLayout = new GsPageLayout(space->m_ptrGeoMap->ScreenDisplay());m_pLayout->...
2018-05-22 17:27:58 295
原创 GIS内核-开启编辑捕捉示例
内核编辑捕捉需要两个操作,绑定Map和绑定图层,具体示例如下 //GsMapPtr m_ptrGeoMap;///< 内核地图对象 //map绑定捕捉容器 GsSnapContainerPtr ptrSnap = new GsSnapContainer(space->m_ptrGeoMap); //添加节点捕捉算法对象 ptrSnap->AddSnaper(new GsN...
2018-05-22 14:10:46 660
原创 GIS内核-加载矢量图层示例
void MainWindow::AddLayerMutilLabel(){ GsShpGeoDatabaseFactoryPtr shpFac = new GsShpGeoDatabaseFactory(); GsGeoDatabaseFactoryPtr fac = new GsFileGeoDatabaseFactory(); GsConnectProperty cp; cp.Da...
2018-05-22 00:05:08 461
原创 GIS内核-编写自定义图层并完成绘制业务
需求问题:多个影像文件图层,和其对应的几何范围,需要一起显示,GIS内核只设计了基本的单个影像和单个地物类绘制的图层,请参见前面 GIS内核-加载tif 影像文件图层,以及GsFeatureLayer.封装一个自定义的图层至少要继承GsLayer 类,并且至少实现基本的基类 虚函数接口.下面是我封装的一个直接撸代码,头文件定义:class GsCoustomRasterLayer :publi...
2018-05-21 23:59:54 334
原创 GIS内核-加载栅格瓦片图层
void AddTileLayer(){ GsSqliteGeoDatabaseFactoryPtr fcsFac = new GsSqliteGeoDatabaseFactory(); GsGeoDatabaseFactoryPtr fac = fcsFac; GsConnectProperty cp; cp.DataSourceType = GsDataSourceType::eSq...
2018-05-20 22:32:47 605
原创 GIS内核-加载tif 影像文件图层
void AddFileLayer(){ GsFileGeoDatabaseFactoryPtr fcsFac = new GsFileGeoDatabaseFactory(); GsGeoDatabaseFactoryPtr fac = fcsFac; GsConnectProperty cp; cp.DataSourceType = GsDataSourceType::eFile;...
2018-05-20 22:31:02 2254 2
原创 GIS内核-多标注使用示例
//多标注代码void AddFeatureLayerMutilLabel(){ ////GsShpGeoDatabaseFactory shpFac; //GsSqliteGeoDatabaseFactoryPtr fcsFac = new GsSqliteGeoDatabaseFactory(); GsShpGeoDatabaseFactoryPtr shpFac = new Gs...
2018-05-20 22:29:01 248
原创 GIS内核 -质地填充使用示例
void GsUniqueValueRendererTest(GsFeatureLayer * pLayer){ GsUniqueValueRendererPtr pRender = new GsUniqueValueRenderer(new GsSimpleFillSymbol(GsColor::Red)); pRender->FieldName("OID"); GsSimpleF...
2018-05-20 22:24:17 158
原创 GIS内核-读取符号库,把符号绘制成图片
std::string path = u8"C:\\Users\\chijing\\Desktop\\test.symx"; GsSymbolLibrary sym(path.c_str()); GsSymbolPtr pSimpletttt = sym.SymbolByName(u8"干涸湖"); GsFillSymbolPtr pSimple = pSimpletttt;// ne...
2018-05-17 14:24:39 552
原创 GIS内核-连接WMTS服务
GsWebGeoDatabaseFactoryPtr ptrFac = new GsWebGeoDatabaseFactory(); GsGeoDatabaseFactoryPtr fac = ptrFac; GsConnectProperty cp; cp.DataSourceType = GsDataSourceType::eWeb; GsString str = "http://...
2018-05-17 14:15:08 438
原创 vs 和eclipse 混合调试 ---实现c++和java代码一起调试
vs 和eclipse 混合调试混合调试原理是使用附加进程方式,具体流程如下:1:vs编译C++代码2:eclipse 编译java 代码,保证javaw.exe 虚拟机执行的代码调用的是vs编出来的dll,也就是保证加载到内存的dll是同一套代码生成的。3:启动eclipse,调试,在java代码的c++调用代码处下断点,运行到此处停止。4:vs启动附加调试,调试进程为javaw.exe,C++...
2018-05-04 13:52:02 720
原创 PNG-的IDAT解析
前段时间在做PNG的解析问题,对于PNG格式基于字节的读写有了一定了解,此文记录如何解析PNG图片的数据字段,也就是真实像素的二进制解析,PNG的data数据基本数据块的组成为 :Filter + 压缩数据。(这里除去校验头尾),二进制读取自己写即可,文件头的解析等,本文也不记录,可以参看https://www.w3.org/TR/PNG/#9Filter或者参考这里中文解释https...
2018-05-03 20:43:55 9876 4
转载 免注册com组件-进程外组件
最近在搞进程外组件通信的东西,写了个demo,免注册的,一直没调通,其实就是两个问题卡了好几天,也没找到有用的资料,试了好几天终于才解决,现简单记录下来,免得大家跟我走一样的弯路。下面com端名称简写为com.exe遇到的问题:1. 调用 CoGetClassObject, 返回hr = 0x80040154 没有注册类 (原回:注册版的未注册,免注册版的未运行) ...
2018-05-02 12:12:30 1156
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人