3S 地理信息系统开发
二次开发
妖怪喜欢风
现在的工作重点是操作系统(如Linux、QNX、Android)BSP层开发和虚拟化技术研究方向
展开
-
ENVI 图像处理(5):数据文件和头文件
头文件(.hdr后缀)ENVI头文件包含用于读取图像数据文件的信息,它通常创建于一个数据文件第一次被 ENVI读取时。单独的ENVI头文本文件提供关于图像尺寸、嵌入的头文件(若存在)、数据格式及其它相关信息。所需信息通过交互式输入,或自动地用"文件吸取"创建,并且以后可以编辑修改。可以在ENVI之外使用一个文本编辑器生成一个ENVI头文件(容易出错不推荐)。请用记事本打开查看熟悉头文件相关信息。数据文件(后缀名任意设置甚至可以不设)通用栅格数据都会存储为二进制的字节流,通常它将以BSQ(按波段顺序)、原创 2021-05-17 00:46:43 · 9202 阅读 · 2 评论 -
ENVI图像处理(2):使用自定义坐标系
我们知道坐标系是由几部分构成的:spheroid:名称semimajor:长半轴semiminor:短半轴inverse flattening:扁率datum:基准面参数我们可以先取得相关参数名称 长半轴 短半轴CGCS2000,6378137.0,6356752.3名称 对应坐标系名称 D_China_2000,CGCS2000,0,0,0由前面知道,定义椭球体和基准面的文件如下把上面两个数据分别加入到这两个txt文件中接下来在classic中进行设置Map->c原创 2021-05-16 18:11:07 · 1277 阅读 · 0 评论 -
ENVI图像处理(6):NDVI和植被指数
NDVINDVI植被指数ENVI操作NDVIband mathquick stat统计图NDVI定义:NDVI(Normalized Difference Vegetation Index,归一化差分植被指数,标准差异植被指数),也称为生物量指标变化,可使植被从水和土中分离出来。NDVI基本原理:植物叶片组织对蓝光(470nm)和红光(650nm)有强烈吸收,而对绿光和红外光强烈反射。叶片中心的海绵组织和叶片背面组织对近红外辐射(NIR, 700-1000nm)反射较强。从红光(Red)到红外光原创 2021-05-17 01:41:50 · 51690 阅读 · 9 评论 -
遥感(2):电磁波谱
将各种电磁波按波长的大小(或频率的高低)依次排成图表,此表即为电磁波电磁波的波长(频率)不同,是因为产生电磁波的波源不同。波长(wavelength)是指波在一个振动周期内传播的距离。也就是沿着波的传播方向,相邻两个振动位相相差2π的点之间的距离。波长λ等于波速u和周期T的乘积,即λ=uT。同一频率的波在不同介质中以不同速度传播,所以波长也不同在电磁波谱中,各种类型的电磁波,由于波长不同,他们的性质就有很大差别,但是也有一些共性:在真空中(或空气)中传播的速度相同,都等于光速c遵守同一的反原创 2021-05-16 02:24:08 · 3139 阅读 · 0 评论 -
遥感(4):卫星遥感图像处理
卫星遥感图像处理基础知识遥感数字图像处理数字图像及直方图遥感图像预处理遥感数字图像增强的基本原理直接在数字图像上进行增强遥感数字图像增强的方法多重图像增强处理遥感数字图像的辐射校准特征变换特征选择遥感数字图像的计算机分类基本原理特征空间及地物在特征空间中的聚类特性鉴别函数(分类算法)自动分类遥感影像的光学增强处理是一种利用光学仪器,根据彩色合成原理采用相关掩膜技术对图像进行增强处理的方法基础知识增强目的:利用遥感图像进行目视判读的重要依据是图像的亮度值(亦成灰度值或者浓淡值)。但是在遥感图像的获取、传原创 2021-05-16 16:11:06 · 3223 阅读 · 0 评论 -
遥感(3):航空遥感和航测成图
航空遥感和航测成图航空摄影仪和感光材料航空摄影仪感光材料及其特性摄影处理和相片晒印航空摄影测量对摄影资料的基本要求航空摄影概述航空摄影测量对空中摄影的基本要求多波段航空摄影色色的形成多层彩色感光材料与彩色摄影红外片和假彩色片航摄影片的判读判读特征判断方法和要领航空遥感又称机载遥感,是指利用各种飞机、飞艇。气球作为传感器运载工具,在空中对不同的地物及其特征进行远距离的探测和识别的综合技术航空摄影仪和感光材料航空摄影仪单镜头分幅摄影仪全景摄影仪感光材料及其特性感光材料:在片基上涂满感光物质,曝原创 2021-05-16 14:03:44 · 827 阅读 · 0 评论 -
ENVI图像处理(4):主分量变换(主成分分析、PCA)
PCAPCA主成分分析基本概念协方差矩阵特征值和特征向量PCA思想优缺点PCA基本步骤PCA-code(python)ENVI的PCA操作PCA主成分分析特征变换的目的在于使地物集中在几个主要的波谱段上,在保证信息容量最大化的前提下压缩参与分类的数据量,以提高分类速度。此处主要介绍主分量变换,也叫做主成分分析(Principal component analysis,PCA)基本概念首先来介绍一些基本概念协方差矩阵方差:针对一维集合,反映了其离散程度。是协方差的一种特殊情况协方差矩阵:针对原创 2021-05-17 00:37:26 · 20567 阅读 · 10 评论 -
ENVI图像处理(7):图像配准
引起图像几何变形一般分为两大类:系统性和非系统性。系统性一般有传感器本身引起的,有规律可循和可预测性,可以用传感器模型来校正非系统性几何变形是不规律的,它可以是传感器平台本身的高度、姿态等不稳定,也可以是地球曲率及空气折射的变化以及地形的变化等。常说的几何校正,就是要消除这些非系统性几何形变。图像配准:图像配准就是设法建立两幅图像之间的对应关系,确定相应几何变换参数,对两幅图像中的一幅进行几何变换的方法。图像配准和几何变换的差异:两者的过程完全一样,但是意义和目的不同。几何校正注重的是数据本身原创 2021-05-19 15:17:25 · 13534 阅读 · 4 评论 -
遥感(1):遥感是什么?
“遥感”是由美国地理学家伊瑞林 普鲁特等在1960年提出的。遥感就是不直接接触物体本身,从远处通过仪器(传感器)探测和接受来自目标物体的信息(如电场、磁场、电磁波、地震波等等),经过信息的传输及其处理分析,识别物体的属性及其分布特征。遥感技术是从不同高度的平台上,使用各种传感器,接收来自地球表层各类地物的电磁波信息,并对这些信息进行加工(分析)处理,从而对不同的地物及其特征进行远距离的探测和是恶的综合技术。特点:宏观性和综合性强综合效益高信息量大,技术先进,准确性高获取信息快,更新周期短,动原创 2021-05-16 01:40:38 · 1863 阅读 · 0 评论 -
ENVI图像处理(1):ENVI影像处理基础
ENVI影像处理基础ENVI安装目录数据显示显示内容数据组成Linear线性拉伸Data manager数据透视显示DN(灰度)值打开特定传感器类型的数据显示方法三视窗显示波段列表ENVI 5.4显示ENVI安装目录Bin:相应的ENVI运行目录。Classic: ENVI经典模式安装路径。Custom code;自定义代码Data: ENVI自带数据目录。Extensions:客户自主开发的、可执行程序,比如各种补丁程序。Gptools: GP工具箱文件。Help: ENVI的帮助文档。原创 2021-04-28 18:44:48 · 7118 阅读 · 0 评论 -
ENVI遥感处理(9):遥感影像镶嵌和图像裁剪
遥感影像镶嵌和图像裁剪图像镶嵌图像重叠设置切割线设置色彩平衡设置接边线操作输出图片裁剪规则裁剪resize data(toolbox)不规则裁剪生成xml文件保存为dat文件图像镶嵌图像镶嵌,指在一定数学基础控制下把多景相邻遥感图像拼接成一个大范围、无缝的图像的过程。ENVI的图像镶嵌功能可提供交互式的方式,将有地理坐标或没有地理坐标的多幅图像合并,生成一幅单一的合成图像。最新ENVI提供了全新的影像无缝镶嵌工具Seamless Mosaic,所有功能集成在一个流程化的界面打开mosaicking-原创 2021-05-19 17:39:49 · 19195 阅读 · 5 评论 -
ENVI影像处理(8):图像融合
图像融合是将低分辨率的多光谱影像与高分辨率的单波段影像重采样生成一副高分辨率多光谱影像遥感的图像处理技术,使得处理后的影像既有较高的空间分辨率,又具有多光谱特征。图像融合除了要求融合图像精确配准外,融合方法的选择也非常重要,同样的融合方法用在不同影像中,得到的结果往往会不一样。ENVI中的几种融合方法的及其适用范围包括:HSV变换:首先对RGB 图像变换HSV 颜色空间,用高分辨率的图像代替颜色亮度值波段,自动用最近邻或双线性或三次卷积技术将色度和饱和度重采样到高分辨率像元尺寸,然后再将图像变换回RG原创 2021-05-19 15:34:31 · 10559 阅读 · 2 评论 -
ENVI图像处理(3):多重图像的差值运算和比值运算
在进行遥感图像的地物分类的时候,利用多重图像参与分类一般来说要比只利用单图像进行分类好。因为多重图像可在不同波段、不同时间、不同空间位置等来反映被摄地物的信息,所包含的信息相对而言远多余单图像。但是如果利用多幅图像进行分类,会因为数据量过大而影响分类速度,另一方面多重图像也会重复包含一部分相同信息。基于此,提出了多重图像融合理论。其中比较常用的就是四则运算中的差值运算和比值运算差值运算:可以表示地物变化的方向和程度,多用于地物的动态检测。(float(b1)+float(b2)+float(b3))原创 2021-05-16 21:50:15 · 8584 阅读 · 0 评论 -
C#学习之路(2):@字符和Convert类型转换
先来看看第一个@:取消\在字符串中的转义作用将字符串按照原格式输出using System;namespace _0520{ class Program { static void Main(string[] args) { Console.WriteLine(@"白日依山尽黄河入海流"); Console.ReadLine(); // 白日依山原创 2021-05-20 17:37:27 · 165 阅读 · 0 评论 -
C#学习之路(10):字符串的不可变性和只读性
声明一个string引用类型string s = "Hello World";不可变性:当我们把s的指向改变的时候s = "Hello linux";原来开辟在heap中的值"Hello World"会被系统自动释放,所以一般不推荐(可以使用)只读性:string可以看作是一种只读的char数组string s = "Hello unix";s[0] = 'h'; // bug, not allow 所以当涉及修改string的时候,做法是把他转化成char数组类型string原创 2021-05-21 08:31:49 · 461 阅读 · 0 评论 -
C#学习之路(4):out和ref用法
using System;namespace _0520{ class Program { public static void getnum(out int max, out int min) { max = 1; min = 2; } static void Main(string[] args) { int max, min;原创 2021-05-20 19:12:36 · 147 阅读 · 0 评论 -
vs中图标的含义
原创 2021-06-03 22:15:25 · 1377 阅读 · 0 评论 -
C#学习之路(6):属性
一个类由构造函数、析构函数、方法、字段、属性、主函数入口构成,这其中的属性得说明一下属性的作用就是保护字段、对字段的赋值和取值进行限定using System;namespace _0520{ class Program { private string _name; public string _Name { get { return _name; } // 返回值限定 s原创 2021-05-20 20:16:40 · 85 阅读 · 0 评论 -
C#学习之路(17):IList和List及其与ArrayList关系
今天在看到ArrayList一个方法的时候有些疑惑public static IList FixedSize(IList list){ if (list == null) { throw new ArgumentNullException("list"); } return new FixedSizeList(list);}传入的一个IList类型的对象,but在ArrayList私有类中 private class FixedSizeLi原创 2021-05-22 10:23:50 · 374 阅读 · 0 评论 -
C#学习之路(16):internal关键字和类的访问等级
internal:只能在当前项目中访问。在同一个项目中,internal和public的权限是一样。访问等级:基类的访问权限比派生类的访问权限(会暴露父类的成员)原创 2021-05-22 00:11:43 · 447 阅读 · 0 评论 -
C#学习之路(8):命名空间namespace及其相互引用
命名空间俗称类的文件夹,一般是:namespace __A { class B{ ... }}一般引用一个命名空间是using __A;系统库的命名空间一般是点开看不了的(听说这是“微软的秘密????”)那我们就直接这样用using System.Collections.Generic;...System.Collections.Generic.List<int> list1;点开List进去看看namespace System.Collections.Gen原创 2021-05-21 07:59:36 · 3026 阅读 · 0 评论 -
C#学习之路(3):enum、struct和数组
和C和C++相似的用法,我就不做多赘述了枚举类型enum和结构structusing System;namespace _0520{ class Program { public enum Sex { male, famale } public struct A { public int a; string原创 2021-05-20 18:58:07 · 284 阅读 · 0 评论 -
C#学习之路(14):装箱和拆箱
object,是C#中所有类型的基类,也就是说所有类型最中继承于它,不管任何类型都可以转变成object装箱和拆箱形成的条件之一就是有继承关系装箱:值类型转化成引用类型拆箱:引用类型转换成值类型继承关系让他们具有了高效的特点...原创 2021-05-21 18:30:03 · 125 阅读 · 0 评论 -
C#学习之路(9):值类型和引用类型
值类型:int,double…特点:在栈中开辟内存int a = 9;double d = 9;引用类型:string,自定义类特点:初始化的对象在栈中存放,但是存放的是一个指向堆中的值的内存空间string s = "Hello World";class A { ...}A a = new A();...原创 2021-05-21 08:09:41 · 133 阅读 · 0 评论 -
C#学习之路(11):new修饰符作用
当一个派生类继承基类的时候using System;namespace _0520{ class Person { public void getnum() { Console.WriteLine("Person"); } } class Student: Person { // 基类中有getnum方法,student中有getnum方法,两者冲突 public原创 2021-05-21 17:12:51 · 268 阅读 · 0 评论 -
C#学习之路(12):集合ArrayList
命名空间using System.Collections;创建一个集合对象ArrayList list = new ArrayList();里面的方法我实在不想一个一个测试,直接看源代码吧using System.Diagnostics;using System.Runtime.InteropServices;using System.Security;using System.Security.Permissions;using System.Threading;namespac原创 2021-05-21 18:04:06 · 210 阅读 · 0 评论 -
C#学习之路(13):Hashtable哈希表
引入命名空间using System.Collections.Hashtable创建一个hashtable对象Hashtable ht = new Hashtable();源码(他的构造函数还挺多的)using System.Collections.Generic;using System.Diagnostics;using System.Runtime.ConstrainedExecution;using System.Runtime.InteropServices;using Sy原创 2021-05-21 18:09:47 · 430 阅读 · 0 评论 -
C#学习之路(7):this用法
this作用:代表当前类的对象在类当中显示的调用本类的构造函效using System;namespace _0520{ class Program { private string name; private int age; public Program(string name, int age) { this.name = name; // 代表当前类的对象原创 2021-05-20 20:28:30 · 128 阅读 · 0 评论 -
C#学习之路(15):多态的使用方法:虚方法、抽象类和接口
虚方法,基类的方法加上关键字virtual,派生类的相同方法名加上关键字overrideusing System;namespace _0520{ class Program { static void Main(string[] args) { Person a = new A(); a.PrintName(); Console.ReadKey(); // A原创 2021-05-21 19:39:32 · 203 阅读 · 0 评论 -
C#学习之路(14):Path和File类
引入命名空间using System.IO;查看Path源码,可见其都是static方法,因此无需实例化对象,直接使用,File一样,不做讲解using Microsoft.Win32;using System.Runtime.InteropServices;using System.Security;using System.Security.Cryptography;using System.Security.Permissions;using System.Text;namesp原创 2021-05-21 18:15:46 · 576 阅读 · 0 评论 -
C#学习之路(5):params可变参数
using System;namespace _0520{ class Program { public static void Output(string name, params int[] arr) { Console.WriteLine(1); Console.Read(); } static void Main(string[] args) {原创 2021-05-20 19:30:29 · 133 阅读 · 0 评论 -
C#学习之路(1):一个简单的IO操作和数据类型
没有成本的学习,谁又不想学呢?那便来搞搞C#吧,主要是为了之后的ArcGIS二次开发做准备,慢慢来吧。先来看看一个建立在vs2019里面的控制台程序// 据我所知,这个应该是下面的打印接口Console的命名空间using System;namespace _0520{ class Program { // 类的主函数入口 static void Main(string[] args) { // 向输入流中写入一个字原创 2021-05-20 17:18:36 · 166 阅读 · 1 评论 -
Arcgis 熟练和操作
Arcgis 熟练和操作arcgis操作实验'''对于arcgis使用有一段时间了,前期是对于矢量,栅格数据的处理有了一个初步的了解,中期是在摸索中继续多层次的使用数据,以及逐步延伸到了空间分析,这段时间也是后期,对于数据有了一个质的飞跃,也逐步转移到三维数据上来,故写下此篇当做个人学习心得,在其中本人在当初错误或者不理解的地方为了防止读者再犯会加以注释###'''每部分分为理论,实践和注释部分前言先上官方回答:地理信息系统定义:地理信息系统(Geographic Information Sy原创 2020-10-11 17:56:18 · 1681 阅读 · 0 评论 -
GIS-Learning(1):空间参考系统
GIS-Learning地理坐标系统地理坐标系(大地坐标系)天文测量方法和大地测量方法参心坐标系和地心坐标系平面坐标系(投影坐标系、测量坐标系)地理坐标系统我们常说的地理坐标系统,也称为真实世界的坐标系统,是球面坐标系,是确定地理空间实体在地球表面上位置的空间参考系统,由椭球体和大地基准面(或椭球面)组成。地球是凹凸不平的,人们以假想的平均静止的海水面形成的“大地体”为参照,推求出近似的椭球体,该椭球体近似一个以地球短轴为轴的椭圆而旋转的椭球体,称为参考椭球体。将地球自然表面上的点归化到这个参考椭球面原创 2021-05-16 17:21:47 · 1134 阅读 · 0 评论 -
python对接INVEST和ARCGIS
Invest和Arcgis与python联系安装python包方法Invest和python安装invest的依赖包安装invest的python包安装invest的可视化页面Arcgis和python下载ArcgisArcgis和python交互对于数据进行批处理安装python包方法先来熟悉一下python安装包的三种方法终端输入pip install 库名(最简单也是最容易出错,下载速度慢),指定版本为==版本号镜像下载:pip install’库名’ -i https://pypi.tun原创 2021-04-01 22:20:33 · 1060 阅读 · 0 评论 -
空间数据库学习---(CP-1)
空间数据库学习—(CP-1)作者引言:数据库在当今时代无论在哪个行业都是非常重要的,而相对于普通数据库,空间数据库更具有三维特征,因此学习起来也更加困难,但是对于我们这也是必须掌握的,所以,让我们一起来学习空间数据库吧,baby们!常用:SQL,MySQL,oracle,MongoDB…基本概念:数据库(database)是长期存储在计算机内,有组织的,统一管理的相关数据的集合,数据库能为各种用户所共享,具有较小的冗余度,数据间联系紧密而又有较高的数据独立性等特点为什么要用数据库???文件需要用原创 2020-11-04 18:18:36 · 662 阅读 · 1 评论 -
Arcpy操作
Arcgis-Arcpy持续更新安装安装步骤基础介绍地理信息系统(geography information system,GIS)是在计算机硬件支持下,对整个或者部分地球表层空间中的有关地理分布数据进行采集,存储,管路,运算,分析,显示和描述的技术系统。地理信息系统处理和管理的对象是多种地理空间实体数据及其关系,包括空间定位数据,图形数据,遥感图像数据,属性数据,主要用于分析和处理一定地理区域内分布的各种现象和过程,解决复杂的规划,决策的管理问题。(有些官方,看看就行)其他:略(嘿嘿嘿,可以去原创 2020-10-04 21:18:33 · 2133 阅读 · 0 评论 -
AE Tips:获取属性表中的所有记录
// 获得第一个图层IFeatureLayer fly = axMapControl1.get_Layer(0) as IFeatureLayer;// 获得属性表IFeatureClass fc = fly.FeatureClass;// 获得游标IFeatureCursor cursor = fc.Search(null, true);// 获得游标所代表的值IFeature fea = cursor.NextFeature();int cnt = 0;// 对属性表的记录进行遍历w原创 2021-06-05 21:30:11 · 262 阅读 · 0 评论 -
AE开发:GeoDataset、FeatureDataset&FeatureLayer、RasterDataset&RasterLayer概念区分
先以矢量数据Feature为例大白话来说IFeature:属性表中的一条记录(一行)IFeatureLayer:一个Map中显示的图层FeatureClass:一个FeatureLayer对应一个FeatureClassILayerFields:属性表里面的属性名字FeatureDataset:属性表这么说是不是很容易理解了?来看看官方说明(咬文嚼字看起来很不舒服)IFeature:提供对返回和设置特性属性的成员的访问。属性表的成员就是一条记录IFeatureLayer:提供对基于矢量地原创 2021-06-05 19:50:12 · 704 阅读 · 0 评论 -
AE接口查询示例:渲染(render)
接口查询虽然很复杂,但是是ArcEngine开发的核心所在,必须掌握在看官方API的时候其实只能靠猜,当然,如果有一定的英语基础能避免许多错误我们先来确定要操作的对象,矢量数据,一般是IFeatureLayer这个接口,先在他那里看看有没有渲染的方法那看看他的相关的实例化的类也没有,很可惜,那我们只有换接口了IGeoFeatureLayer看实例化类,没有继续看方法和属性,可见里面有一个renderer的属性!终于有一点眉目了(大多时候就是这么做的) [C#]原创 2021-06-05 14:54:49 · 737 阅读 · 0 评论