
GIS软件
文章平均质量分 73
深蓝静音
一年365天,一天过365次!
展开
-
GDAL的最大波段数限制及最大文件数限制
GDAL的最大波段数限制及最大文件数限制最大波段数限制最大文件数量限制最大波段数限制GDAL写文件时,一个文件最多可以有多少个波段呢? int nMaxBandCount = atoi(CPLGetConfigOption("GDAL_MAX_BAND_COUNT", "65535")); printf("Max band count:%d\n", nMaxBandCount);我们可以用CPLSetConfigOption来修改这个数值: //设置最大波段数 CPLSetConfigOpt原创 2021-10-29 10:51:15 · 786 阅读 · 0 评论 -
GDAL生成灰度和彩色缩略图
头文件:#ifndef IMAGETHUMB_H#define IMAGETHUMB_H#pragma once#include //生成单波段灰度缩略图bool CreateThumbnail( const char* input , const char* output , int bandID , float scale);//生成RGB彩色缩略图bool Cre原创 2012-12-28 14:30:42 · 6171 阅读 · 1 评论 -
如何生成IStyleGalleryItem和ISymbol对象的预览图
先来看一下ArcMap的符号选择器:ArcMap的符号选择器都提供了符号的预览图,另一个预览图的位置是在按钮上,比如设置MapGrid的格网交点符号和格网线符号。本文给出生成这里的符号预览图的代码。方法1:通过ISymbologyStyleClass的Preview方法生成预览图 private string routin_ReadRegistry(str原创 2012-12-30 00:03:08 · 4888 阅读 · 0 评论 -
AE C#与C++接口调用差异总结
目前AE C++的开发资料比较少,即使是C#的资料,也不尽如人意。考虑到国内目前做C++ ArcGIS engine开发甚至Qt + AE的人比较少,对于C#+AE出身的人,刚开始尝试QT +AE可能会困难重重,因此总结一下两者之间的接口调用差异,希望能对大家有所帮助。获取接口[C#] IGlobeControl pGlobeCtr = axGlobeCon原创 2012-01-09 16:05:51 · 2919 阅读 · 2 评论 -
关于MapControl和PageLayout地图同步的问题
按照ArcMap的处理方式,地图和制图是分两个页面的,他们之间通过共享同一个Map对象来实现地图同步,具体做法就是在PageLayoutControl的PageLayoutReplaced事件发生时,将当前的活动地图指派给MapControl,然后在二者之间实现切换,基本做法如下:原创 2014-04-21 11:25:39 · 9516 阅读 · 3 评论 -
MODIS MCD12Q1数据批量提取
关于MODIS土地覆盖类型产品的信息,可以参考以下地址:1.MODIS官网2.MODIS产品MCD12Q1数据ENVI解析本文参考读取HDF-EOS一文,编写了相应的提取工具,截图如下:下载地址:MODIS_MCD12Q1_Extract原创 2014-03-12 11:32:50 · 10111 阅读 · 4 评论 -
MapX系列-- 鹰眼
鹰眼 map对象的CtlBounds 是当前可视地图区域的边框矩形,可以用CtlBounds生成鹰眼。 If Not m_mxMapEE Is Nothing Then Dim mxPoints As New MapXLib.Points Dim mxRectangle As New MapXLib.Rectangl原创 2010-03-31 09:36:00 · 1687 阅读 · 0 评论 -
AE初始化liscence
[C#] using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using ESRI.ArcGIS.esriSystem;namespace GlobeCtrMouseAndKey{ static class Program原创 2012-01-09 16:16:17 · 2830 阅读 · 0 评论 -
ArcGIS Engine二次开发——计算shapefile面图层要素的面积
前几天,有个同事问我怎么计算面图层的面积,我也是好久没做AE的事情了,简单的查了查,告诉他用IArea接口。到了下午,他的这个问题依旧没有解决,继续求助于我。我百度了下,没有找到相应的文章,于是我意识到这个简单的事情,可能对于很多接触AE不深的人,真的是非常难得事情。最难的可能是不知道怎么做,就像我的同事一样。我很快就告诉他用IArea接口,他却惊讶的问我“你怎么知道的?”,并说他也是查到“似乎是原创 2015-03-30 14:39:42 · 10901 阅读 · 3 评论 -
如何解决栅格色彩拉伸后TocControl里的图例不能更新的问题2
之前对栅格图层拉伸渲染后图例不能更新的问题做了深入的探索和研究,虽然找到了解决办法,但是感觉还是和ArcMap的处理方式有差异,因为ArcMap做相同处理后其图例项的符号转换为IColorRampSymbol后,LegendClassIndex属性都是0。因为偶然的一瞥,发现RasterStretchColorRampRendererClass实现了IRasterRendererColorRamp原创 2012-09-20 14:41:27 · 2766 阅读 · 1 评论 -
如何在运行时创建MapContro并绑定到TocControl
做了一个MDI程序,想在代码中动态创建地图控件,代码如下: private void tabbedView1_QueryControl(object sender, DevExpress.XtraBars.Docking2010.Views.QueryControlEventArgs e) { Panel panel = new Pan原创 2012-09-29 18:47:03 · 5784 阅读 · 2 评论 -
MapX系列-- 鼠标滚轮支持
鼠标滚轮支持mapX控件提供了预制的鼠标滚轮事件,并且允许用户自定义鼠标滚轮的响应事件。如果要使用预制的功能,只需要指定Map.MouseWheelSupport属性即可,分为三种响应情况,1为不响应【 None】,2为地图缩放或者地图滚动 【Zoom/Scroll only (no Autscroll)】,3为同时支持缩放和滚动【Full】,鼠标支持常数【MouseWheelSupportC原创 2010-03-30 12:13:00 · 3754 阅读 · 0 评论 -
MapX系列-- 使用LayerInfo object 在map中添加栅格图层
使用LayerInfo object 在map中添加栅格图层 对于一副栅格图像,在Mapinfo里配准后就会发现在原来的.bmp或者.jpg文件的基础上会新生成一个同名的.tab文件。mapX支持的栅格格式还是比较多的,包括:l TIFF (*.tif)l MrSID (*.sid)l ECW (*.ecw)l原创 2010-03-30 12:28:00 · 4247 阅读 · 1 评论 -
Qt笔记-1
1 基本常识1.1使用qmake命令1.1.1 设置环境变量将QtSDK的安装路径设置为环境变量,比如安装路径D:\QtSDK\Desktop\Qt\4.7.3\msvc2008\bin,将此加入用户或者系统的path变量里。1.1.2 常用qmake命令l 新建一个目录,从该目录下启动dos,输入 qmake –project就可以生成与目录同名的.pro文件,然后使原创 2011-11-16 21:20:10 · 1721 阅读 · 0 评论 -
Qt写文本文件
QTexstStream用于读写纯文本以及HTML,XML等文本格式的文件,此类考虑了Unicode编码与系统本地编码的或其它任意编码之间的转换问题,别且明确地处理了因使用不同的操作系统而导致的行尾符之间的转换(windows系统的行尾符是“\r\n”,unix和mac os x系统是“\n”)。QTexstStream的操作对象是QIODevice,可是QFile,QTEmporaryFile,...原创 2011-11-16 21:24:21 · 11929 阅读 · 1 评论 -
Qt读文本文件
文本文件内容:5 19total value6 20 abcde读法: QFile fileIn("test1.txt"); if(!fileIn.open(QIODevice::ReadOnly)) { QMessageBox::information(this,tr("打开文件失败!"),fileIn.errorString());原创 2011-11-16 21:22:39 · 2046 阅读 · 0 评论 -
GlobeControl轨道飞行工具和显示指北针
[C#] ICommand cmd = new ControlsGlobeOrbitalFlyToolClass(); cmd.OnCreate(axGlobeControl1.Object); if (cmd.Enabled) axGlobeControl1.CurrentTool = cmd as ITool;原创 2012-01-09 15:50:48 · 2612 阅读 · 0 评论 -
设置GlobeControl当前的工具
[C#] ICommand command = new ControlsGlobeZoomInOutToolClass();command.OnCreate(axGlobeControl1.Object);if (command.Enabled == true){ axGlobeControl1.CurrentTool = (ITool) command;}[Vi原创 2012-01-09 15:52:47 · 1470 阅读 · 0 评论