科学网

 找回密码
  注册

tag 标签: ArcGIS

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

[转载]基于B/S的影像在线处理与分析系统的实现
dongyanqing 2011-4-26 10:49
[转载]基于B/S的影像在线处理与分析系统的实现
基于 B/S 的影像在线处理与分析系统的实现 董彦卿 1 前言 遥感影像处理和分析是指对各种遥感信息进行增强与几何纠正、识别、分类和制图等过程,以求达到预期目的的技术。由于遥感影像获取速度快、周期短而且数据量大,传统意义上的遥感图像处理都是在本地计算机上进行处理的。 这几年随着计算机技术的发展,计算机的运行速度、存储设备容量及网络技术都得到了突飞猛进的发展,将传统意义上的遥感图像处理转移到 B/S 结构的在线处理平台上,也是一种全新的理念和技术。 2 ENVI for ArcGIS Server 影像在线处理,主要解决的是遥感影像处理功能的在线调用和处理结果实时展示。 ENVI 自 4.8 版本起新增了 ENVI for ArcGIS Server 平台(简称 ES ),该平台可将已有的 ENVI Tools for ArcMap 和自定义的 ENVI 处理工具发布为影像处理服务。 ENVI Tools for ArcMap 中包含了 ENVI 中常用的遥感图像处理功能和流程工具集,见图 1 ,包括格式转换、滤波、激光雷达数据处理、面向对象图像信息提取、监督与非监督分类、异常检测和遥感动态监测等,同时还可以根据需求利用 ENVI/IDL 方便的进行功能扩展。甚至可以将 ENVI 中所有专业遥感影像处理工具搬到服务器端。 图 1 ENVI Tools for ArcGIS 3 需求分析 基于 ENVI Tools for ArcGIS 和 ENVI Server ,能够实现 B/S 架构的遥感图像在线处理与分析系统,对遥感影像进行实时的计算和处理。如林业中可以利用多时相影像进行森林砍伐的动态监测,不需要在客户端机器上进行专业软件的安装与数据的拷贝,以及专业人员的处理,仅仅通过浏览器对服务器进行处理请求和参数提交,服务器处理后可快速将提取结果展现到客户端。通过对森林砍伐面积和空间分布进行快速统计和分析,快速实现森林砍伐的遥感监测。 4 技术路线 利用两个时相 TM 影像,基于 ENVI Tools for ArcGIS Map ,在 ArcMAP 的 ModelBuilder 中构建遥感动态监测处理流程对,然后使用 ArcGIS Server 发布网络服务,客户端采用 Flex 技术实现交互与结果展示。 (一) 影像选择 30m 的 TM 影像,具较高空间分辨率、波谱分辨率、极为丰富的信息量和较高定位精度,得到广泛应用的重要地球资源与环境遥感数据源。能满足有关农、林、水、土、地质、地理、测绘、区域规划、环境监测等专题分析和编制 1∶10 万或更大比例尺专题图。 (二) 遥感图像处理流程构建 选择 ENVI Tools for ArcGIS 中的变化监测功能流程,标准流程可进行查看或编辑。 图 2 变化监测工作流程 对标准的变化监测流程进行简单修改以满足我们的实际需求,如添加数据与参数的输入和输出接口,方便调用功能时的参数输入和结果输出。 图 3 修改后的变化监测流程 (三) 功能与数据发布 利用 ENVI Server 和 ArcGIS Server 将修改后的监测流程和处理数据发布成服务。 图 4 发布后的变化监测流程与数据 (四) 客户端展示 客户端用 Adobe Flex 技术进行展示,添加了图层控制、标注和量算、卷帘操作、书签管理、森林砍伐在线监测等工具,界面如图 5 。 图 5 客户端界面 森林砍伐监测工具按钮,设置参数后点击处理,服务器可根据输入参数要求进行处理,界面如图 6 。 图 6 变化监测处理中 处理完成后,服务器将结果传回浏览器,提供基本的统计信息,提供了图层控制和文件下载功能。 图 7 变化监测结果 5 结束语 B/S 结构的影像处理技术为遥感影像处理与分析提供了一个全新的解决方案,可以基于 B/S 架构实现遥感影像的在线快速处理,在诸多行业中有着广泛的应用前景。如对城市典型用地信息快速提取(见图 8 ),用户只需在客户端进行影像选取与提取参数设置,服务器即可完成影像信息处理并传回结果。 图 8 城市典型用地信息遥感提取系统 注:感谢 Esri 中国(北京)有限公司工程师黄炎、张宝才提供实例程序 视频演示:森林砍伐动态监测系统 视频演示:城市典型用地信息遥感提取系统
个人分类: 其他技术|3205 次阅读|0 个评论
[转载]ArcGIS 9.2的太阳辐射分析
JYangming 2011-1-11 23:06
ArcGIS 9.2增加了solar radiation analysis功能,可以对地理区域特定时间段的太阳辐射进行分析。它考虑了大气效应、场地纬度和高程、坡度、太阳角度的变化以及阴影。太阳辐射包括直射、散射和反射三部分,通常直射比例最大,散射次之,反射通常只占一小部分(除非被高反射的表面如雪所包围)。ArcGIS的太阳辐射分析不包括反射部分,即只由直射和散射构成。 在分析时,首先计算视域(Viewshed),即考虑周边地物遮挡后可见到的天空范围。然后计算阳光图(sunmap),它也是一个半球面,表示太阳在某一位置(太阳高度、太阳方位)时的直接辐射。接下来计算天空图(skymap),它也是一个半球面,表示太阳散射辐射量,可根据太阳天顶角(或高度角)和方位角进行计算。最后将特定位置的视域与阳光图和天空图叠加(以视域为蒙板),并累计两图有效方位值,可以得到该位置的太阳辐射。 ArcGIS采用的计算方程式如下: Global tot = Dir tot + Dif tot 其中Dir tot = Dir , ,即直接辐射由各个方向的辐射累加而成,而不同方向的辐射计算公式如下: Dir , = S Const * m() * SunDur , * SunGap , * cos(AngIn , ) 以上公式中,S Const 是日地平均距离时大气层外的太阳辐射值,即太阳常数,为1367W/平米;是最短路径的大气传导率(所有波长平均);m() 是相对天顶路径长度的光学路径长度(详细附后);SunDur , 是累加时天空部分对应的持续时间,通常等于分析的天数间隔(如1个月)与小时间隔(如半小时);SunGap , 是阳光图该部分的分量;AngIn , 是入射角。前述相对光学长度m()可由太阳天顶角和海拨高度确定,对于天顶角小于80度的情况,m() = EXP(-0. 000118 * Elev - 1. 638 * 10 -9 * Elev 2 ) /cos(),其中为天顶角,Elev为以米为单位的海拨高度。前述入射角可由表面天顶角和方位角确定,计算公式为:AngIn , = acos ,其中G z 为表面的天顶角,G a 为表面的方位角(表面的天顶角大于80度时需考虑折射)。 总散射辐射为Dif tot = Dif , ,其中散射辐射的计算公式为:Difn , = R glb * P dif * Dur * SkyGap , * Weight , * cos(AngIn , )。公式中R glb 为总法向辐射,计算公式为R glb = (S Const ( m() ))/ (1 - Pdif);为P dif 为反射比例,非常纯净的天空约为0.2,非常多云的天空约为0.7;Dur为分析的时间间隔;SkyGap , 为天空可见部分的比例;Weight , 为该部分天空相对全部的比例,对于统一反射模型,其计算为:Weight , = (cos 2 - cos 1 ) / Div azi ,其中 1 和 2 为该天空部分天顶角的上下限,Div azi 为天空图方位角的切分数,而对于标准阴天模型,其计算为:Weight , = (2cos 2 + cos2 2 - 2cos 1 - cos2 1 ) / 4 * Div azi 。
个人分类: 未分类|8488 次阅读|0 个评论
[转载]遥感与GIS一体化集成技术
dongyanqing 2010-11-26 22:26
遥感影像已经成为 GIS 的主要信息源,并作为 GIS 的核心组成部分, GIS 是管理和分析空间数据的有效手段,帮助提升影像的利用价值。遥感与 GIS 的一体化集成逐渐成为一种趋势和发展潮流。在上个世纪很多人提出了遥感与 GIS 集成的概念,但是只停留在影像栅格格式与矢量数据格式相互支持的层面上。本专题对遥感与 GIS 平台一体化集成途径及相应技术进行了讨论。 本专题介绍以下几个内容: l 遥感与 GIS l 遥感与 GIS 一体化集成技术 l ENVI/IDL 与 ArcGIS 一体化集成方案 l ENVI/IDL 与 ArcGIS 一体化集成操作演示 l ENVI/IDL 与 ArcGIS 集成开发案例 1 遥感与 GIS 遥感是空间数据采集和分类的有效工具, GIS 是管理和分析空间数据的有效工具(彭望琭等, 2002 )。两者是空间信息的主要组成部分,有着必然的联系。遥感具有动态、多时相采集空间信息的能力,遥感影像已经成为 GIS 的主要信息源。作为 GIS 的核心组成部分,遥感影像是提供及时信息的理想方式。在遭遇灾害的情况下,遥感影像是唯一我们能够立刻获取的地理信息;在地图缺乏的地区,遥感影像甚至是我们能够获取的唯一信息; 在空间信息的许多行业,离开遥感影像, GIS 就是不完整的。另一方面,遥感获取丰富的、海量的空间数据有赖于 GIS 的有效管理与共享,同时利用 GIS 强大的空间分析功能提取更深层次的专题信息,全面提升影像的利用价值。 图 2 遥感与 GIS 一体化集成意义 2 遥感与 GIS 一体化集成技术 遥感影像类似于 GIS 中的栅格数据,遥感和 GIS 很容易在数据层次上实现集成(邬伦等, 2001 )。 GIS 软件没有提供完善的图像处理功能,遥感软件中也缺少空间分析及数据管理工具。遥感和 GIS 一体化集成,可以有以下三个层次及途径实现。 (一) 数据一体化管理与共享 l 数据互操作 遥感影像和图像分析功能可以作为核心组成部分与 GIS 实现一体化,首先解决的问题就是遥感与 GIS 平台之间的数据互操作问题。数据互操作实现有两个途径: 一是将遥感数据或者 GIS 数据都以标准格式保存,两个平台都支持; 二是遥感和 GIS 平台直接支持对方数据格式。很明显后者比前者更加方便。 l 栅矢数据集中和分布式管理 在遥感中,数据主要储存格式为栅格, GIS 中主要由矢量数据格式组成。栅格和矢量一体化管理,需要这样一种数据模型,同时储存栅格和矢量数据,支持分布式管理。 l 基于服务的企业级共享 影像天然地具有企业级应用的潜力,因为它可以实现多个用户在同一幅图上同时进行操作。而这对于大型企业级应用更加有利,其中最主要的一项优势就是节省成本。我们可以分享同一影像资源,从而显著地减少成本。而影像由于自身的特点,具有很高的存储要求,尤其是那些高空间分辨率、多光谱影像。传统以纸质影像图或者电子文件分发的形式也能实现数据共享,但是共享效率比较低。如今基于 Web services 的共享方式提供了一种合理的解决方式,它集中利用了计算机资源,可以为若干个客户端提供影像共享服务。 (二) 平台一体化分析 在遥感软件中进行的图像处理工作流,与 GIS 软件下的 GIS 工作流实现无缝链接和交换。如在遥感软件中处理的数据通过菜单功能直接传送到 GIS 软件中,无需中间的保存、打开等步骤; GIS 软件中分析的数据,直接导入遥感软件中,并且保持同步显示;遥感软件中集成 GIS 软件的部分组件功能。 虽然在两个不同的软件平台下工作,操作感和处理效率类似在一个平台下作业。 (三) 系统一体化集成开发 大多数遥感和 GIS 软件平台都提供了二次开发功能。如在进行 GIS 系统开发时,将专业的影像数据处理和分析工具集成到 GIS 系统环境中,在同一系统中既能完成遥感数据的专业处理与分析,又能完成 GIS 空间分析和发布共享等工作,形成一个遥感与 GIS 一体化集成系统。 要实现一体化集成开发系统,前提是遥感和 GIS 软件平台提供的二次开发接口,都能通过程序开发语言调用,并整合在一起。 3 ENVI/IDL 与 ArcGIS 一体化集成方案 遥感与 GIS 不仅从数据上,还会从整个软件构架体系上真正实现融合,从而可以达到优势互补,进一步提升 GIS 软件的可操作性,提升空间和影像分析的工作效率,并有效节约系统成本。为了适应这种新的用户需求和未来的技术发展趋势,更好地为用户提供服务,全球最大的 GIS 技术提供商 ESRI 公司与全球遥感领域的领导者美国 ITT Visual Information Solutions( 简称 ITT VIS) 公司,建立了全球战略合作伙伴关系,共同开发和建设遥感与 GIS 一体化平台。 ENVI 是由遥感领域的科学家采用 IDL (交互式数据处理开发语言)开发的一套功能强大的、完整的遥感图像处理软件。 ArcGIS 是由 ESRI 公司开发的、全球使用最广的 GIS 软件。 ENVI/IDL 与 ArcGIS 一体化集成解决方案,在真正意义上实现了遥感与 GIS 一体化集成。 (一) 数据一体化管理与企业级共享 l ENVI/IDL 与 ArcGIS 数据互操作 从 2007 年 6 月开始, ESRI 公司和 ITT VIS 公司宣布两者的商务和技术合作计划。两个平台互相支持对方的格式,同时两者都支持一些通用文件格式,如 GeoTiff 、 JPEG2000 等(图 3 )。 图 3 ENVI/IDL 与 ArcGIS 数据互操作 l 栅矢数据集中和分布式管理 Geodatabase 是按照一定的模型和规则组合起来的存储空间数据和属性数据的容器,已经成为 ArcGIS 的核心数据模型,它实现了多源空间数据的集中和分布式管理。它是一种天然的遥感与 GIS 数据一体化储存模型。根据不同的应用需求,它分为三个级别: File Based Geodatabase 、 Personal Geodatabase 、 Enterprise ( SDE ) Geodatabase 。其中 Enterprise ( SDE ) Geodatabase 支持分布式管理与储存。 图 4 天然的遥感与 GIS 数据一体化储存模型 ENVI 完全支持 ArcGIS Geodatabase 各个级别的读写,在 ENVI 、 ENVI Zoom 、 ENVI EX 中,都可以通过菜单 Remote Connection Manager 打开相应的面板,也可以通过 Save to ArcGIS Geodatabase 菜单将数据保存到 Geodatabase 。 图 5 打开 Geodatabase 以及服务的数据 图 6 数据保存到 Geodatabase l 基于服务的企业级共享 ENVI 可以当作一个客户端,打开 OGC 标准的服务( WCS/WMS ),这些服务可以是 ArcGIS Server 发布的。 其中 WCS 服务发布的影像数据保留了原始的数据的像元值和波段信息,因此通过 WCS 服务获得的影像可以做进一步的分析,跟分析本地影像效果是一样。 图 7 远程数据接收与本地处理、成果共享 (二) ENVI/IDL 与 ArcGIS 平台一体化分析 最新版的 ENVI4.7 推出专门为 GISer 使用的 ENVI EX 模块,这个模块整合了部分 ArcGIS 和 ENVI 功能,将影像处理和分析与 GIS 工作流无缝链接到一起,在 ENVI EX 中能完成三个方面的工作: 1) 无缝链接 GIS 工作流 ENVI EX 将影像处理和分析与 GIS 工作流无缝链接到一起,在 ENVI EX 中能实现: 轻松交换数据和图层文件: ArcGIS 中的数据或图层文件( *.lyr )可以通过鼠标拖拽方式放到 ENVI EX 上进行显示。 查看和处理 ArcGIS 图层: ENVI EX 支持 ArcGIS 的图层符号化显示,即可以完全按照 ArcGIS 风格和样式显示图层数据。 同步查看图像处理结果: 在 ENVI EX 下执行图像处理过程中,动态修改参数,在 ENVI EX 和 ArcGIS 可以看到相同的变化结果。 2) 向导式专业影像处理工具 ENVI EX 提供 GIS 用户最需要的图像处理和分析功能,并以流程化、向导操作方式提供。并具有透视窗口随时预览处理结果。 3) 成果共享 ENVI EX 提供多种成果共享方式,将影像处理与分析结果无缝集成到 GIS 工作流中。 l 存储为通用格式或 PowerPoint 文件 l 直接保存 Geodatabase 或输出 Shapefile l 在 ENVI EX 中直接调用 ArcGIS 制图组件进行出图 l 通过菜单直接将成果导入 ArcMap 进行制图,无需中间保存与打开过程。 同样 ENVI Zoom 视窗具有 ENVI EX 类似的功能。 图 8 平台一体化分析方式 (三) ENVI/IDL 与 ArcGIS 集成开发 ENVI 是一个非常开放的平台,提供一个健全的函数库(图 9 ),几何涵盖 ENVI 平台大部分图像处理功能。 图 9 ENVI 部分函数库列表 同时 IDL 具有很好的扩展性,能很方便地与其他开发环境( VB 、 VC 、 .NET 、 Java 等)进行集成开发。 IDL 可以通过以下方式与其他语言集成开发: 1) Callable 技术 IDL 作为动态链接库被外部程序调用的技术。使用 Callable 技术,外部程序可以像 IDL 命令行一样使用 IDL 命令或调用执行 IDL 的程序。 简单实现方法(在 vc6.0 ): 1. 将 \ITT\IDL71\external\include 目录下的 idl_export.h 头文件,添加到 VC 工程中 2. 工程设置连接 中的对象 / 库模块 中 添加 idl.lib 3. 添加 Library files 安装路径 \ITT\IDL71\BIN\BIN.X86 4. 系统变量 path 中添加 IDL 的安装路径 \ITT\IDL71\BIN\BIN.X86 5. 进行初始化 IDL_Win32Init(0,handle,NULL,0) 6. 执行 IDL 命令行 IDL_ExecuteStr( restore, satstretch.sav ) 7. IDL_Cleanup(true) 2) 对象输出助手 将 IDL 编写的功能模块输出为 Java 类和 COM 组件( .DLL 或者 .OCX )。 3) IDLDrawWidget ( VS2005 中) 首先在建立一 windows 应用程序。在工具箱上右键选择项 COM 组建选中 IDLDrawWidget Control 3.0 拖动 控件到窗体上 axIDLDrawWidget1.IdlPath 设定 IDL 库文件目录 n = axIDLDrawWidget1.InitIDL((int)this.Handle) axIDLDrawWidget1.ExecuteStr(); 执行 IDL 命令 4) COM_IDL_CONNECT 同 IDLDrawWidget 类似。 同时, ArcGIS 提供 ArcObjects 软件组件库,它提供了模块化、可伸缩、跨平台的通用 API 。 ENVI/IDL 与 ArcGIS 集成开发可以通过以下三个途径实现: 图 10 三种集成开发模式 1) ENVI / IDL 与 ArcGIS 桌面定制 通过 ArcGIS 桌面 SDK 及开发语言(如 Python 、 VBA 、 VB 、 VC 、 .net 等),将 ENVI/IDL 图像处理与分析功能集成到 ArcMAP 中: 图 11 将 ENVI/IDL 功能嵌入 ArcMAP Toolbar 中 图 12 ENVI/IDL 功能嵌入 ArcToolBox 中 图 13 ENVI/IDL 功能嵌入 ModelBuilding ( GP 工具) 2) ENVI / IDL 与 ArcGIS Engine ArcGIS Engine 是组件式开发工具包,可以灵活、方便地定制地图及 GIS 解决方案。 ENVI / IDL 与 ArcEngine 的一体化集成开发具有以下三个特点: 1) 通过 ArcGIS Engine 解决了数据浏览、栅格矢量叠加、矢量编辑、渲染、专题制图以及空间分析等问题; 2) 将 ENVI/IDL 作为影像处理引擎,解决专业的影像处理过程; 3) 基于成熟平台的二次开发,快速实现了系统无缝集成开发,而且大大减少了程序的开发量、开发周期,减少了系统开发的风险,开发者可以将大部分精力放在系统业务流程上。 图 14 ENVI/IDL 与 ArcEngine 一体化集成开发 3) ENVI / IDL 与 ArcGIS Server 将 ENVI/IDL 图像处理与分析功能集成在服务器端,以 ArcGIS Server 作为地图服务器,将处理结果传递到客户端,较好地实现了 B/S 模式下对影像实时计算处理的需求。 ENVI/IDL 与 ArcGIS 一体化集成打破了传统单一的遥感图像处理流程,形成影像数据处理与分析、管理、空间分析、发布共享的空间信息工程化与流程一体化(图 15 )。 图 15 空间信息工程化与流程一体化的最佳组合 4 ENVI/IDL 与 ArcGIS 一体化集成操作演示 (一) 企业级共享 下面以一个比较简单的例子演示这个过程。 1) 将 ENVI 中处理好的数据用 ArcGIS Server 发布成 wcs 服务。 图 16 发布 wcs 服务 2) 获取 WCS 服务的 URL 地址。 图 17 获得 WCS 服务 URL 3) 打开 ENVI 或者 ENVI Zoom 或者 ENVI EX ,这里打开 ENVI EX 。在 ENVI EX 中,选择 File-Remote Connection Manager (图 18 ),在 Remote Connection Manager 中 New 一个连接,连接的属性面板中( Connection Properies )中, Type 中选择 OGC Web Coverage Servics ( WCS )项,将 WCS 服务的 URL 输入 URL 项中,后加一个英文半角?,其他信息自动从 URL 中获取,单击 OK 。 图 18 新建一个 WCS 连接 4) 可以看到获取的 WCS 服务中的影像数据(图 19 )。单击 Open 按钮,将获取的数据在 ENVI EX 中打开。 图 19 获取的 WCS 服务中的影像信息 5) 在 ENVI EX 中打开的 WCS 服务中的影像数据(图 20 ),可以对这个影像数据进行分析,如这里对其进行 Classification ,这是一个流程化的操作,一路 Next 下去(也可以修改一些参数),其中可以打开 Proview 功能对结果随时预览。 图 20 对 WCS 服务中的影像数据进行分析 6) 到输出结果步骤时,可以选择 GDB 或者 Shapefile ,这里选择保存到 GDB 中(如图 21 )。 图 21 保存结果到 Geodatabase 中 这样我们就完成了一个比较典型的影像共享过程:影像服务发布 ( 数据中心 )- 使用影像服务 ( 数据使用单位 )- 浏览与分析影像 - 分析结果储存与再次共享。 (二) 平台一体化分析 下面以利用影像来更新矢量数据的例子演示 ENVI/IDL 与 ArcGIS 平台一体化分析过程。 1) 将旧矢量数据和新的影像数据加载到 ArcMAP 中(图 22 )。 图 22 加载矢量和影像数据的 ArcMAP 2) 根据旧矢量数据和影像目视解译结合方法选择部分矢量要素作为样本。生成新的一个矢量图层。 图 23 选取的样本 3) 打开 ENVI EX ( ENVI Zoom 也可以),鼠标左键在 ArcMAP 中单击样本矢量层拖拽到 ENVI EX 中,可以看到 ENVI EX 中已经将样本图层打开并保持 ArcMAP 一样的专题符号。同样的方法将影像拖拽到 ENVI EX 中(图 24 )。 图 24ENVI EX 中打开矢量样本和影像数据 4) 在 ENVI EX 中,鼠标左键按住影像图层拖拽到 Toolbox 中的 Classification 流程化工具中。启动 Classification 流程化工具。单击 Next 按钮,选择监督分类( Use Training data ),将前面的矢量样本导入(图 25 )。 图 25 选择矢量样本 5) 同样可以用 Preview 预览分类结果。一路 Next ,在 Save Results 同样可以选择保存文件还是 GDB 。这里选择保存为 shapefile 文件。 6) 在 ENVI 中加载获得的结果,选择 File-Print ,集成了 ArcMAP 制图输出组件,支持 ArcMAP 制图模板。 图 26 打印输出结果 7) 或者在 ENVI EX 的 Layer Manager 中分类矢量结果图层上单击右键,在快捷菜单中选择 Send to ArcMap 命令,可以直接将结果传送到 ArcMap 平台中。 8) 选择 ENVI EX 中的 Geo Link To ArcMap 命令,可以将 ENVI 与 ArcMap 进行地理链接,使两个平台浏览的范围保持一致。 这个例子完成了一个 GIS 工作流与遥感工作流无缝链接的过程。 5 ENVI/IDL 与 ArcGIS 集成开发案例 (一) 城市遥感动态监测管理系统北京建设数字科技股份有限公司 以地理信息基础平台为基础, 3S 技术一体化为核心,结合专业遥感处理软件 ENVI ,实现对城市范内区域、街道、重点对象的影像特征的采样和分析,快速获取其空间特征。并利用 ArcGIS Engine 的叠加分析、缓冲区分析等功能,实现对多时相城市航空影像数据之间、遥感影像数据与规划编制、规划审批成果之间的比对分析,及时了解城市的土地利用变化情况,掌握城市建设中与规划不符的情况。并通过核查上报、统计分析等手段,为城市规划监察、城市管理服务。 图 26 系统主界面 图 27 遥感影像信息分类提取 图 28 新增建筑面积统计 (二) 环北京土地利用动态监测与评价平台 2009ESRI 开发大赛 ENVI/IDL 组一等奖作品,首都师范大学 系统的基本功能包括各种栅格数据的加载、显示(单波段显示和多波段合成)、数据管理、数据格式转换、波段统计、 ROI 选取工具、图像的增强等功能。 在业务功能方面,系统主要分成类三个模块,其中包括监测指标和计算模块、土地利用信息提取模块和土地资源监测评价模块。监测指标和计算模块的功能主要包括 NDVI (归一化植被指数)、 MSAVI (土壤调整植被指数)、 FC (植被覆盖度)、 Slope(DEM 的坡度计算 ) 和 PCA 变换(主成分变换);土地利用信息提取模块包括基本的图像信息提取方法,如监督分类、非监督分类、目视解翻,并提供的基本的分类后处理的功能;土地资源监测评价模块主要包括:土壤侵蚀监测评价、土地退化监测评价、土地沙化监测评价和土地盐碱化监测评价。其中前两种评价主要是用 IDL 编写的决策树算法,后两个评价介于 ArcGIS Desktop 的 model builder 创建模型,在 ArcGIS Engine 的 Geoprocessing 中进行调用。 图 29 系统主界面 图 30 监督分类子模块 图 31 土壤侵蚀监测评价子模块 图 32 支持向量机监督分类 (三) 遥感震害快速评估技术系统中国地震局地壳应力研究所 遥感震害快速评估技术系统是在地震遥感震害快速增强、震害分类提取与震害评估技术研究的基础上,针对国家抗震救灾指挥和地震现场评估的需要,研制的适应近地表遥感信息获取系统获取的多景图像的技术系统。用户可以利用该系统在图像接收后 2-6 小时内提供初步的宏观灾情提取结果与损失评估结果, 6-18 小时内提供准确的宏观灾情分布结果和损失评估结果。 遥感震害快速评估技术系统的主要功能包括遥感( RS )和地理信息系统( GIS )的无缝结合,近地表数据处理,遥感影像快速校正,遥感影像快速增强,用面向对象等实用的分类技术进行震害识别,震害损失评估,与数据库结合,成果图像的快速显示和制图,专用的评估流程和集体评估的集成。 图 33 系统主界面 图 34 综合评估平台 图 35 影像处理功能 图 36 影像自动配置子功能 图 37 影像分类子功能 (四) 农作物调优栽培决策支持系统国家农业信息化工程技术研究中心 农作物调优栽培决策支持系统是依托农业部公益性行业科研专项主要农作物调优栽培信息化技术项目,基于最新的 ENVI/IDL 技术、 WebGIS 、 GPS 、企业空间数据库、通信技术、作物模拟技术等信息技术和农学知识的高度集成,建立的用于主要农作物调优栽培的信息化决策支持系统。 系统主要面向农业管理部门、农业生产部门(如农场)、作物协会(如谷物协会)及大型涉农企业的专业技术及生产管理人员,对主要农作物的产前优良品种种植区划产中调优栽培及产量、品质预报产后指导按质收购等作物生产全过程进行信息化管理,最大限度地为农作物生产的信息化管理与粮食政策的制定提供决策支持。 系统通过采用 ENVI/IDL 编程技术实现对遥感影像的实时计算和处理,生成初步的作物分类结果以及影像光谱指数,结合野外采集的 GPS 定位数据、农学样点信息,综合分析各种常用的农学模型,通过 WebGIS 技术实现实时直观的专题图、统计图表、细节点击查询等多种展现方式,实现对作物长势监测、作物产量估算、作物品质预测、病虫害监测、干旱监测、冻害监测、肥水诊断等作物生产全过程的信息化管理。 系统采用 Oracle10g +ArcSDE 作为空间数据库,后台采用 ENVI/IDL 、 ArcGIS Engine 、 ArcIMS 实现遥感影像处理与发布,前端页面展现完全基于 Ajax 技术构建,综合采用了 OpenLayers 、 JQuery 、 Google Maps API 等脚本库。 图 38 自定义植被指数计算界面 图 39 作物长势分级专题图 图 40 作物品质专题图 6 总结 随着空间信息市场的快速发展,遥感数据与 GIS 的结合日益紧密。遥感与 GIS 的一体化集成逐渐成为一种趋势和发展潮流。 ENVI/IDL 与 ArcGIS 为遥感和 GIS 的一体化集成提供了一个最佳的解决方案。
个人分类: IDL技术|1 次阅读|0 个评论
ARCGIS批量添加投影信息
cranelover 2010-11-18 09:58
如果不慎导致大量文件投影信息丢失,可以用arcgis 中的toolboxs 工具箱里的sample- define Project,工具批量添加投影信息。
个人分类: 3S技术|10417 次阅读|0 个评论
VBA+ArcObjects读取ArcGIS中栅格像元值
gghgiser 2010-11-14 18:26
关键词:ArcObject,ArcGIS,栅格像元值(遥感图像)读取,样带,Excel,Matlab。 遥感影像以缩微的形式记录地表特征,已被广泛应用于区域土地覆被变化等研究当中。每幅遥感数据都是一个数据矩阵,这与很多科学软件的数据格式有共同之处(如Matlab、Excel)。任何专业软件都有其突出的有点和明显的缺陷,一般的遥感处理软件(如ERDAS或ENVI)都是针对栅格数据的,或实现矢量数据的一般功能。所以,不同软件之间高精度数据迁移转换是日常科研当中的重要任务。本文以NDVI为例,基于ArcObject+VBA在ArcGIS环境中编写程序,生成NDVI样带数据序列,为日后在Matlab中进行数据分析调定基础。 背景:时间序列数据分析在地理学研究当中是一种常用的地理过程研究方法,GIS以其强大的能力能够有效处理空间问题,把GIS与时间序列分析方法相结合,根据其共性发展出一种空间序列分析方法。在空间序列方法中,以空间位置代表时间位置,而空间位置上的属性变量的表达方式与时间序列相一致。其实,空间序列方法有其地理学的传统名词样带。 需求分析:提取NDVI影像上的数据样带NDVI值,生成一维空间序列数据,使其能在EXCEL或Matlab中进行数据分析。 代码思路: 1)用线数据集Clip影像,生成样带数据,数据中只有线数据集覆盖下的范围融合NDVI值; 2)循环计算栅格影像各行数据,当像元值大于0时则记录该值,否则跳过。(AO的PixelBlock每128行跳过一次); 3)将记录好的数据保存在txt中。(Excel和Matlab支持文本数据导入。) 实现代码: ' Part 1: Define the temporary raster data. Dim pMxDoc As IMxDocument Dim pMap As IMap Dim pRasterLy As IRasterLayer Dim pRaster As IRaster Dim pRasBandC As IRasterBandCollection Dim pRasterDS As IRasterDataset Set pMxDoc = ThisDocument Set pMap = pMxDoc.FocusMap ' Get the raster from the raster layer. Set pRasterLy = pMap.Layer(0) Set pRaster = pRasterLy.Raster ' Set the raster dataset to be the first band of the raster Set pRasBandC = pRaster Set pRasterDS = pRasBandC.Item(0).RasterDataset Dim pRasterCursor As IRasterCursor Dim pRaster1 As IRaster2 Set pRaster1 = pRasterDS.CreateDefaultRaster Set pRasterCursor = pRaster1.CreateCursorEx(Nothing) 'use IRasterEdit interface Dim pRasterEdit As IRasterEdit Set pRasterEdit = pRaster1 'loop through each pixel block in the raster. Dim pPB As IPixelBlock3 Dim PixelBlockWidth As Long, PixelBlockHeight As Long ' Dim pTLC As IPnt Dim pBandCol As IRasterBandCollection Set pBandCol = pRasterDS ''''''''''''''' Dim v As Double Dim i As Integer Dim j As Integer Dim length As Integer length = 0 Dim VAL1(2890) As Double '1990=2959 这里要实现计算样带中的非零值个数 '2000=2961 '2005=2890 Do Set pPB = pRasterCursor.PixelBlock For i = 0 To pPB.Width - 1 For j = 0 To pPB.Height - 1 v = pPB.GetVal(0, i, j) If v 0 Then 如果像元值不为零,则存入数据集中 VAL1(length) = v length = 1 + length End If Next j Next i Loop While pRasterCursor.Next = True MsgBox length ' Dim l As Integer l = length Open c:\ndvi05.txt For Output As #1 记入文本 For i = 0 To l - 1 Step 1 Print #1, , VAL1(i); Next i Close #1 ' End Sub 相关截图: 1)ArcGIS图示效果 2)Excel数据显示(其中一段) 3)Matlab中显示效果(整个数据样带) 原文于新浪博客 2010-10-21
个人分类: 科研学习|7260 次阅读|0 个评论
蛋疼的非法字符
zxsword 2010-10-15 17:54
话说今天下午,一位同学让我用 ArcGIS 帮忙给他处理一个 shp 格式的文件,转换成 coverage 然后再转回来,说是入库用。我说那就来吧, ComeOnBaby 。 拿过来一看发现是一个像是国家铁路网的东东,这还不简单,三下两下就转完了。在 ArcCatlog 里面转换的第一步一下就完了,生成了一个 coverage 文件。木想到再把 coverage 转换成 shp 的时候却屡屡不能成功,提示转换完成但文件夹里面是空的。重复几次之后我发现在运行 model 的时候老是弹出一个对话框显示选择 .py 文件类型的关联,开始没有以为和这个有关系,次数一多就发现不对劲了。 我看名字就怀疑这玩意儿和 python 有说不清道不明的关系,于是祭出百度大婶,原来确实是 python 的脚本。 在这里把打开此文件的 程序改成 python.exe 或者 pythonw.exe 再回去转换发现都不行。考虑到这里面可能有参数的某些蛋疼的设置因为我一直觉得跟在 exe 等可执行程序后面的带百分号或者减号和字母的参数都没什么直观的意义于是再次百度。发现了这篇帖子:(原文地址) http://plq168.blog.163.com/blog/static/5310146220101162435897/ win 命令行下进行 py 文件类型关联 python 2010-02-01 18:24:35 阅读 176 评论 0 字号: 大 中 小 订阅 最近遇到一个问题, win 命令行下运行 django-admin.py startproject mysite ,能运行,但在当前文件夹下无法创建 mysite 文件夹。以为是 django-admin.py 出现问题,重装了 django ,但问题依旧。重装 python ,问题依旧。 django-admin.py 运行不出错,环境变量 path 设置应该正确。后来试了一般的 py 文件,在命令行下,发现也不能正常输出结果; .pyw 文件正常,因此怀疑是 .py 文件关联出现问题。 在注册表中检查 : \HKCR\.py 项默认值为 py_auto_file \HKCR\py_auot_fill\shell\open\command 项的默认值为 d:\python25\ pythonw .exe %1 原来 .py 文件关联到 pythonw.exe 上了,把 pythonw.exe 改为 python.exe, 一般的 .py 文件在命令行方式下运行时,正常输出结果。但 django-admin.py startproject mysite 还是不能得到正常的结果,怀疑是命令行参数没有正常获取。 处理: \HKCR\py_auot_fill\shell\open\command 项的默认值为 d:\python25\pythonw.exe %1 %* 再次运行 django-admin.py startproject mysite, 得到正确的结果。问题解决 根据这篇文章修改注册表,然后继续转换,继续不成功。不过这次有错误提示,说是不能创建文件,非法字符云云。 于是把文件名从 road-4m-cov 改成 road4mcov ,转换,成功。 真是令人蛋疼。
个人分类: 生活点滴|4354 次阅读|0 个评论
[转载]ArcGIS Desktop 9.3安装方法
cranelover 2010-7-31 16:18
转自: http://hi.baidu.com/williamschou/blog/item/9dd3c7330f1de0f01b4cff72.html 1.下载ArcGIS Desktop9.3.ISO 安装文件 2.运行 安装ArcGIS License Manager 3.安装如下图: 在License File中输入,刚下载的破解文件中的Arc_Info9.lic文件(注意更新的破解包中,为arcgis_tbe.lic文件),点击Next 进行安装 4.安装完成之后,将破解文件中的Arcgis.exe 、lmgrd.exe、lmtools.exe、lmutil.exe复制到C:\Program Files\ESRI\License\arcgis9x目录下,进行覆盖,然后重启电脑(注意在安装License Manager时,安装完成后提示重启,先不要重启,将破解文件复制之后在重新启动) 5.安装ArcGIS Desktop 9.3 安装时,License manager选择本机的服务器就OK了。安装完成了就可以用了哦! 低调 2009年3月11日更新 解决只能使用arcmap,但是不能选择extension里面的扩展模块 1.对于已经安装好的用户 打开License license manager tools,选择config services 选择Path to the license file ,从下载的crack包中将lic重新打开。 保存services 然后重新启动service!就可以了。 破解文件下载包我已经更新!第一次破解的用户,使用新的破解文件,应该不会出现不能加载扩展功能的情况。后面的方法主要是针对使用没有更新的破解文件进行破解的用户!
个人分类: 科研笔记|7474 次阅读|0 个评论
[转载]地统计作用
izkee 2010-7-12 09:46
1 探索性空间数据分析 :利用研究区应经测定的样点,地统计分析模块能对同一地区的其他未测定的点位进行精确的预测,探索性空间数据分析工具可以用来对数据的统计属性,如空间数据的变异性,空间数据相关性以及空间数据的全局趋势进行评估。 2 半变异函数建模 :在两个阶段会用到数据的地统计分析:1)建立半变异函数或协方差模型以分析表面属性,2)克里格插值。地统计分析模块中有很多创建表面的克里格方法,包括普通克里格法,简单克里格法,泛克里格法,概率克里格法和折取克里格法。例如:对数据进行地统计分析的两个阶段:首先利用半变异函数/协方差向导来拟合一个冬季气温模型,然后利用这个模型创建温度分布图。 3 表面预测与误差建模 :利用地统计分析模块可以生成不同类型的图层,包括表面预测图,分为图,概率图,标准差预测图等。 4 制作阈值图 :可以生成概率图来预测那些超出临界值的区域、 5 模型验证与诊断 : 输入的数据可以分为俩个部分。一部分用来生成预测模型,然后利用验证工具将预测值与已知值进行比对。 6 使用协同克里格法进行表面预测 :地统计分析模块中的协同克里格插值法是一种先进的表面建模方法,如果主变量和此变量空间相关,则通过考虑次变量的影像,协同克里格插值法能够改变基于主要量的表面预测。 此外,地统计分析模块还包括许多独特的工具可以用来提高预测效果,这些工具包括数据转换;利用局部多项式插值进行数据趋势去除,交叉协方差模型中转换参数的识别,误差建模用于去顶微尺度变化以及测量误差造成的误差部分,双变量分布的数据检测,最优邻域搜索选择以及分为图生成等。
个人分类: 地统计|2696 次阅读|1 个评论
[转载]部署ArcGIS Engine程序
izkee 2010-7-8 15:33
在ArcGIS Engine程序开发完成以后,可以使用打包工具把开发完成的程序打包成安装程序,下面使用vs2005 进行ArcGIS Engine程序的打包。首先要保证计算机上装有ArcGIS EngineRuntime及licence 1、打开MapViewer(即要打包的 程序)解决方案,在该解决方案中添加安装项目,选择文件添加新建项目 2、在弹出的对话框中选择: 选择项目类型:其他项目类型安装和部署 选择模板:安装项目 设置安装项目的名称和存放路径,点击确定 3、添加安装项目后的界面,在解决方案管理器窗口中添加了一个setup1项目。 4、向应用程序文件夹中添加项目输出。右键单击应用程序文件夹添加项目输出。 5、在弹出的对话框中选中主输出,单击确定按钮。 6、此时在应用程序文件夹中会出现一些ESRI的程序集和一个名为主输出来自**的输出项。 7、由于ArcGIS Engine Runtime中已经包含了相关的程序集,所以在安装程序中需要将这些程序集 排除,在解决方案资源管理器中,选中检测到的依赖项下面的和ERSI相关的程序集,右键选择排除。 8、排除后。 9、此时,还可以向应用程序文件夹中添加我们需要的其他文件或者程序集。下面为我们的程序添加开始菜单中的程序快捷方式:右键用户的程序快捷菜单,选择创建用户的程序菜单的快捷方式,在属性窗口中位出现的快捷方式更名和改相关属性。 10、下面为程序添加用户桌面的快捷方式:右键用户桌面,选择创建用户桌面的快捷方式,在属性窗口中为出现的快捷方式更改名称和相关属性。 11、这样我们就完成了对安装项目的配置,接下来生成安装项目,在解决方案资源管理器中右键单击安装项目的图标,选择生成。生成成功后会在指定的生成目录下面产生一个setup.exe文件和setup.cab文件,最终用户只要双击setup.exe文件即可以开始安装。
个人分类: ArcGIS Engine|5184 次阅读|2 个评论
[转载]ArcGIS字段计算器
izkee 2010-7-7 22:08
如果你已经有了一个面的shape文件,没有面积,这时候要计算面积,下面的方法很好 首先要向属性表中添加一个字段Area ,字段类型为double 然后打开属性表打开字段计算器(Field calculator) 选中Advanced 开始在 Pre-Logic VBA Script Code 中输入代码: Dim dblArea as double Dim pArea as iArea Set pArea = dblArea = pArea.Area 之后再在area=中输入: dblArea 最后ok 这时候就会发现属性表中的Area这一栏中有计算结果了。。
个人分类: ArcGIS软件使用|6322 次阅读|0 个评论
arcgis随笔
cranelover 2010-4-5 11:51
1 使用arctoolbox里面的工具时,需预先在toolextention里面加载相关模块,否则会提示没有授权,无法使用。
个人分类: 3S技术|3796 次阅读|0 个评论
请教一个水文学问题?
gosci 2009-12-30 11:49
图片是两个栅格的重叠(没有用叠加这个字眼,是因为是两个独立的栅格文件)显示。 1.红色的是用focal flow =0提取的无水流流入的栅格。 2.蓝色的为flow direction数据计算flow accumulation栅格,然后提取的accumulation of flow =0的栅格,图中白色区域为提取的栅格中accumulation of flow 0的区域。 我的理解,有水流流入的地方,即红色区域以外的地方汇流都不应该是零啊。所以用accumulation of flow =0 为条件提取的栅格应该与focal flow =0 提取的一致啊,现在差别那么大,是什么原因? 希望有人能指教。
个人分类: GIS相关|1116 次阅读|1 个评论
ArcGIS中输出指定比例尺图片(转)
热度 1 cranelover 2009-12-22 15:17
转自理想天空的博客 http://hi.baidu.com/murphy1314/blog/item/3ccfca021294bf084bfb51e5.html ArcMap可以用Export Map菜单来将地图输出成其他格式的图片;当我们希望将地图在某个特定比例尺下输出时,则在输出前需要进行一翻计算和配置;进过一下午的请教与自身摸索尝试,终于学会了其中要略,也对ArcGIS打印输出功能有了一定的基础。以下为要点: 1:切换到Layout视图下; 2:将你想输出成图片的范围缩放到Layout视图里,Layout中显示的范围和你之后得到的图片范围是一致的。 3:设置页面与打印设置,这个为关键,在图上量一下实际的最大长宽L米,W米,输出比例尺是S的话,纸张应该是L/S米,L/S米。并且勾选自动调整地图元素以适合页面尺寸的变化。 4:File--Export Map.设置图片的分辨率,默认96DPI;
个人分类: 3S技术|10118 次阅读|0 个评论
转 ArcGIS影像配准与空间配准
热度 1 woshizhiruo 2009-11-11 16:56
转载自 风叶 转载于2009年10月15日 16:28 阅读( 3 ) 评论( 0 ) 分类: 个人日记 举报 地图 配准可分为影像配准和 空间 配准。影像配准的对象是raster图,譬如TIFF图。配准后的图可以保存为 ESRI GRID, TIFF,或ERDAS IMAGINE格式。空间配准(Spatial Adjustment)是对矢量 数据 配准。 一、影像配准 在 ArcGIS 中配准: 1.打开ArcMap,增加Georeferencing 工具 条。 2. 把需要进行纠正的影像增加到ArcMap中,会发现Georeferencing工具条中的工具被激活。在view/dataframeproperties的coordinateproperties中选择 坐标 系。如果是大地(投影)坐标系选择predefined中的Projected coordinate system,坐标单位一般为米。如果是 地理 坐标系(坐标用经纬度表示)表示则选择Geographic coordinate system。 3.纠正前可以去掉auto adjust前的勾。在校正中我们需要知道一些特殊点的坐标。如公里网格的交点,我们从图中均匀的取几个点,不少于7个。在实际中,这些点要能够均匀分布在图中。 4.首先将Georeferencing工具条的Georeferencing菜单下Auto Adjust不选择。 5.在Georeferencing工具条上,点击Add Control Point按钮。 6.使用该工具在扫描图上精确到找一个控制点点击,然后鼠标右击,Input X and Y输入该点实际的坐标位置。采用地理坐标系时应输入经纬度,经纬度用小数表示,如11030'30'应写成 110.508(=110+30.5/60)。 7.用相同的方法,在影像上增加多个控制点,输入它们的实际坐标。 8.增加所有控制点后,在Georeferencing菜单下,点击Update Display。 9.更新后,就变成真实的坐标。 10.在Georeferencing菜单下,点击Rectify,将校准后的影像另存。 在arcview 中进行配准: 软件 准备:arcview,必须安装了image wape扩展模块 数据准备:栅格图像,必须有坐标(大地坐标或经纬座标) 步骤: 1、找到栅格图像上的坐标点,至少要四个,坐标点分布应均匀。 2、打开arcview,单击chart,单击new,创建一张新表 3、输入X,Y坐标(栅格图上的点坐标), 4、点击保存。打开view窗口,单击theme,add event theme,设定字段为刚刚新建的表格里的X,Y字段。 5、这时导入到视图中,你可以看到几个点。 6、再convert to shp,把它转换为点.shp文件,加入到视图中。 7、在view中,propertise里设置你想要的投影方式。 8、这时控制点文件就做好了。 9、接下来,关闭所有的窗口,单击file-extension,image wape,点击此模块,这时菜单栏多了一行image wape 10、点击image wapeimage wape session,选择你想要配准的栅格图像到第一个框。再选择刚刚生成的点文件到第二个框。 二、空间配准(Arc GIS ) 1、首先在Arc catalog下面对需要配准的矢量图设置投影方式(右键点击该图,在shapefile属性表的shape字段属性中,定义相应的投影方式; 2、通过excel或记事本建立一个文本文件,输入几个控制点的坐标值,x表示经向,y为纬向,可以是公里网格坐标,和上面的定义的投影方式对应,保存; 3、在ArcMap里面打开矢量图,在编辑器(Editor)里设为开始编辑; 4、在空间配准(Spatial Adjustment)里把设置配准数据(set adjust data)定为选择这些层中的所有 要素 (All features in these),然后在链接(link)里打开上面建立的控制点文件; 5、先双击控制点文件中的坐标值,再在矢量图中找到对应的点双击,即建立了第一个链接,依照此法,建立数个链接; 6、点击空间配准下面的配准(已由灰变黑可用),则配准完成。 zz地理坐标的精确配准 矢量配准用Spatial Adjustment 栅格配准用Georeferncing 地理坐标的精确配准 ArcMap里面配准 http://hi.baidu.com/sinogis/blog ... 7186264e4aea02.html 可能和很多朋友一样,我们只能拿到纸质地形图,还得自己扫描,之后再在ArcMap里面配准。对于刚开始接触的人来说,真是一头雾水。 我以前的误区:刚接触ArcGIS,感觉挺简单的,不就先扫描,然后在ArcMap中加载数据,再Georeferencing配准。而实地采集的GPS数据就是通过excel转换到Access数据库后加载到arcmap里面,再display data。这样,点就投到图上了。 呵呵,刚开始,还真以为是这样做呢。不过到Layout view界面,Insert Scale bar后,非常困惑,才发现怎么插入的比例尺和原图中的对不上啊。经过多方学习,才知道其中还有许多深奥的知识,任何一点没注意都会出差错。下面就与大家分享一下我的学习总结。 首先要知道什么是地理坐标和大地坐标,简单的说地理坐标就是球面坐标,而大地坐标是平面坐标。要深入了解这两者的区别,大家可以到网上搜相关资料。 地理坐标到大地坐标的过程叫做投影。 用1:50000地形图来举个例子,是北京1954坐标系,6度分带的高斯克吕格投影。 上面有两种坐标,一种是常说的方里网,就是间隔为1公里的网格。还有就是四角上的经纬度。 我们常用的GPS采集的数据都是WGS84坐标系的,是常见的度分秒格式。这里要特别注意,地形图上的经纬度不是WGS-84的经纬度,而是北京1954基准面下的经纬度。而且,这个经纬度也不是球面坐标,而是经过高斯克吕格投影的平面坐标。论坛上常提及的wgs-84到beijing 1954的转换就是这个问题,两者的换算涉及到图幅所在分带保密点的问题,转换参数并未公开。在我国,这两个坐标系同一点经纬度有几十米的差别。 了解了上面的知识后,就开始在arcmap中进行图像配准了,这里假设大家都知道基本操作步骤,因此我只注重于工作内容的阐述。 1, 首先把图复制到工作目录下 2, 在ArcCatalog中找到需要配准的图,给他定义一个投影系统(注意和投影变换的区别)。这里我们用的是1:50000的地形图,它是基于北京1954坐标系,6度分带的高斯克吕格投影。在地形图方里网上可以看出本图幅位于哪个分度带,这里假设是19。因此我们要选择的是Beijing 1954 GK Zone 19.prj。同时目录里面还有一个Beijing 1954 GK Zone 19N.prj,这个是用于没有分度带号的。而我们的图幅是包括分度带号。这个可以在网上搜索 arcgis 坐标文件 来进一步了解。 3, 给配准的图定义了一个投影系统后,把图加载到ArcMap里面,打开GeoReferencing工具,直接利用方里网交点进行配准。这里要注意的问题是,地形图上的方里网坐标为公里,而需要输入的应该是米。所以要在方里网对应坐标后面加000。如地形图上读出一个交点为(19387, 3420),19387的19为分带号,也要一并输入,那么这个点应该输入(19387000, 3420000)。其余配准过程和网上教程一致。 4, 配准后可以在Lay Properity里面把显示单位改成度分秒,于是地图就以经纬度格式显示了。此时的经纬度是基于北京1954基准面的,可以把光标指向四角的经纬度标记,以核对配准的精确度。 到此为止,地形图已经精确配准了。接下来往里面加载GPS数据。 1, 用你能想到的方式把GPS接收机上的数据导出来,除了一个一个手工输入,呵呵。 2, 尽量建立起数据库吧,这样方便些 3, ArcGIS中加载所得到的数据库,用Defined Query来选择自己所需要显示的数据 4, 如果需要精确地在地形图上显示GPS数据,那么还需要一个WGS-84到北京1954坐标的转换。有转换参数最好,如果没有,但的确需要,就去网上查一下 手持GPS接收机转换参数估算 这篇文章。我们这里是假设不需要精确显示,直接把WGS-84数据当成北京1954来用。前面也说了,有一定误差,但是不大。因此直接跳到5。 5, Display X,Y Datas, 定义为WGS-84坐标系统。 (其实此处我有疑问,因为现在的地形图是投影后的图,按我的理解,也应该把是球面坐标的WGS-84数据进行投影变换后才能用。但是查了很多资料,都是在这里直接定义数据来源是WGS-84就可以了,也许是ArcGIS在投点的时候,可以自动进行变换。) 6, OK,现在点也投上去了,ArcGIS工作中最基础的工作也就完成了。 再转到Layout view 界面,插入一个比例尺,发现和地形图上的比例尺非常吻合:-),把显示单位改成kilometer,用measure tool 就可以量地形图上任意点的距离了,试了一下公里网格,非常精准。 地理坐标,大地坐标 地理坐标:为球面坐标。 参考平面地是 椭球面。坐标单位:经纬度 大地坐标:为平面坐标。参考平面地是 水平面 坐标单位:米、千米等。 地理坐标转换到大地坐标的过程可理解为投影。 (投影:将不规则的地球曲面转换为平面) 在 ArcGIS 中预定义了两套坐标系:地理坐标系(Geographic coordinate system)投影坐标系(Projected coordinate system), 1、首先理解 地理坐标系 (Geographic coordinate system),Geographic coordinate system直译为 地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate syst em是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作 呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求 我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短 半轴,偏心率。以下几行便是Krasovsky_1940椭球及其相应参数。 Spheroid: Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening(扁率): 298.300000000000010000 然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描 述中,可以看到有这么一行: Datum: D_Beijing_1954 表示,大地基准面是D_Beijing_1954。 -------------------------------------------------------------------------------- 有了Spheroid和Datum两个基本条件,地理坐标系统便可以使用。 完整参数: Alias: Abbreviation: Remarks: Angular Unit: Degree (0.017453292519943299) Prime Meridian(起始经度): Greenwich (0.000000000000000000) Datum(大地基准面): D_Beijing_1954 Spheroid(参考椭球体): Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening: 298.300000000000010000 2、接下来便是Projection coordinate system(投影坐标系统),首先看看投影坐 标系统中的一些参数。 Projection: Gauss_Kruger Parameters: False_Easting: 500000.000000 False_Northing: 0.000000 Central_Meridian: 117.000000 Scale_Factor: 1.000000 Latitude_Of_Origin: 0.000000 Linear Unit: Meter (1.000000) Geographic Coordinate System: Name: GCS_Beijing_1954 Alias: Abbreviation: Remarks: Angular Unit: Degree (0.017453292519943299) Prime Meridian: Greenwich (0.000000000000000000) Datum: D_Beijing_1954 Spheroid: Krasovsky_1940 Semimajor Axis: 6378245.000000000000000000 Semiminor Axis: 6356863.018773047300000000 Inverse Flattening: 298.300000000000010000 从参数中可以看出,每一个投影坐标系统都必定会有Geographic Coordinate System。 投影坐标系统,实质上便是平面坐标系统,其地图单位通常为米。 那么为什么投影坐标系统中要存在坐标系统的参数呢? 这时候,又要说明一下投影的意义:将球面坐标转化为平面坐标的过程便称为投影。 好了,投影的条件就出来了: a、球面坐标 b、转化过程(也就是算法) 也就是说,要得到投影坐标就必须得有一个拿来投影的球面坐标,然后才能使用算法 去投影! 即每一个投影坐标系统都必须要求有Geographic Coordinate System参数。 关于北京54和西安80是我们使用最多的坐标系 先简单介绍高斯-克吕格投影的基本知识,了解就直接跳过,我国大中比例尺地图均采用高斯-克吕格投影,其通常是按6度和3度分带投影,1:2.5万-1:50万比例尺地形图采用经差6度分带,1:1万比例尺的地形图采用经差3度分带。具体分带法是:6度分带从本初子午线开始,按经差6度为一个投影带自西向东划分,全球共分60个投影带,带号分别为1-60;3度投影带是从东经1度30秒经线开始,按经差3度为一个投影带自西向东划分,全球共分120个投影带。为了便于地形图的测量作业,在高斯-克吕格投影带内布置了平面直角坐标系统,具体方法是,规定中央经线为X轴,赤道为Y轴,中央经线与赤道交点为坐标原点,x值在北半球为正,南半球为负,y值在中央经线以东为正,中央经线以西为负。由于我国疆域均在北半球,x值均为正值,为了避免y值出现负值,规定各投影带的坐标纵轴均西移500km,中央经线上原横坐标值由0变为500km。为了方便带间点位的区分,可以在每个点位横坐标y值的百千米位数前加上所在带号,如20带内A点的坐标可以表示为YA=20 745 921.8m。 在Coordinate Systems\Projected Coordinate Systems\Gauss Kruger\Beijing 1954目录中,我们可以看到四种不同的命名方式: Beijing 1954 3 Degree GK CM 75E.prj Beijing 1954 3 Degree GK Zone 25.prj Beijing 1954 GK Zone 13.prj Beijing 1954 GK Zone 13N.prj 对它们的说明分别如下: 三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前不加带号 三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前加带号 六度分带法的北京54坐标系,分带号为13,横坐标前加带号 六度分带法的北京54坐标系,分带号为13,横坐标前不加带号 在Coordinate Systems\Projected Coordinate Systems\Gauss Kruger\Xian 1980目录中,文件命名方式又有所变化: Xian 1980 3 Degree GK CM 75E.prj Xian 1980 3 Degree GK Zone 25.prj Xian 1980 GK CM 75E.prj Xian 1980 GK Zone 13.prj 西安80坐标文件的命名方式、含义和北京54前两个坐标相同,但没有出现带号+N这种形式,为什么没有采用统一的命名方式?让人看了有些费解。 ======================================= 大地坐标 (Geodetic Coordinate):大地测量中以参考椭球面为基准面的坐标。地面点P的位置用大地经度L、大地纬度B和大地高H表示。当点在参考椭球面上时,仅用大地经度和大地纬度表示。大地经度是通过该点的大地子午面与起始大地子午面之间的夹角,大地纬度是通过该点的法线与赤道面的夹角,大地高是地面点沿法线到参考椭球面的距离。 方里网 :是由平行于投影坐标轴的两组平行线所构成的方格网。因为是每隔整公里绘出坐标纵线和坐标横线,所以称之为方里网,由于方里线同时 又是平行于直角坐标轴的坐标网线,故又称直角坐标网。 在1:1万1:20万比例尺的地形图上,经纬线只以图廓线的形式直接表现出来,并在图角处注出相应度数。为了在用图时加密成 网,在内外图廓间还绘有加密经纬网的加密分划短线(图式中称分度带),必要时对应短线相连就可以构成加密的经纬线网。1:2 5万地形图上,除内图廓上绘有经纬网的加密分划外,图内还有加密用的十字线。 我国的1:50万1:100万地形图,在图面上直接绘出经纬线网,内图廓上也有供加密经纬线网的加密分划短线。 直角坐标网的坐标系以中央经线投影后的直线为X轴,以赤道投影后的直线为Y轴,它们的交点为坐标原点。这样,坐标系中就出现了四 个象限。纵坐标从赤道算起向北为正、向南为负;横坐标从中央经线算起,向东为正、向西为负。 虽然我们可以认为方里网是直角坐标,大地坐标就是球面坐标。但是我们在一副地形图上经常见到方里网和经纬度网,我们很习惯的称经纬度网为大地坐标,这个时候的大地坐标不是球面坐标,她与方里网的投影是一样的(一般为高斯投影),也是平面坐标 ArcGIS中图象配准经验总结 可能和很多朋友一样,我们只能拿到纸质地形图,还得自己扫描,之后再在ArcMap里面配准。对于刚开始接触的人来说,真是一头雾水。 我以前的误区:刚接触ArcGIS,感觉挺简单的,不就先扫描,然后在ArcMap中加载数据,再Georeferencing配准。而实地采集的GPS数据就是通过excel转换到Access数据库后加载到arcmap里面,再display data。这样,点就投到图上了。 呵呵,刚开始,还真以为是这样做呢。不过到Layout view界面,Insert Scale bar后,非常困惑,才发现怎么插入的比例尺和原图中的对不上啊。经过多方学习,才知道其中还有许多深奥的知识,任何一点没注意都会出差错。下面就与大家分享一下我的学习总结。 首先要知道什么是地理坐标和大地坐标,简单的说地理坐标就是球面坐标,而大地坐标是平面坐标。要深入了解这两者的区别,大家可以到网上搜相关资料。 地理坐标到大地坐标的过程叫做投影。 用1:50000地形图来举个例子,是北京1954坐标系,6度分带的高斯克吕格投影。 上面有两种坐标,一种是常说的方里网,就是间隔为1公里的网格。还有就是四角上的经纬度。 我们常用的GPS采集的数据都是WGS84坐标系的,是常见的度分秒格式。这里要特别注意,地形图上的经纬度不是WGS-84的经纬度,而是北京1954基准面下的经纬度。而且,这个经纬度也不是球面坐标,而是经过高斯克吕格投影的平面坐标。论坛上常提及的wgs-84到beijing 1954的转换就是这个问题,两者的换算涉及到图幅所在分带保密点的问题,转换参数并未公开。在我国,这两个坐标系同一点经纬度有几十米的差别。 中国3S吧 3s8.cn 了解了上面的知识后,就开始在arcmap中进行图像配准了,这里假设大家都知道基本操作步骤,因此我只注重于工作内容的阐述。 1, 首先把图复制到工作目录下 2, 在ArcCatalog中找到需要配准的图,给他定义一个投影系统(注意和投影变换的区别)。这里我们用的是1:50000的地形图,它是基于北京1954坐标系,6度分带的高斯克吕格投影。在地形图方里网上可以看出本图幅位于哪个分度带,这里假设是19。因此我们要选择的是Beijing 1954 GK Zone 19.prj。同时目录里面还有一个Beijing 1954 GK Zone 19N.prj,这个是用于没有分度带号的。而我们的图幅是包括分度带号。这个可以在网上搜索 arcgis 坐标文件 来进一步了解。 3, 给配准的图定义了一个投影系统后,把图加载到ArcMap里面,打开GeoReferencing工具,直接利用方里网交点进行配准。这里要注意的问题是,地形图上的方里网坐标为公里,而需要输入的应该是米。所以要在方里网对应坐标后面加000。如地形图上读出一个交点为(19387, 3420),19387的19为分带号,也要一并输入,那么这个点应该输入(19387000, 3420000)。其余配准过程和网上教程一致。 4, 配准后可以在Lay Properity里面把显示单位改成度分秒,于是地图就以经纬度格式显示了。此时的经纬度是基于北京1954基准面的,可以把光标指向四角的经纬度标记,以核对配准的精确度。 中国3S吧 3s8.cn 到此为止,地形图已经精确配准了。接下来往里面加载GPS数据。 1, 用你能想到的方式把GPS接收机上的数据导出来,除了一个一个手工输入,呵呵。 2, 尽量建立起数据库吧,这样方便些 3, ArcGIS中加载所得到的数据库,用Defined Query来选择自己所需要显示的数据 4, 如果需要精确地在地形图上显示GPS数据,那么还需要一个WGS-84到北京1954坐标的转换。有转换参数最好,如果没有,但的确需要,就去网上查一下 手持GPS接收机转换参数估算 这篇文章。我们这里是假设不需要精确显示,直接把WGS-84数据当成北京1954来用。前面也说了,有一定误差,但是不大。因此直接跳到5。 5, Display X,Y Datas, 定义为WGS-84坐标系统。 (其实此处我有疑问,因为现在的地形图是投影后的图,按我的理解,也应该把是球面坐标的WGS-84数据进行投影变换后才能用。但是查了很多资料,都是在这里直接定义数据来源是WGS-84就可以了,也许是ArcGIS在投点的时候,可以自动进行变换。) 6, OK,现在点也投上去了,ArcGIS工作中最基础的工作也就完成了。:) 再转到Layout view 界面,插入一个比例尺,发现和地形图上的比例尺非常吻合:-),把显示单位改成kilometer,用measure tool 就可以量地形图上任意点的距离了,试了一下公里网格,非常精准。
个人分类: 未分类|3496 次阅读|3 个评论
ArcGIS 中文乱码的解决
environment 2009-9-19 11:31
使用Windows 英文版的可能会遇到ArcGIS 中文乱码的问题,如进行标注或打开属性表时,会出现乱码。 解决其实很简单。 在控制面板中的区域和语言选项中将标准和格式中选择中文即可。
个人分类: ArcGIS|18119 次阅读|0 个评论
NITF
guodanhuai 2009-8-28 09:12
NITF is abbrevation of National Imagery Transmission Format, whihc is a raster format standard defined by NITF Standards Technical Board. Geospatial analysts in different industries use NITF to store multiple types of data in a single file, including imagery, vectors, annotation, and complex metadata. The NITF format allows for storage and disseminaiton of imaginery and its associated metadata - or the detailed information about the location, context, context, and structure of the image - in a single file. NITF is essential to the interoperability of systems within and among many government organizations worldwde. Further, to ensure proper usage and implementation across systems and customers accessing the NITF data format, the Joint Interoperability Test Command (JITC) certifies systems implementing the NITF format for compliance with the standard. The NITF is the standard for formatting digital imagery and imagery-related products and exchanging them among members of the Intelligence Community (IC), the Department of Defence (DOD), and other departments and agencies of the United States Government as governed by Memoranda of Agreement (MOA) with those departments and agencies. The initial NITFS purpose was to standardize the imagery format and associated data being transmitted from/to secondary imagery dissemination (SIDS). Due to the growing NITFS acceptance, it is now being applied to imagery dissemination systems in general, not SIDS alone. The purpose of NITFS is to transmit a file composed of an image accompnied by subimages, symbols, labels, text, and other information that relate to the image. One of the main features of NITFS is that it allows several items of each data type to be included in one file, yet any data types may be omitted. The NITF file incorporates the CGM standard for graphic and accommodates user-selectable compression for images. The file is submitted to the Message Transfer Facility (MXF), which allows it to be transferred usiing any of a set of user-selectable protocols and media. The output is a message which, by conforming to the standards and their use, is compliant with NITFS.
个人分类: GIsystem & GIscience|4420 次阅读|0 个评论
ArcGIS中标注之一上下标、分数等特殊形式标注
cgh 2008-9-12 14:34
分数形式标注要素: 首先将分母和分子的内容分别放在两个字段中,然后在标注的时候,标注内容选择用表达式标注,在表达式的输入框中输入UND /UND vbNewLine ,即可实现分数形式的标注。 上下角标形式标注要素: 将标注的主体内容、上角标内容和下角标内容分别用三个字段保存。假设这三个字段分别是:text、super_text和sub_text。步骤如下: 1.在被标注的图层的属性里,点击experssion(表达式)。 2.在弹出的表达式窗口中书写表达式如下 sup /sup sub /sub 其中: sup /sup表示将super_text字段里的内容作为上角标 sub /sub表示将sub_text字段里的内容作为下角标 补充: 比如在:对BlockName和Company进行标注时候,使用下面语句实现BlockName红色显示,而Company黑色显示 CLR red='255' green='0' blue='0' /CLR VbNewLine 今天发现了一个小问题,如果BlockName或者 Company中有特殊字符如 或者等,会出现将这些特殊字符作为Script语句一部分处理情况,导致无法正常显示标注内容(无法解析VBScript语法). 这个和网页编程时候非常类似,于是参考网页编程方法对代码做了一下修改,用替代 Function FindLabel ( , ) strBlockName = Replace( ,,) strCompany= Replace( ,,) FindLabel = CLR red='255' green='0' blue='0' strBlockName /CLR VbNewLine strCompany End Function 补充2: 以前用ArcGIS Label一般也就在图层的Properties里面定义一下Label字体大小和粗细。这两天遇到一个问题,需要在Label中显示多个字段的内容,比如BlockName和CompanyName。其实这个本来不是很难的问题,因为Label中支持VBScript,使用 VbNewLine 。就可以实现标注中第一行显示BlockName,第二行显示CompanyName. 现在问题出来了,出图时候希望突出BlockName效果,希望加粗显示,而CompanyName使用一般字体。考虑了很长时间终于从ArcGIS帮助中找到了相关的内容,原来Label的VBScript里面支持类似于Html的VBScript标签,比如加粗就是用BOL,上面问题就可以使用下面语句解决: BOL /BOL VbNewLine 除了加粗,ArcGIS中还支持下面的文本格式标签: Font: FNT name='Arial' size='18' /FNT Color: CLR red='255' green='255' blue='255' /CLR CLR cyan='100' magenta ='100' yellow='100' black='100' /CLR Bold: BOL /BOL Italic: ITA /ITA Underline: UND /UND All caps: ACP /ACP Small caps: SCP /SCP Superscript SUP /SUP Subscript: SUB /SUB Character spacing (%): CHR spacing='25' /CHR Word spacing (%): WRD spacing='150' /WRD Leading (pts): LIN leading='12' /LIN 需要注意的是,使用这些标签后,生成的Label语句在Verify按钮中是不生效的,只对最终的显示结果生效 来源: http://dajiahao110.okok.blog.163.com/blog/static/447368862008529115342505/
个人分类: GIS|11468 次阅读|0 个评论

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

GMT+8, 2024-5-13 12:27

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部