科学网

 找回密码
  注册
科学网 标签 ArcGIS 相关日志

tag 标签: ArcGIS

相关日志

ArcGIS生成地方行政区划图的一种方法
dayon 2020-7-8 18:50
当只有线文件和面文件时,这里提供一条思路 将面文件转化为线文件;(Data Management Tools -- Features -- Feature To Line); 将两个线文件一并转化为面文件;(Data Management Tools -- Features -- Feature To Polygon) 根据实际情况调整属性表即可!
个人分类: ArcGIS|0 个评论
ArcGIS 中的重分类工具,自定义的分类标准文件如何制作和保存?
dayon 2020-6-5 21:32
问题1:重分类的自定义标准文件如何保存和分享? ArcGIS空间分析中的重分类,可以把自己的分类标准给记录下来,以便于分享给别人。 真理往往就在谎言旁边,要沉着冷静分析; 保存的文件类型是 问题2:重分类中的0 -10,100 - 200的区间范围是? (1)这个分类的区间是描述是左开右闭(a, b]; (2)在写分类区间的时候,注意“-”左右和数字之间都要有空格符;
个人分类: ArcGIS|0 个评论
ArcGIS 根据点的经纬度坐标生成对应的shp文件(避免中文乱码)
dayon 2020-6-2 18:26
前面写过一个关于点文件生成对应shp文件的博文,链接如下: http://blog.sciencenet.cn/blog-3425629-1232356.html 但需要注意的是,在使用Conversion Excel Excel to table 工具时,很容易出现中文乱码问题。为此,文本提出另外一种添加 Excel 点的方式。 如果第一次导出的是dbf数据,则可以考虑再导出一次为shp文件。
个人分类: ArcGIS|0 个评论
你的地图用ArcGIS打开之后为什么是被扁的??
dayon 2020-6-2 18:02
数据说明:这个地图数据并非完整的中国版图,仅供用于学习! 扁的原因是视图显示的问题,修改一下视图,数据框的显示方式即可; 步骤如下: 如果开打之后是这个样子的,其实数据框显示的方式和文件本身的坐标信息并没有直接的关系。 数据框显示只是以某一种方式(视角)去看这些数据。因此,通过修改(视角)可以将图形“拉直”。方式如下:
个人分类: ArcGIS|0 个评论
ArcGIS系列之空间插值
dayon 2020-6-2 15:52
准备数据: 空间插值点(shp点文件最好,表格文件可以通过转化成为shp文件) 空间插值区域(shp面文件最好) 插值工具箱的位置 插值设置及参数解释 环境变量 插值结果 修改等级
个人分类: ArcGIS|0 个评论
ArcGIS 按location选择属性和表格统计(1)
dayon 2020-5-13 18:01
按location 选择要素; 将要素导出为新图层; 对要素表格进行统计; 1.1 明确要提取的内容 1.2 选择目标和源文件,以及两者之间的关系; 2.3 表格统计
个人分类: ArcGIS|0 个评论
ArcGIS 根据点的经纬度坐标生成对应的shp文件(point类型)
dayon 2020-5-9 12:30
1、 根据坐标建立excel表格 2、 打开ArcMap,在工具箱中找到Conversion Tools --Excel --Excel To Table工具。 3 、在工具中选择要导入的Excel文件,选择表导出的位置,和数据所在的sheet页,点击OK。 4、 数据转换完成后,表会自动添加到TOC窗口中。右击表,选择Display XY Data...选项。 5 、 在弹出框中将X、Y坐标对应的字段选好,点击Edit,选择坐标系,点击OK。 6、展示完成后,点会作为一个图层添加到地图中。右击该图层,选择Data--Export Data...,在保存窗口选择数据保存位置和导出的shp数据的名称,点击保存,完成。
个人分类: 科研笔记|1 次阅读|1 个评论
ArcGIS 10.2/10.5 安装教程
dayon 2020-5-8 16:24
有机会做了一次《土地管理系统》助教, 第一课就是讲安装;做了个 ArcGIS 10.5 的安装教程PPT,软件在百度网盘中,现将10.2和10.5的教程全部都分享。 第一讲 ArcGIS安装及卸载.pptx 第一讲 ArcGIS10.5安装及卸载.pptx
个人分类: 科研笔记|1 次阅读|0 个评论
MODIS的GPP数据集预处理——以MOD17A2H为例
Bill799 2020-4-24 22:31
以管理员身份打开ENVI5.0以上版本的软件,并打开App Store,加载MODIS Conversion Toolkit(MCTK) 加载后重启ENVI软件,并打开MCTK 1、打开.hdf格式的MODIS MOD17A2H的GPP数据集文件,以MOD17A2H.A2018001.h28v06.006为例 2、建议选择“重投影” 3、设置成果数据集的输出路径和根名称 4、建议“全选”所有图层 5、建议选择“是”,设置输出为双精度格式的数据 6、建议设置为“最邻近法重采样”,尽量保留原始数值 7、建议设为WGS-84坐标系的经纬度 转出成功后,在ArcGIS中打开该数据集,如下图所示 由于格网、质量等图层并非我们所需要的,所以我们只拉伸GPP图层的显示 依图可见,结合MOD17的帮助文档可知,3.2766数值肯定不是该数据集的正常取值范围,且背景值占用了3.2766数值。再考虑到MOD17数据集的1000倍转换因子,因此我决定采用栅格计算器结合SetNull函数进行异常值去除和GPP数值转换,基本过程如下图所示 考虑到部分研究者可能有批量处理的需求,我建议这些研究者采用Python进行批处理的方法,以下为该处理语句的Python DEMO arcpy.gp.RasterCalculator_sa('SetNull(E:/MODIS/2018 MODIS MOD17A2H/2018001_Grid_2D_reproj.dat= 3,E:/MODIS/2018 MODIS MOD17A2H/2018001_Grid_2D_reproj.dat*1000)', E:/MODIS/2018 MODIS MOD17A2H/b/2018001.tif); arcpy.gp.RasterCalculator_sa('SetNull(MCTK导出的数据集文件= 3,MCTK导出的数据集文件*1000)', E:/MODIS/2018 MODIS MOD17A2H/b/2018001.tif); Python语句的批量编译可以采用Excel批量生成,将MCTK导出的数据集文件的路径和文件名可以通过Everything软件将相应路径中的数据文件目录保存为.efu文件,并打开记事本将.efu文件以ANSI编码另存为.csv文件,并通过.csv的方法将目录导入到Excel中 注意,在Excel中注意处理符号,此外,Everything读取的Windows目录路径符号为\\,但是Python的路径符号为/,这些都要注意处理。Excel的编码流程大致如下图所示
个人分类: GIS操作|10752 次阅读|0 个评论
ARCGIS SERVER 10.5安装与破解
liufushou 2020-3-4 11:07
ArcGISSERVER安装.md 2/28/2020 6:10:09 PM ARCGIS SERVER 10.5安装与破解 参考:https://blog.csdn.net/shyjhyp11/article/details/96350149 http://bbs.3s001.com/thread-247834-1-1.html 1 前言 ArcGIS Server 是ESRI 发布的提供 面向Web 空间数据服务 的一个企业级GIS软件平台,提供创建和配置GIS应用程序和服务的框架,这样可以满足不同客户的各种需求。自9.2版起ArcGIS Server包含了 ArcSDE 空间数据引擎 , 用于通过多种关系型数据库来管理基于 多用户和多事务 的地理空间数据库。 孟令奎.网络地理信息系统原理与技术:科学出版社,2010年 2 软件下载地址 链接:https://pan.baidu.com/s/1P-R6G2hXSuTffr1AouP3Uw 提取码:2l4x 2.1 ArcGISSERVER安装 1.单独安装下述红框标示文件即可。 2.设置ArcGIS Server账户 一路选择默认。。。。,安装快结束的时候,在选择授权的时候选择第三项:找到.ecp文件,完成授权。 4.安装完成后,默认浏览器会自动打开:http://localhost:6080/arcgis/manager/ 一开始是报错 的,刷新一下,界面又出来了。进行配置 2.2 查找问题来源: 问题1 :计算机时间不对等,系统时间与注册码时间不对等,修改系统时间即可 问题2 :计算机用户名有问题,用户名中不能带有“-”字符,如JAY-PC是不行的。 修改以上两个问题即可: 问题3 :修改系统时间后会导致一些新的系统问题,即浏览器无法进行搜索,比较笨的方法是要使用ArcGIS Server时就把时间改了去,不用就改回来即可。所以,有条件还是采用正版软件
个人分类: 工具文档|12113 次阅读|0 个评论
为地图边界加上阴影效果
geoRp 2020-2-21 22:16
最初是在地理学报上看到了图 很漂亮 自己尝试做一下 效果还不错。 具体思路是:围绕边界建立栅格,裁剪边界附近的栅格,拉伸。 由于边界内外都有,需要另加一个面图层遮住边界内部的栅格。
个人分类: 可视化|0 个评论
arcgis 按照属性字段进行统计
linqy 2019-9-16 17:28
5250 次阅读|0 个评论
ArcGIS中加载EASE-GRID投影的方法
raniafox 2019-5-27 22:29
ArcGIS中加载EASE-GRID投影的方法 操作前友情提醒:数据处理记得首先养成好习惯,数据务必备份。 前记:早就想把这个关于EASE-GRID投影转换的总结上传博客了,这个文档也是很久之前写过的,希望对于初学的师弟师妹有做帮助。这是我在科学网的第一篇博客,后续会陆续将我这两年来整理总结的一些毛皮进行上传,主要是为了构建学习和沟通的平台,也督促自己不断前进!另外声明该方法是实验室郑兴明老师传授,本人只是方法的搬运工!哈哈,如果有问题,还欢迎及时交流与沟通!附件是该方法的pdf文档,便于需要的小伙伴下载使用,也方便发现问题及时反馈吧。 加载Ease-Grid投影方法更新.pdf 1. 官网 http://nsidc.org/data/ease/gis.html#import-original-ease 下载头文件 NL.hdr( 半球 ) 和 ML.hdr (全球)。 2. 查看 ArcGIS 中,产品的头文件模式,操作是:转换工具→由栅格转出→栅格转 ASCII 码。 3. 对比 NL.hdr 和产品原始头文件,以“ 1- 栅格转 ascii.txt ”命名该文件为例: 修改注意事项:对比上图,改成如下格式 注意: xllcorner 是 low left 即左下角 x 坐标之意;同理, ulxmap 是 up left 即左上角 x 坐标之意; cellsize 即像元大小。 4. 修改后的 ASCII 文件转为栅格见下图左1,这里最好事先就创建好个人地理数据库,原因是输出的栅格文件(以 lizi 命名举例)会带有一系列子文件,看起来非常糟糕,如下图左2所示: 5. 定义 EASE-GRID 投影,也可以是 EASE-GRID 2.0 投影;以前者为例。 (下图坐标系那里是自定义的,可以直接在系统投影坐标系中选择!) 怎么定义投影??官网上有投影信息说明即本文首页网址。 定义投影—— Data Management Tools →Projections and Transfoemations →Define Projection: 选择对应的EASE-GRID投影即可。 切记:数据框投影必须与数据本身投影完全一致才是最正确的操作。 ——本文系原创,转载需注明! email : wgrui@yahoo.com 欢迎学习与交流。
1289 次阅读|0 个评论
利用ArcGIS Model Builder提高地理处理效率
热度 1 xydf1992 2019-3-16 17:14
Model Builder简介 Model Builder是ArcGIS中一个非常好用的地理模型处理工具,可以把ArcToolBox中的各种工具组合成各种地理处理模型,方便使用,可以说是不会编程的使用者的福音啊,我就特别喜欢这个,因为我编程不好(捂脸遁走)。 首先介绍一下在哪里找到它呢?就在这里: 打开之后是这个样子的:常用的几个按钮标上了序号 1保存,可以把工具保存下来,以后留着用 2添加数据,不过我一般不用,直接把数据拖进去就行 3Auto Layout自动排版,把工具自动排列整齐 4Full Extent全局显示,在页面中完整显示所有工具 5箭头工具,可以用来选择 6连接线工具,把数据、工具等等连接起来 7对号,模型在运行后,如果对运行结果不满意,把生成的结果删除后,调整参数后,需要点一下对钩,让这个模型重新激活,不然有时候可能会出现问题,总之就是运行之前,先打对勾 8运行,模型构建完成后,运行即可 Model-Export这里,可以把模型输出为图片,也可以输出为python语句,可以利用这个学习arcpy的使用。虽然我并没有从这学会 Insert插入,这个菜单里面可以插入一些模型构建器独有的工具(Model Only Tools),还可以使用循环,但是循环仅能在一个模型中使用一次。 有关循环的使用,参考: 全国1:100W地理数据库的制作与合成 有关ArcGIS制图参考: 如何制作地图?以ArcGIS勘测定界成果制作说明为例 批量导出属性表 在GIS应用中,经常需要把属性表导出,使用EXCEL或者其他软件进行分析 除了使用Tabel-Export Data挨个手动输出还有啥批量的方法吗?这个问题一直困扰我,直到今天,终于发现了 在ArcToolBox-Spatial Stastics Tools-Utilities-Export Feature Attribute to ASCII使用这个工具可以有选择的自定义输出属性表。 具体设置如下: Input Feature Class选择要导出属性表的要素类 Value Field选择要导出的字段,这个就比在属性表中完全导出要好用,可以把一些不想要的字段去掉 Delimiter分隔符,可以选择SPACE空格,COMMA,逗号分隔,还有SEMI-COLON分号分隔,推荐COMMA逗号分隔,这样可以直接通过改后缀名的方式直接把输出结果改为CSV,直接在EXCEL中打开,非常方便。 由于编码的问题,ArcGIS导出后的属性表在EXCEL中打开会出现乱码,可以使用NOTEPAD++将编码转为ANSI编码即可。 然后再使用EXCEL打开就不会乱码了。 更多文章请关注:微信公众号 走天涯徐小洋
个人分类: GIS|6733 次阅读|2 个评论
ArcGIS笔记1
Geowangzz 2019-1-27 11:28
ArcGIS 笔记1 前言:此部分是在实际操作该软件时遇到的一些问题和解决方法。大部分解决方法是通过网络搜索得到,而且为了省时、省事就直接通过截屏的方式进行记录了。 l 提取栅格单元值到点 l 根据属性值提取栅格像元 l 选中线经过的面状要素(选中之后可以提取) 实际上这用到了一个按照位置选择的知识,选择可以分为两种,一种是按照属性值进行选择,一种是按照位置信息进行选择,这两种方法都不要忘了,一定要熟记在心。按照位置进行选择是GIS(地理信息系统的一个特色)。 l ARCGIS 中按照某字段属性批量导出shp(矢量) Q:如何通过某字段属性批量导出各个字段对应的shp文件?比如现有一副国家的的行政区划图,想要提取各个省份的shp文件。 A:解决该问题,可以通过Analysis Tools——Extract——Split工具实现。在“Input Features”和“Split Features”中都选择需要分割的行政区划图,相当于用自己切割自己。在“Split Field”中选择具有唯一标识的字段,例如省级行政区名、行政区代码名等,要求这个字段的属性为字符串,它将作为生成的shp文件的文件名。然后在目标工作空间“Target Workspace”设置输出路径即可。 l ARCGIS 中按照某字段属性批量导出栅格(栅格) 根据某个属性字段把栅格数据导出的方法 l ArcGIS 连接两个矢量文件属性 l ArcGIS 生成面数据多边形的中心点数据 Creates a feature class containing points generated from the representative locations of input features. l 将栅格Nodata的数值赋值为0 l 改变栅格分辨率几种不同的方法 l 把矢量图层按照属性表拆分成独立的图层 l 把多个矢量图层合并为一个 (Union) l 多个矢量图层融合 l 根据属性把矢量图层要素融合 l 批量删除属性表字段 l 栅格计算器的条件函数 Con(范围DEM.tif 600,范围DEM.tif / 600,Con(范围DEM.tif 1600,1,1600 / 范围DEM.tif)) Float(Con(范围DEM.tif 650,范围DEM.tif / 650,Con(范围DEM.tif 1550,1,1550 / 范围DEM.tif))) Float(Con(1990.tif=1,0.3,Con(1990.tif=2,0.6,Con(1990.tif=3,0.1,Con(1990.tif=4,0.9,Con(1990.tif=5,1,0.2)))))) l 把土地利用数据的栅格单元赋值成小数的解决方法 l 矢量面转栅格失败的原因(我遇到了) l 浮点型栅格根据属性提取像元值 l 提取矢量面的边界 l 怎么利用一个面图层分割另一个面图层? 问题描述: 杨凌区是咸阳市的一部分,我怎么把整个咸阳市分割成杨凌区和咸阳市非杨凌区两个部分 下图是咸阳市的一个面状要素 解决办法: 方法一:利用Identity工具 处理结果: 方法二:利用Union工具 效果一样 l 怎么处理面与面之间的空隙? 比如下图这样的: 研究的解决方案是: 第一步:矢量编辑该图层 第二步:把新添加的矢量要素的某个属性和要划归的矢量要素的属性保持一致。 第三部:按照该属性字段进行融合。 第四:处理结果:
个人分类: ArcGIS笔记|5926 次阅读|0 个评论
ArcGIS空间分析一例
chenhuansheng 2018-12-21 11:10
昨晚上师姐Hao在微信群里给出两道考题: 1,有一项研究需要分析全国每个县的区位优势,其中的一个指标是计算每个县的县城距所在地级市的欧式距离,列出主要步骤及方法。已有数据:现城(点状数据)、地级市(点状数据)、行政区界线(线状数据)。 2,某草原站对当地草原的土壤养分状况进行调查评价,其中一个典型样地的面积约1800m2,选择指标有:植被生长状态植被;土壤养分指标。拟在典型样地进行采样获取植被盖度样方及土壤养分样点数据,土壤养分样样本按标准方法采集并送实验室进行养分含量测定。野外采样条件有:手持GPS,数码相机,样方框,土钻及土壤样本盒,简述完成如下工作任务的分析方法和步骤。 她说这是考研题。问师弟师妹们如何解。 其实这两个题都不难。 第一个题,核心问题是: (1)算出县城与市所在地的点数据的坐标。 这里需要确认每一个县与市之间的一一映射关系,这就需要利用县和市的标识代码了,一般相关部门共享的数据中,会有地名代码,代码中可以提取出每一个行政区划地名所在的省、市和县的标识码。这可以利用以带通配符的查询功能。也可以在excel中完成。 但是如果给定的数据没有这些代码,可以利用多边形(行政区界线)进行空间关联来处理。 (2)利用点的坐标计算欧氏距离,这个可以在excel中完成。 可能,在arcgis中也是可以计算的。但是当前在我看来,excel中的计算会更加便捷。不过,ArcGIS中也可以自动提取每个点的x、y坐标,在字段计算器中也是可以计算的。 (3)计算的距离结果,要利用join方式挂接会原来的县城的点。 以上3各方面的处理,其实都不是什么难题,但关键是自己要做过一遍。如果没有,那就会感觉到很空洞,不知道如何下手。 第二个题,核心问题是: (1)样方框内覆盖度的计算。其实是照相,然后利用相片进行覆盖度提取。这个我曾经看过陈晋、何阳春的文章。这是单个样点的覆盖度问题。 (2)样方内土壤采样。 (3)样方数据的空间推广。这是空间插值的问题。能想到空间插值就能得分。前提是利用GPS记录每一个样方的位置。 (4)样方的布置。尽量均匀,这需要有一定的野外采样相关材料的学习。我是在“生态学概论”里面学到的。 以上两个题,对于现在的我来说,不难。但是对于本科阶段当时的我来说,见智难于登天。甚至于在我硕士刚毕业的时候,也很难。那时候至少我不会做第一个题。我对与ArcGIS软件还不熟悉,不知道怎么操作。 现在看来,软件操作与理论学习是相辅相成的。单纯的理论学习,可能难以解决实际问题,通过实习时间,问题具体化;通过软件操作,把理论上的思路化为具体操作,印象深刻,牢记在心。 昨晚上,师姐问这个问题的时候,不知道他人做如何感受。我的感觉是,师姐肯定自己是不会这些操作。或者会期中某一项操作,但是不能把他们连贯起来解决这个问题。作为一个GIS 毕业的博士,是不是感觉有点不好意思?当然是会不好意思。但是GIS的内容那么多那么丰富,怎么就要求什么都会呢?李小文院士还不会ENVI软件呢。你要是个遥感相关的学生,你会理解吗?你不觉得惊讶吗? 李汝嫣把他本科学习的与此相关的一个实习报告的word,发到了微信群里。我下载并打开看了,觉得简直是太好了。不会是名校的研究生!兰大之所以不同,这大概是原因之一吧。同样是《空间分析》,我所在的学校,讲的什么我心里有数。但是相比于人家的内容,我感觉,我们落后也是理所当然的了。 李汝嫣01.docx
3 次阅读|0 个评论
西北农牧交错带2018年度年终汇报会(20181216)
chenhuansheng 2018-12-17 00:41
西北农牧交错带 2018 年度年终汇报会 今天上午在祁连堂 501 会议室,从 10 点到 12:30 ,我们开展了西北农牧交错带项目的年终汇报总结。 1 、汇报的内容 魏宝成师兄代表我们第四项目组( LUCC 分析)做了汇报。报告的 ppt 涉及到魏、杜、何、薛和我的工作,主要是 5 方面的工作,而我仅仅涉及到其中关于 LULCC 分析的一小部分。而且还没有成文。实在惭愧。 核心区: (1) LULC 数据的栅格化 (2) LULCC 和气候特征分析 (3) 基于机器学习 (RoF 算法 ) 的 LULC 分类研究 北方农牧交错带 : (4) 1.4 基于 MODIS-NDVI 的 LULC 分类 (5) 1.5 植被变化与气象因子之间的关系分析 我的那一部分打了埋伏,没有说具体怎么分析。只是提到了要做显著性检验,并给出显著变化和面积最大变化的对比结果。贺老师对此似乎很感兴趣。问我这意味什么?我说这是结果,至于原因,我们会在下一步工作中进行分析。 师兄讲了基于 MODIS 数据的土地分类,贺老师提了云的问题、分类结果较以前的分类结果有何不同(精度更高吗?)? 后面一次是其他几个组的汇报。与我们的汇报详细介绍我们做了可什么工作、初步的出什么结论不同的是,其他三个组的汇报仅仅是他们做了什么,除了什么文章、正在颉哪方面的文章,并不详细介绍做什么工作的原理和过程,以及具体的关于理论、知识和应用等方面的具体成果。也就是说,我只告诉你我写了一篇什么样的文章,但文章中主要的结果、主要的结论我并不说。我觉得这不是一种好的交流方式,与颉老师对我们的要求相差太远。感觉他们当着我们的面,简直是遮遮掩掩。贺老师后面反复强调,说项目组内的不同成员间是相互协作而不是相互竞争,我想她不会是作无病呻吟的吧。大概也是对这种状态的不满。去年年终总结会上,王一博老师也是这样,说我们做了什么方向的工作,数据处理已经完成,结果和分析暂不公布。当场贺老师就表示不满,说这不是项目内部交流的正确做法。但是今年还是如此。 可见,我们不能图样图森破啊,时刻提放别人拿走你的科研 idea ! 到了贺老师自己门下学生汇报的时候,每个人作什么、计划什么时候完成什么任务,贺都会反复确认。感觉他们的分工很细致、很明确。据说他们每周开组会,为了照顾贺老师组会以视频会议的形式开展,梅次会议前,学生自己要讲什么,都要求提前把内容纲要发给老师。 我感觉这种组织很好。可惜也是别人组的老师和别人组的组会。 2 、参会感受 ① 经常检验你的工作进度;定期检验项目组的工作进度。 去年我第一次参加这个项目的年终交流会,项目负责人贺老师拿着以前个子课题拟定的任务书,包括拟定的文章题目和任务,逐一检核完成情况。于其好像很严厉,气氛很紧张。当时觉得很不能理解。但是一年过去了,我自己常常延误自己的计划,到现在一点成绩也没有。所以更加觉得这种做法的重要性。 ② 合理制定一个科研写作计划 虽然我的工作,有时候计划性不是很强,也难以有确定的计划,但是还是要有一个计划。否则会遥遥无期的。 贺老师建议采用倒推法,制定你的科研写作计划。比如计划在 12 月底要投稿,那么至少在 11 月底要弄出初稿来;再往前推,什么时候完成“讨论”、什么时候完成数据分析结果等。必须要有一个计划。计划到手如果没有严格暗示完成,也该知道自己在哪些方面怠慢了,要抽时间补起来。 要有紧迫感,今日事今日毕,明日事今日议!对人要讲信用,首先要对自己讲信用。 贺老师说了一个真实的故事,但是他拒绝透露那个人是谁。一个博士毕业好几年的内地博士,到美国做访问学者 / 留学?经人介绍认识了他。他们之间做了一天的长谈,定制了科学计划。过一段时间,贺给那个年轻人打电话,问起进展。那个人说暂无进展。再过一段时间,还是没有进展。后来干脆不再接电话。后来,那个年轻人终于与贺见面。充满了愧疚和羞涩,因为他的拖延症导致毫无收获。贺于是跟他制定详细的时间计划并约定每天下午 4 点见面。后来大概两三周,那个人的事情完全上了轨道。后来成果还不错。 贺说,一个良好习惯的养成,差不多需要两到三周的时间。大家不要耽误自己的青春。时间,对于每个人都是一样的,要好好珍惜利用自己的每一天。 ③ 实验科学与我们的差别 贺老师以及其他几位老师课题组的工作,主要是实验性质的。实验和观测完成后,数据就到手了。利用数据作分析,是什么结果就分析什么结果。时间上相对容易把控。 而我们呢?有些不一样。我们尤其是我,还主要是传统的地理分析思维方法,数据出来、结果出来,怎么解释是存在多种可能的。这与一个人的阅读量、野外经历和认识等都有关系。这样的话,数据分析思路就存在很大的不确定性。这恐怕是我今天犹豫未决、进展缓慢的原因之一吧。 ④ 把每一次汇报都当作学术报告的机会 今天除了 2 个老师以外,都是学生在做汇报。贺老师注意到有几个学生的表达存在问题。比如会用大量的口语,尤其是在不同内容之间过度的时候,采用“这个”、“然后”等,他举了一个他美国同事的例子,学术报告中大量使用“ you know ”。他说这些表达实际上没有意义。大量使用无实际意义的口头语,在学术报告中是不被推荐的。 他还建议我们珍惜每一次 ppt 汇报,不管是什么场合,都把它当作一次学术演讲。真正学术汇报的机会不多,不到等到真的学术回报来了再去努力! 师兄关于 CAS 数据能否直接使用的问题 昨晚上小弟生日,我们一起去西校门外的“姐弟”饭馆吃饭。路上聊起土地利用数据精度和可用性问题。 因为我的第一阶段变化规模偏小。我要给出合理解释。我想到,可能是分类比较粗的缘故一些变化被抹掉了。 CAS 公布的矢量数据是 26 (二级)类,精度为 90% 。考虑综合到同我一致分类体系的时候,精度可能会很高。因为目视是目前最有保障的分类办法。但是师兄不这么认为。他认为草地区分为高中低三种覆盖度,在精度验证上根本不可行。而且坚决认为我应该自己提取土地类别。 按照他的逻辑,包括沙漠化等级划分在内的这种区分某一个量的等级而形成不同地类的情形,都是不可检验的,科学家在作假。他试图强调自己做分类的重要性。 他因为自己目前正在做土地分类,强调自己分类的重要性,我可以理解。但是他认为这些等级划分的结果无法验证,我认为是主观偏见,甚至是心怀恶意的偏见! 我觉得,一个数据在全国尺度或者在更大区域上取得较好的总体精度,与局部精度较低的情况并存。这是可能的。但是这不是我就需要重做数据的理由。如果对于公开发布的数据,我们都怀疑其精度和可靠性。那很多工作就没有办法做了。什么事情都是需要自即从头处理数据。那数据共享的意义是什么?数据共享、以及基于共享数据开展工作的所有假设前提是:这些共享数据的精度得到保障,可以使用。 PPT 制作、审查、讲演的意义 这次年度汇报,实我做的 ppt 。魏师兄开始篡夺让我去做汇报。我没有多少工作、而且目前没有公开的成果发表,在他在校的情况下让我去汇报,这不是吧我故意放在火上烤吗?有时候我觉得这是他说话或者思考的一种习惯。比如前次师门组会,之前我匆匆组织 ppt 。他在我汇报之前,在同学们宣传说我肯定会讲的很好之类的。我此浅根本没有展示过我的工作,他的这些说法完全是无稽之谈。世上有一种不怀好意较捧杀,就是事先毫无根据地吹捧,让你当众出丑! 他去做报告,要求我做 ppt 。做就做吧。其实如果是我自己作汇报,我会很乐意,因为这样有利于把握 ppt 的思路方便汇报。但是我还是答应了作 ppt 的这个要求。我想知道别人都做了哪些工作、做到了什么地步。 说实话,开始的时候,感觉比较乱,因为大家的工作都不一致。我需要找出一个思路、一个线索。后来确定了一个线索(如下),这个线索主要是按照处理的方式和数据类型整理的。 (1) 土地利用矢量数据的栅格化 (2) 土地利用矢量数据的深入分析(小杜、我) (3) 基于 Landsat 数据的分类(何) (4) 基于 NDVI 时序数据的分析(魏、薛) (5) 基于气候数据的分析(杜) 后来师兄看了,觉得不好。然后按照“核心区”和“北方农牧交错带”分开整理。因为他是主讲人,当然要按照他的思路来。这样方便讲解。那就改吧。其实哈斯有点不高兴,改动这么大,相当于全部重做。一起按的工作白费。既然如此,开始的时候为什么不自己作呢?浪费我的时间!不过也无所谓了。 不过在修改 ppt 的过程中,尤其是他需要理解每一页 ppt 意图的时候发现了一些表达式上不妥的地方。有的地方是写作的问题,很低级的错误。有的地方是分析思路有问题。比如: 小杜在表述气候变化过程的时候,采用了距平指标。但是她对距平进行了线性拟合。我们两个都认为距平似乎不能用来进行做趋势分析的。当然,现在看来这么理解可能不一定对。但当时没有来得及核对也没有同她本人确认,就删除了。 再就是晓玉在进行片相关分析的受,计算了每一个像元的片相关系数,然后对区域进行了平均。我们认为这么做是不妥的。比如: l 有的像元的偏相关系数可能未能通过显著性检验 l 而就全区域进行片相关系数的平均,似乎是没有意义的。 第一点是我提出来的。第二点,现在看来可能有点武断。毕竟平均本身就是反映一个区域的平均状态。比如 NDVI 与温度的偏相关分析,在栅格制图结果看,大部分区域是黄色的,这表明确实是负值占多数区域;那么偏相关系数的区域平均取负值,也能从数值上说明这个问题。 不过显然,晓玉的栅格着色存在问题。无论是气温还是降水的偏相关系数,都存在从正到负的过程。应该设法把 0 值设置到一个中性色彩、由此向正负两端按照某一个色系逐渐加深才好。当然这个过程实施起来很有困难。但是上次听徐宝荣老师的课学到一招。即用 excel 给定表格中渐变的数值,然后转化为点,然后给与拉伸着色。再把这个色彩赋给栅格即可。即套用别的图层的颜色配置。 还有一些文字表达上,自己可能不会注意到,别人在看的时候可能就会发现文字不通顺等问题、甚至表达出现歧义等。这次改 ppt 还遇到不少。 今天了解的美国轶事 1、美国人结婚,教堂和酒店的招待,一般由女方负担。信仰基督教的家庭,一般会在教堂举行一个仪式,然后去酒店吃饭,而且大多数客人会在酒店住一晚。 当然也有一些简单的办法,比如去拉斯维加斯,有一条龙服务。花费很少。还有夏威夷等一些旅游胜地也提供简单快速的婚姻登记仪式服务。 2、美国白人信仰基督教的人口比例有下降趋势。几年前一个统计差不多在70%,现在可能下降到60%。 3、美国的网购,采取会员制。有一定积分的会员,可以在2天内快速送到,不是会员的要快速送货到家需要付给高额的运费,或者等上一个多星期免费送达。看来美国还是竞争不够。当然也有英国那种贵族思想作祟,高级会面给与高级服务。 4、美国人注重感恩节和圣诞节,一般感恩节后就开始准备圣诞节了。对于华裔,中国年并不放长假,在过年当天会有一天的假期。一个地方的华人协会可能招呼大家在年前的某一个周末一起聚会。 5、他们去高级酒店过生日,提前登记订餐,酒店会提供一份免费的生日礼物,可能是蛋糕或者其他。美国饭店并不会查验你的身份信息确认生日。大家相互间比较信任。 PS 20181221 今天我们小组的4个2017级的学妹作开题报告前的预演。每个人讲完后,大家提意见。我想起那天在农牧交错带年终会议上的交流问题。 作为基金负责人以及年终会议的主持人,贺老师鼓励大家发言交流。他自己对每一个人的汇报都提出质询。 但是直到所有人都讲完了,还是只有他一个人在提问,汇报的人做解答。其余的人,包括老师和学生,没有任何一个人发言。 贺老师对此,可能是不满的。当然,她知识表现出疑惑,问我们为什么没有问题?没有交流? 或许,在美国,以有自由的气氛和习惯,大家不论身份,都可以自由发言。但是中国却不具备这种环境。你的发言,可能是不受欢迎的;也可能是不够格的;也可能是冒失的。。。 我平常在组会上是会很踊跃发言的。但是自从前面有一次——当时老师还没有出国——组会上,我在人家回报的时候,跟旁边的人做了交流。后来,老师含沙射影地提出批判。大概是说在别人汇报的时候,我们不该在下面说话。可其实我并不是在谈与汇报主题无关的事情,我只是就汇报中给出的内容与同学交流。从那以后,我实可提醒自己不要随便说话。 但是以前,我一直觉得组会或者学术会议上,自由讨论的空气很重要。我也会大胆地提出自己的问题。但是我发别别人很少像我这样的。 上次,轮到我的汇报,除了两个老师,也没有同学提出质疑。我有些人失望。 今天,组会上主要是几个学妹为明天的开题作预演。晓云师姐给出了不少修改意见。我突然间,感觉到有些害怕。真的,如果明天是我开题,老师们或者同学们提出一些我现在难以解决的问题,或者仅仅是提出了问题却没有给出可行的改善建议。我会觉得心里发毛。 这么一想,我觉的,我以前造了多少孽啊?
个人分类: 农牧交错带|3 次阅读|0 个评论
ARCGIS批处理
haojm198 2018-11-28 11:28
1、打开build界面 2、模块选择,直接从toolbox中拖入,双击可添加数据和输出设置,自动生成导入模块 3、批处理在选择输入数据时 Insert-Iterations-(具体数据类型) 4、连接后全部变为彩色即可
个人分类: arcGIS|2766 次阅读|0 个评论
如何制作地图?以ArcGIS勘测定界成果制作说明为例
xydf1992 2018-11-10 10:57
如何能够制作一幅地图呢?以下面这个实例来说明,配合以前发布的数据资源获取相关文章食用效果更佳。 具体内容详见微信公众号文章: \0 \0 https://mp.weixin.qq.com/s?__biz=MzI4OTU3NTY1OA==mid=2247484080idx=1sn=75f45589e591de79e27cb50208c99581chksm=ec2c4535db5bcc2399f8d40ea849cfa2215a6e3739cdce70e3e6d195944ab1d8482df68a3764token=1878595423lang=zh_CN#rd
个人分类: GIS|4173 次阅读|0 个评论
如何优雅地选择一种地图变形方式
GISdsq 2018-10-9 00:42
今天来填一下之前说了很久的坑,关于变形地图制作方法教程。本篇主要介绍五种方式制作Cartogram,至于你觉得哪一种最优雅就follow your heart了。 1 Cartogram简介 按照各区域单元属性值的区际比例,调整每个区域单元的几何面积,同时保持各个区域单元的空间邻接关系。 以这种方式制作的地图被称之为 Cartogram(变形地图),统计地图,扭曲地图,夸张地图等等。 摘自百度百科。 接下来给出一个样例。 地图慧样例 当然如果地图慧后面支持这个服务的话,应该就是第六种制作的方式。我相信非常优雅了。 2 ArcGIS Cartogram Toolbox 最早看到变形地图其实还是在Esri中国的CSDN博客和ArcGIS中国培训中心的网站上。不过后者改版后,就找不到博客链接了。而且据现在的博客,插件下载地址看着也有点问题。我之前已经下载过了。如果有人需要的话可以在下面的评论区留言提供邮箱或者从下面的百度网盘链接下载。 百度网盘链接 接下来讲一下安装和使用。 首先是运行这个exe。其实大部分都是直接Next,除了安装路径可以修改之外,这里就不详细描述了。当然exe上的93是暗示着这个插件其实原本是根据ArcGIS 9.3开发的,想用在10.0以上的版本的话,必须注册dll文件。 即打开CMD命令行,输入如下的命令。其实就是regsvr32 + dll存放的路径。 regsvr32“F:\\ArcGIS Tools\\Cartograms\\BnchMrkCartogram.dll” 接下来就是将工具箱添加到ArcMap中即可使用。我们用一个样例数据来测试,样例数据来源于《全球变化科学研究数据出版系统》。 内蒙古自治区乡村人口迁出对植被影响数据集(2000-2010) 原始数据如上,但是主要的乡村人口迁出的数据有0值,ArcGIS工具箱输入参数需要注意三点。 1.用于Cartogram字段的必须是整型(任何工具实现应该都需要为正值)。 2.输出必须为geodatabase。 3.修改工作空间,存储临时文件。 由于第一点,所以我们去除了0值的几个县市。选择2000年劳动变化为结果。颜色从黄到红,值是越来越大的。 接下来看工具截图和变形结果。 感谢下两篇相关内容的博客。 ArcGIS之Cartogram地图变形记 ArcGIS夸张地图之Cartogram 2 QGIS Cartogram插件 事实上在QGIS也可以做变形地图,QGIS是开源桌面GIS软件中的代表。关于QGIS的这个插件,我事实上已经在前面的Coding and Paper Letter的第一篇就提到了。 Coding and Paper Letter(一) 当然我这里用的是QGIS 3.0.2,好像做了版本迁移。 接着点击桌面界面上的图标(下图红框)。 接下来会跳出Cartogram3的界面。 然后进行运算。 这是QGIS简单可视化。 变形地图结果会自动生成在列表里,如果需要保存,只需要右击保存文件即可。 3 Cartogram in R 除了以上的两大桌面软件,R语言中也有Cartogram的包。最早是RCartogram(表示并不知道这个包)。还是今天随手在谷歌上搜索时,看到谢益辉大大曾经也关注过这个方面的,并介绍了这个包。 Cartogram:变形的地图 我自己依旧在之前的Coding and Paper Letter介绍过相关的R包。 Coding and Paper Letter(二) 首先是安装R包。这里就不具体写地址了,如果想了解请点击上面的博客链接。 install.packages( 'cartogram' ) 接下来就是开始撸一波代码了。 #载入所需要的包 library (cartogram) library (rgeos) library (maptools) library (sp) #读取数据同时可视化 nmgau - readShapePoly( F:/R/demo/cartogram/mongoliaurbanmigration.shp ) spplot(nmgau, zcol = ALabor2000 ) #制作变形地图并可视化 nmgauca - cartogram_cont(nmgau, weight = ALabor2000 , 10 ) spplot(nmgauca, zcol = ALabor2000 ) cartogram_cont函数是核心,其实关键的参数与QGIS的插件工具很类似。具体的可以再查询帮助文档,结果如图。 代码运行后的信息。 至于结果保存成文件的话,需要用到其他空间数据的包。 4 GeoDa和geofacet 接下来的两种可视化方式,虽然也能被称为Cartogram,但是并非真正意义的Cartogram。 GeoDa是一个专门用于空间统计的软件,后面可能还会做些介绍。这里就单刀直入。在GeoDa打开数据后。 点击红框部分即可实现Cartogram。 对比上面的内容,就可以发现有所差距了。这里其实只是利用地理位置和大小重新渲染的气泡图。因此这也让我想到了类似的geofacet。geofacet是ggplot2的拓展包,专门用于地理分面,依旧在Coding and Paper Letter介绍过,详情见下面的博客。 Coding and Paper Letter(二十一) 不过目前为止geofacet只支持美国的州进行可视化,这里就没有选用geofacet进行可视化了。 ​
个人分类: 技术干货|3166 次阅读|0 个评论
PostGIS学习笔记(开篇)
GISdsq 2018-9-24 17:53
PostGIS事实上算是笔者开始写博客的第一篇内容。而事实上那篇博文的内容并不丰富,笔者对PostGIS的了解仍然不多,然而17年在OSGeo课程学习时对PostGIS又有了进一步了解,并逐步发现它的强大。刚好最近又遇上一个问题,也使我萌发了开坑PostGIS的想法。 1 PostGIS简介 PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。PostGIS的版权被纳入到GNU的GPL中,也就是说任何人可以自由得到PostGIS的源码并对其做研究和改进。正是由于这一点,PostGIS得到了迅速的发展,越来越多的爱好者和研究机构参与到PostGIS的应用开发和完善当中。 以上引自百度百科。 下面是我的第一篇博客。 桌面GIS连接Postgresql总结 安装可以在网上搜索教程,在连接ArcGIS、QGIS拓展内容可见上文。 2 关键问题 最近需要的一个工作是基于土地覆被数据和其他数据做一个简单的适宜用地提取。其实总结起来就是各种基础的空间叠加分析,但是却遇上了一个关键问题。土地覆被数据分辨率为300 m,下图即为土地覆被数据(已提取了需要的土地覆被类型)。为了面积准确性,进行栅格转矢量的时候并没有选择简化面。结果导致数据量非常巨大。 打开属性表可以发现,研究区一共有3146163条数据。 然后需要和另外一个结果做空间叠加(Intersection,相交),得到适宜用地的空间分布。结果由于数据量太大运行时间较长。在ArcGIS平台测试结果如图。花了21分钟27秒。 笔者同时尝试着使用了ArcGIS Pro来进行大数据量的矢量相交计算。计算时间为13分钟6秒。 也有人给的建议是选用PostGIS进行计算。于是进行了测试。 需要设置SRID和geometry。接下来在PostGIS的SQL查询里运行如下的SQL查询。 SELECT ST_Intersection(suitablewgs84.geometry, ecooutwgs84.geometry) FROM public .suitablewgs84 INNER JOIN public .ecooutwgs84 on ST_Intersects(suitablewgs84.geometry, ecooutwgs84.geometry) 可能是目前学习不够深入,速度似乎不够快。而这也是本部分学习笔记的开篇。 先放一些PostGIS的资料。 postgresql学习资料 PostGIS ​
个人分类: 技术干货|2658 次阅读|0 个评论
[转载]Arcgis如何把不相邻的多边形分解成不同的要素
qpy393420890 2018-9-4 17:44
在开编辑的情况下,用高级编辑工具(Advanced Editing Tool)-炸散多部分要素(Explode Muti-part Feature)对你选中的要素打散就行了。
1275 次阅读|0 个评论
[转载]Arcgis用面来选择面、线、点
qpy393420890 2018-9-4 17:41
一、如果这个面是在单独的一个图层中: 1.菜单selection-select by location 2.select features from 里勾选要选择的要素所在图层 3.选择关系:intersect(相交) 4.the features in this layer里选择面图层 二、如果想手动画个面来选择要素: 1.editor工具栏-start editing 2.task下拉列表里选select features using an area 3.用铅笔(sketch tool)画面选择要素
2764 次阅读|0 个评论
[转载]arvgis API中的map属性方法
linqy 2018-7-30 14:27
1、鼠标在地图上面移动; 2、按住鼠标左键拖拽鼠标; 3、拉框放大地图; 4、拉框缩小地图。 https://blog.csdn.net/giserstone/article/details/46310531
个人分类: ArcGIS 二次开发|902 次阅读|0 个评论
ARCGIS剖面图制作
haojm198 2018-7-2 10:07
1.剖面图可以通过剖面线制作,每次需先选择好栅格图层在进行剖面制作,就是剖面只针对当前图层 2.多剖面制作需多条剖面线,然后选择所有线条直接生成多剖面 3.图中内容修改在Advanced properties中修改。如去掉中间背景和虚线,则要修改axis中的grid下可见;背景修改wall为白色背景即可 \0 \0 4.结果
个人分类: arcGIS|7390 次阅读|0 个评论
等高线生成DEM
haojm198 2018-4-23 11:44
1 create TIN; 2 TIN to raster
个人分类: arcGIS|2684 次阅读|0 个评论
arcgis标注上下显示 不带横线
cui99515158 2017-11-22 22:07
Function FindLabel ( , ) FindLabel = vbNewLine End Function
个人分类: GIS应用|5910 次阅读|0 个评论
如何实现一个以中国为中心的世界地图
GISdsq 2017-11-14 10:22
最近屡屡有小伙伴为各种目的在询问有没有中国位于中心的世界地图。在某位同学的强烈要求下,我决定稍微记录下这个以我大中华为中心的世界地图的做法。 原始数据。 1 ArcGIS 第一种就简单介绍下ArcGIS平台上如何操作吧。 首先在ArcGIS软件中,右击Layers(图层)→Properties(属性)→Coordinate System(坐标系) 然后如图所示点击生成一个新的Projected Coordinate System(投影坐标系)。 按照如图所示设置。 并用Save As,导出一个.prj的投影文件。 接着用Arctoolbox的投影工具进行投影变换(我本身数据是WGS1984的地理坐标系)。 选择投影的时候可以直接import。 等待运行。 结果图。 如上,其实过程不复杂。最关键的这个使得中国能居于中间的原因是投影参数里面的第三个参数——Central Meridian,也就是中央经线。有兴趣还可以自行调整,我这里设150结果如上,也可以自行设定,只需要双击投影文件修改属性即可。 2 R 第二种介绍下R语言的方法。R语言做空间数据的这些处理最主要的两个包就是sp和rgdal。所以在处理前请先安装这两个包。 接下来直接进入正题。 我们需要先读入空间数据,然后对空间数据进行投影变换。 如何读空间数据就请点击前面我写过的文章, 戳 其实关键步骤就是用prj4字符串构造出我们需要的投影坐标系。关于这一点,推荐看下面的这篇博客学习。 坐标详解与PROJ.4使用说明 此外推荐几个网站用来查询相关坐标系信息。 epsg开源查询网站,托管在github上 空间参考官网网站 OGR驱动中的矢量格式、读写情况以及代码 这里直接给出对应的prj4字符串。”+proj=eqc +lat_ts=30 +lat_0=0 +lon_0=150 +ellps=WGS84 +datum=WGS84 +units=m +no_defs” 用sptransform转换投影坐标系,结果如图。 打完收工。 贴个R语言源码图。
个人分类: 技术干货|2759 次阅读|0 个评论
2017第十五届esri用户大会观感(二)——大会整体
GISdsq 2017-10-31 22:50
上文初步介绍了大会的盛况以及笔者负责的Web App Builder for ArcGIS,本篇来讲讲大会整体观感。总体来说,我觉得本次大会的两大亮点可能不在产品技术本身。而是此次宣布的两大关于产品销售的消息。第一是ArcGIS个人版使用许可推出(960元/年, 详情请点击 ),第二是扶持初创GIS企业的计划(该计划主要面向经营线下或线上的软件产品和服务,员工不超过50人,年营业额不超过一千万人民币的初创企业,提供ArcGIS软件三年的免费使用权)。当然技术上也有些亮点,我会就我的认识来谈一谈。 先谈谈两大亮点,而后聊些具体的技术和应用上看到的。 1 ArcGIS个人版使用许可 先来看看960元/年提供了啥。 ArcGIS Pro,ArcMap,ArcCatalog的桌面高级版许可+桌面版中包括的所有高级分析功能拓展模块。直到工作流管理模块来说,已经涵盖了ArcGIS系列桌面的所有软件和功能,非开发人员需要用的ArcGIS桌面已经全部包括,另外传统的ArcGIS系列只留了ArcMap和ArcCatalog,某种程度来说,esri公司确实在推动ArcGIS Pro替代传统桌面。当然我个人觉得更关键的应该是”ArcGIS Online Level 2 Named User account and 100 Service Credits”。 不知大家有没有注意到前文提到的关于Web App Builder for ArcGIS许可方面的内容,明确要求Level 2成员。ArcGIS Online Level 2成员账户事实上具备了可以使用esri多个app的许可。同时应当拥有一个主页,也就是可以当做公有portal的url地址。 产品的简介如下。事实上ArcGIS Desktop大家还是比较熟悉的,Pro则是新一代桌面,而且是为Web GIS平台打造的桌面应用,它本身可以直连portal,同时又具备多种Web GIS相关关联的功能,二三维一体化可以去参考 我前面的博客 。其他新特性就暂且不提了。ArcGIS Online是公有云平台,事实上就是公有的和在线版本的portal。 附赠的还有一堆视频和文档。 总的来说,价格相当超值,而且符合esri公司在云计算时代的产品定位规划。 2 关于初创企业支持计划 这个,毕竟笔者非企业人士就不瞎逼逼了,个人感觉还是蛮超值的,不过跟当年esri刚进中国在打通高校是一个道理。esri如今能在全世界包括中国占据这么大地理信息市场份额一大原因是因为他们在进入市场时送给各大高校那些软件造就的。现在相信对企业来说也是差不多的。 3 所见所闻 由于企业主办的会议,比普通学术会议来说,我个人感觉是见到更多的落地项目,也见到了更多接地气的应用,当然逼格依旧在。印象比较深的包括今年获评esri用户最佳应用奖之一的“智慧宁波时空信息云平台”。当然原因主要还是笔者最近有些宁波这块研究的任务。基于portal for ArcGIS搭建的云平台,在辅助智慧城市建设方面,可以说走出了坚定的一步。ps,宁波市规划局没记错的话,似乎和百度慧眼也有合作,应该算是国内规划信息化走得很前端。 还有是江苏省的互联网+国土资源服务平台。 接下来聊一聊web平台中的另外两架马车(ArcGIS API for Javascript和ArcGIS API for Python)。 JS API演示demo十分丰富,最主要是基于4.5版本的API,听到了两个比较大的亮点。 一个是点云数据支持渲染( 在线地址 )。 激光雷达和倾斜摄影的技术使得三维建模越来越快速。而JS 4.5 API是esri最主要做三维web的版本。 另外一个应该是号称可以渲染大数据的JS API,不过后面据闻需要ArcGIS Enterprise 10.6版本发布的服务支持( 在线地址 )。 ArcGIS API for Python的话,这次看到的是基于scikit-learning和esri存储的landsat数据实现遥感分类的相关样例。关于landsat存储的可以见 虾神博客 。此外值得推荐的是另外一个web app Landsat Explorer web app ,来源于2017 esri 全球用户大会。 很多demo可以在 体验中心 查看。 另外ArcGIS runtime SDK现在可以实现.Net跨平台开发,以及三维支持。当然还有Geoevent,GeoAnalytics Server,矢量切片,无人机等多种技术。 很凑巧,今天esri官方放出了主题演示的一些视频。 详情请点击 记录些观感。欢迎交流。
个人分类: 技术干货|2112 次阅读|0 个评论
2017第十五届esri用户大会观感(一)——WAB敏捷开发
GISdsq 2017-10-31 08:56
2017年10月24日和25日,在北京国际会议中心召开了第十五届esri用户大会。本次会议的主题围绕着slogan的理念提出的”Applying The Science of Where”,一共有6大主题报告,6大技术论坛,10大行业论坛,业界称为GIS届的饕餮盛宴。从Enabling a Smarter World到The Science of Where,大概是走过风风雨雨,看过世界万物最终又返璞归真回到原点去回答,我是谁?我从哪里来?我到哪里去?空间贯穿着我们的一生,从子宫到坟墓,人依托着空间而存在,而地理与GIS正是用来理解我们所生存的地球空间的语言。笔者很荣幸地成为了本届esri用户大会体验区志愿者之一,所负责的产品是esri推出的0代码敏捷开发的Web App Builder for ArcGIS。所以从观感来讲,就先来介绍下Web App Builder for ArcGIS产品吧。 1 Web App Builder for ArcGIS简介 ArcGIS WebApp Builder 是Esri在2014年4月份推出的一种直观的所见即所得式 (WYSIWYG) 应用程序,可用于构建 2D 和 3D web 应用程序,而无需编写一行代码。它所包括的强大工具可用来配置功能完备的 HTML 应用程序。添加地图和工具时,您可以在应用程序中看到这些地图和工具并立即使用。 主要功能 可通过 Web AppBuilder for ArcGIS 进行以下操作: 创建能在所有设备上运行的 HTML/JavaScript 应用程序。 使用即用型微件构建所需应用程序。 使用可配置的主题自定义应用程序的外观。 在线托管应用程序或在自己的服务器上运行应用程序。 创建自定义应用程序模板。 详情请点击 当然这里有许可相关限制。 2 Web App Builder for ArcGIS在线版敏捷开发 正如前面所说,对于许可的限制,事实上目前Web App Builder for ArcGIS必须有ArcGIS Online或者是Portal的支持。而简单地说Web App Builder for ArcGIS有两种版本,一种是在线版本,内置在ArcGIS Online或者Portal中,只需有账户就可以快速搭建,另一种则是独立的开发者版本,需要部署。那我们就先来介绍第一种方式。第一种方式对于许可有限制,事实上作为试用和测试的话,我们只需要注册一个账户,试用ArcGIS即可享受21天的ArcGIS Online组织2级成员的许可,当然这个也支持ArcGIS Pro等。至于如何申请请点击: ArcGIS及Online使用许可申请 。接下来进入正题。进行快速的敏捷开发。这是笔者试用账户下托管的数据。我利用ArcGIS Pro发布了一份2016年1月1日到1月7日全国各个县级市空气质量的数据。并做了一张简易热力图。 接着点击“创建”→“使用Web App Builder” 设置好标题、标签和摘要即可创建(也可以选择3D,这里就选择2D)。 这里可以选择任意一个主题。也可以设置颜色以及布局 接着点击”地图”,选择所需要的数据和底图。这里选择了做好的”Urban Air”。此外还可以选择地图初始化的范围等。 接下来就可以点击”微件”,配置webgis地图的基础功能了。这里最新版提供了超过33个微件,满足webgis地图应用基本需求。该主题里画框的”微件”分别对应的位置如上。 微件列表。 微件内部配置 最终页面。 最后还可以修改下”属性”,即可。 接下来可以选择保存,或者预览,或者启动。保存即保存在自己的账户项目内,预览可以观察不同尺寸的效果(web app是自适应的html5),启动的话直接访问该应用。 保存完毕即可查看。 也可以下载下来进行部署。下图为访问的页面。 如上是在线版本的敏捷开发。 3 Web App Builder for ArcGIS开发者版本部署 前文提到,Web App Builder for ArcGIS有独立的开发者版本,可以下载下来自己部署。不过依旧需要有ArcGIS Online或者portal账户来支撑。 Web App Builder for ArcGIS开发者版本 开发者版本下载下来的文件夹结构。 只需要点击startup.bat运行,即可启动。cmd运行后,在浏览器中输入 http://localhost:3345或 (https://localhsot:3346访问。 ) 与在线版不同的就是,接着就需要你填入ArcGIS Online或者portal的组织url了。同时还需要有个应用ID。 试用账户组织的url可以直接点击组织查询(这个为自己申请试用时设置的)。所以这里需要先从ArcGIS Online先行创建app,传递ID。 首先点击”添加项目”→”应用程序”。 选择”Web制图”→”添加”。笔者测试过,这里必须设置为 https://localhost:3346/webappbuilder。 点击”设置”→”注册” 必须做个重定向,将回调地址设为本地(除了localhost还可以设置为计算机名),注册。 即可看到ID。 运行startup.bat,访问 https://localhost:3346。 接下来步骤与前面在线版本差异不大。当然也有一个公用的可以使用的portal: http://www.arcgisonline.cn/portal。也可以通过这个进行配置。 相关教程在第一篇参考博客中。 整体来说,在用户大会体验区开放的接近一天半的时间内,还是有大量的人对零代码构建web app的工具产生了浓厚兴趣,整体来说大家都在询问的无非是:如何部署在自己的服务器上以及如何进行二次开发,而不仅仅是基于现有的框架。 解答如下:部署在自己服务器上的话必须购买portal for ArcGIS。而由于该工具是以敏捷开发为目的,封装得较好,所以二次开发支持的无非是主题配置和微件使用(具体可见文末的几篇博客)。当然也有大神对源码进行了改动,使其可以不依赖于portal for ArcGIS,这里就不提了(因为某种程度上失去了敏捷开发的特性,当然改完之后的倒是很完美)。 WAB敏捷开发目前来看已经是portal for ArcGIS以及新一代ArcGIS平台web开发的三架马车(另两架分别是ArcGIS API for Python,ArcGIS API for Javascript)了,当然个人理解,仅从我们体验区布设来看。 WAB的敏捷开发实现了一个快速开发的途径,某种程度上也降低了无代码人员开发的难度,本身也具有不错的平台扩展性,演示的demo中有集成了百度Echarts的可视化,当然基于portal for ArcGIS或者ArcGIS Online的这个特性确实在彰显esri公司在云计算时代的应对之策。 最后的最后,我个人觉得该产品可以类比Tableau Public和power BI。当然相对而言,WAB确实更偏向于GIS,而后两者则纯粹考虑可视化。 相关教程学习资料与博客: Web Appbuilder For ArcGIS# 正式版使用教程 配置与使用 webAppbuilder微件使用教程1 快速入门 webAppbuilder微件使用教程2 常用微件介绍 webAppbuilder微件使用教程3 地理处理微件 Webappbuilder开发快速预览 Webappbuilder自定义widget模板 WebAppBuilder自定义主题 ArcGIS WebApp builder 教程(一)简介 ArcGIS WebApp builder 教程(二)入门 ArcGIS Web Appbuilder代码改动为不需要protal步骤初探 Web App Builder For ArcGIS 安装部署使用 ArcGIS WebApp Builder 使用指南
个人分类: 技术干货|1166 次阅读|0 个评论
R语言读取空间数据以及ArcGIS中OLS工具回归结果可视化R语言版
GISdsq 2017-8-30 15:39
前面已经介绍过R语言读取excel的方法了,当然读取数据来说,个人还是推荐csv或txt存储(针对小数据量)。大数据量的数据的话建议还是用数据库,此外也可以考虑data.table包读取,这个包也是个神包,后面学习完可能来谈谈。这个都是题外话,今天主要目的还是来介绍R语言读取空间数据的方法。主要是之前有同学问过读取的方法。我就顺带整理下,另外虾神今天刚发了一篇关于ArcGIS的OLS工具回归结果可视化内容,并贴出了Python版可视化的代码(文末贴链接),所以对应写个R语言版。 本文介绍的空间数据类型主要包括了三种:矢量数据(以最普遍的的shapefile为例),栅格(raster,这个格式就比较多了,不过大同小异),地理数据库(geodatabase也就是.gdb文件,Esri的数据库)。 1.矢量数据 矢量数据其实主要包括了三类:点,线和面,能读取的方式有很多种。下面列举几种。 先从点线面分别读取的方式来看,主要包括readShapePoints(读取点),readShapeLines(读取线要素),readShapePoly(读取面要素)。这几个函数都是maptools包里面的。所以第一步如果没安装的话请先安装。 install.packages(‘maptools’) library(maptools) 接着定位到我们所需读取数据的工作路径上,然后就可以开始读取对应的数据了。 fujian-readShapePoints(‘fujian.shp’) nanhailine-readShapeLines(“linesnation.shp”) province-readShapePoly(“province.shp”) 如果不需要什么其他操作,读取数据只需要填入文件名字作为传入的参数即可。这几个函数完整的参数大体差不多,主要包括下面几个。 fn——文件名,一般能读的是.shp文件,.shx文件和.dbf文件 proj4string = CRS(as.character(NA))——坐标系的CRS字符串,关于坐标系的问题,这里不详讲。其实就是一个坐标系对应一个ID,把对应ID读进去,按照对应坐标系读取,这个是遵循规范的。 一般前两个参数用得多。后面这些只介绍这三个函数共有的参数,其他参数就请参照帮助文档。 verbose = FALSE——默认为False,这个主要是在读取数据后是否返回读入要素的类型和数量。 repair=FALSE——这个参数的话,主要是考虑到.shx索引文件太大,默认False会跳过读取数据,TRUE的话,会进行内部修复,读取这类文件。 而maptools同样提供了另外一个函数readShapeSpatial,这个就可以读以上的三类要素。 fujian-readShapeSpatial(“fujian.shp”) 当然除了maptools,还有其他包可以读取,事实上,maptools提供的函数读取只能传输较差分辨率的空间数据,所以更推荐的是用rgdal包的OGR驱动程序来读取。熟悉开源GIS的同学对GDAL会比较熟悉,事实上rgdal就是GDAL的R接口(当然没装还是要先装,方法同上),读取方式如下,参数也是传入文件名即可简单读取,不过这个参数可以读具体文件也可以读文件夹名。对应上面proj4string也有一个参数p4s,其他参数参照文档。 fujian-readOGR(“fujian.shp”) 此外还有shapefiles包也可以进行读取。读取方式(可以读取shp和shx,shx读取结果为空间索引)如下: fujian-read.shp(“fujian.shp”) 矢量数据读取主要通过以上几种方式就可以实现。 2.栅格数据 栅格数据的话,格式还是多种多样的。这边主要提供几种不同格式的读取方法(.img文件,.tif文件,ASCII码文件和.asc文件)。栅格数据读取主要是基于rgdal包,读取方式如下,img和tif都可以通过readGDAL直接读取。 co2-readGDAL(“CO22008.img”) co2-readGDAL(“CO22008.tif”) 这里面的参数我就不详细介绍了,主要解释几个个人认为比较重要的参数。有兴趣的同学可以去查询官方文档。 band——波段数,单纯栅格无所谓。做遥感影像数据处理时就会遇到需要几个波段的问题,如果缺省的话,是全部导入。 p4s——等同于上面的proj4string type——像素深度:8bit,16bit等 除了rgdal之外,也可以通过raster包进行读取.img文件和.tif文件,这个更方便些。读取方式如下 co2-raster(“CO22008.img”) co2-raster(“CO22008.tif”) 当然栅格数据还有较为普遍的以ASCII码文件存储的方式。这里也提供下如何读取ASCII码文件,这个方法是基于sp包的,所以需要先安装和载入sp包,这个包是R语言空间数据的基础包,指定了空间数据库的方法和对象。 co2-read.asciigrid(“co22008.txt”) 当然ASCII码文件可能是以.asc文件存储的,只需把后缀名改成.asc即可读取。 栅格的读取大概就如上。 3.地理数据库(Geodatabase)数据读取 Geodatabase是Esri在ArcInfo8之后引入的一种全新的面向对象的空间数据模型。具体简介可以自己搜索。也就是说Geodatabase是Esri官方提出的一种数据库,没有ArcGIS是无法创建Geodatabase的。读取的话其实也相对麻烦些。目前看到的只有Esri官方给出的一个R包可以读取Geodatabase数据。R语言与ArcGIS的结合在未来将很有潜力。目前Esri已经在github上开源了部分工具,2015年全球用户大会上也秀出了R-ArcGIS的Sample工具。 具体开源地址: https://r-arcgis.github.io/ 本次用来读取Geodatabase的包就是R-ArcGIS中的一个关键包——arcgisbinding。这个包目前没有在cran上,建议下载之后离线安装。下载地址: https://github.com/R-ArcGIS/r-bridge/releases/tag/v1.0.0.125。 这个包的官方文档可以从官网下载,也可以从下面的连接下载。 http://download.csdn.net/detail/esa_dsq/9823403 具体安装,同时安装完之后需要先确认ArcGIS的许可(要求应该是ArcGIS10.4以上的版本或者ArcGIS pro1.1以上),具体代码如下: install.packages(“G:/GIS/Esri/ArcGIS Plugin/arcgisbinding_1.0.0.125.zip”, repos = NULL, type = “win.binary”) arc.check_product() 读取的方式稍微复杂些,用到了arc.open,arc.select,arc.data2sp三个函数,arc.open是打开gdb文件里的featureclass(支持的格式还包括layers等),arc.select是将打开的featureclass按照需要的字段和sql读成R语言中熟悉的数据框,arc.data2sp是将数据框转化成空间要素。使用方式如下。 china-arc.open(“china.gdb/province”) chinapop-arc.select(china,fields = c(‘Pop_Rural’,’Pop_Urban’,’POPU’)) chinapopsp-arc.data2sp(chinapop) 当然读取完了我们还是要来可视化一下。用的是spplot函数,这里就不展开讲了,只贴出图(当然只是随手画的,色带啥的都没调)。 4.ArcGIS中OLS工具回归结果可视化(R语言版) 最后的最后。对应虾神文章的Python版本ArcGIS中OLS工具回归结果可视化,写个R语言版本。 载入包如果没安装,请先安装,如果已安装,请注释install.packages(“…/arcgisbinding_1.0.0.125.zip”, repos = NULL, type = “win.binary”)…表示arcgisbinding离线包的路径install.packages(“car”)install.packages(“GGally”)install.packages(“ggplot2”) library(arcgisbinding) library(car) library(GGally) library(ggplot2) 设置工作路径 setwd(“F:/R/demo/readdata”) 检查ArcGIS产品许可 arc.check_product() 读取数据并将数据转换为数据框 olsdata-arc.open(“china.gdb/olstest”) olsdata olsdataframe-arc.select(olsdata,fields = c(“gdp”,”Index_2000”,”Pop_Urban”,”POPU”,”PRODUCT”,”Estimated”,”Residual”,”StdResid”)) 把因变量和自变量单独分离出来并用car包里的spm函数绘图 variableframe-olsdataframe spm(variableframe,diagonal=”hist”) 感觉似乎不是很好看,换个方式。 利用GGally的ggpairs函数画图 ggpairs(variableframe,upper = list(continuous=”cor”),lower = list(continuous=”smooth”),diag = list(continuous=”barDiag”)) 绘制标准残差的分布,用ggplot2画图 a-ggplot(olsdataframe,aes(x=StdResid))+ geom_histogram(aes(y=..density..),binwidth = 0.5,colour=”white”,fill=”grey”)+ geom_line(stat=’density’,colour=”#FF6666”) a 绘制标准残差和观测值的散点图 opar-par(no.readonly = T) par(fig=c(0,0.8,0,0.8)) plot(olsdataframe StdResid,col=”grey”,pch=16) par(fig=c(0,0.8,0.7,1),new=T) hist(olsdataframe$gdp,col=”grey”) par(fig=c(0.75,1,0,0.8),new=T) hist(olsdataframe$StdResid,col=”grey”) 主要是为了和虾神最后的效果类似,事实上,在读取完数据框之后,纯属散点图矩阵可视化方面的内容。 最后贴出虾神的公众号和博客。 微信公众号:虾神daxialu——以推广空间分析和空间数据挖掘为己任,致力于在GIS界传递分析价值。 虾神博客原文地址:《白话空间统计二十三:回归分析番外-ArcGIS中的OLS(三)》 http://blog.csdn.net/allenlu2008/article/details/70456024
个人分类: 技术干货|3752 次阅读|0 个评论
ArcGIS模型构建器批处理操作
zhanghouxing 2017-6-28 16:39
在实际的工作中,我们常常需要ArcGIS实现批处理操作,而对于不会python,或者对python不熟的同志,可能非常有必要用一下ArcGIS模型自带的model builder。 这里我以一个简单的例子,来说明这个工具方便性。现在我有一个文件夹,里面包含了四个dbf文件,现在我需要对这写dbf文件分别进行操作,比如Add filed, Field Calculator等等。 这里主要涉及到如何在model builder中添加循环操作。先上个图: 主要步骤:(1)将文件夹拖入到model builder;(2)Insert-Iterations-tables;(3)最后就是常规处理过程。对于不同的循环,需要在第二步选择不同的对象比如还有files, fileds和rasters等的循环。这个例子的功能就是给argis_model文件夹下面每个dbf文件添加一个field。 Note:需要注意的是,我们有时候需要对批处理的复杂度要求比较高,这时候可以将建立的model导出为python scripts,然后我们可以根据需要修改代码,实现其它一些复杂功能。 更多关于ArcGIS model builder,可以参考: https://pro.arcgis.com/zh-cn/pro-app/help/analysis/geoprocessing/modelbuilder/using-feedback-in-iteration.htm
14829 次阅读|0 个评论
基于ArcGIS Pro的二三维一体化
GISdsq 2017-5-21 16:27
最近尝试了下ArcGIS Pro的二三维一体化管理功能。感觉相当不错,记录一下使用过程与操作。 ArcGIS Pro是一款全新的桌面应用程序,它改变了桌面GIS的工作方式,以满足新一代WebGIS应用模式。ArcGIS Pro采用Ribbon界面风格,给人全新的用户体验。它作为一个高级的应用程序,可以对来自本地、ArcGIS Online、或者Portal for ArcGIS的数据进行可视化、编辑、分析。同时,实现了二三维一体化的数据可视化、管理、分析和发布。此外,ArcGIS Pro原生64位应用,支持多线程处理,极大提高软件性能。 关于ArcGIS Pro的安装与使用请参考如下的网址(ps,可以无限试用)。 http://blog.csdn.net/kikitamoon/article/details/44102383 从GIS数据的种类来说,主要是两种:矢量数据和栅格数据。三维数据也可以基于这两种分别完成。 介绍下这两类的三维化。 (一)栅格的三维化 栅格数据的三维化主要是类似于DEM拉伸成三维的山体。 首先打开ArcGIS Pro 新建一个二维和三维窗口 右击三维场景属性,如下图,设置要三维化的栅格,此外可以根据需求做拉伸 效果如下 点击二三维联动按钮 二三维联动效果: (二)矢量操作 矢量的数据可以通过字段拉伸或者rpk生成。ArcGIS Pro在这方面无缝集成了City Engine的规则建模。因此首先在City Engine中写好CGA,通过City Engine生成规则包rpk。 @StartRule lot-- extrude(rand(3, 50)) 接着点击工具 生成三维体图层 二三维联动效果如下 ArcGIS Pro的整体界面非常友好,而且功能强大,也是目前esri主推的新软件,不仅是二三维一体化,在今年esri用户大会上,还演示了基于ArcGIS Pro的各类大数据应用。大数据时代,让我们拥抱ArcGIS Pro。
个人分类: 技术干货|2918 次阅读|0 个评论
桌面GIS连接Postgresql总结
GISdsq 2017-5-21 16:25
对于非开发人员的GISer而言,数据库这东西更多停留在mdb,gdb的层面,相对而言这些数据的使用无论是在处理还是管理上,门槛相对较低。但是目前所处的信息爆炸的大数据时代,仅仅依靠桌面GIS本身的数据存储远远不够,在存储大量数据的时候,仍然需要专门的数据库管理。所以桌面GIS如何在关系型数据库中写入空间数据也是一个重要的过程。此文是在阅读了网上的部分博客及自己的亲身经验写成。主要介绍桌面GIS中两大代表——Esri的ArcGIS以及开源的QGIS。使用的关系型数据库是Postgresql,它的空间扩展是PostGIS。 桌面GIS: Esri ArcGIS 10.2 Esri ArcSDE 10.2 QGIS 2.8.2 关系型数据库及空间扩展: Postgresql 9.5.0_x64 PostGIS 2.2 以上软件的安装略过了,网上均有教程。 (一)QGIS连接Postgresql 个人最喜爱QGIS的一点就是它与PostGIS以及其他各类数据库的无缝衔接,确实可以说是直连数据库。 主要是通过这个数据库的操作 先新建一个连接,输入名称、主机、数据库、调整SSL模式、用户名、密码,最后测试连接。 如果跳出这个页面,就证明你成功啦。 接下来按确定之后,只要在最开始的页面点击“连接”,就已经愉快地连上了。如果你打开Postgresql,会发现全局架构是对应的,所以确认是连接成功的。 ! 这边选择了一个2008年2月3日北京市的一辆出租车轨迹数据来做测试 QGIS中,基于出租车轨迹生成的热图 (二)ArcGIS Desktop 连接Postgresql ArcGIS Desktop 10.2之后提供了Postgresql直连的功能,当然这里的直连,我认为可以叫伪直连,因为它仍然需要ArcSDE的支持,而不像QGIS可以直接连接。 当然直连的的方法还是相对简单的,不过我也遇到了一个问题,我的Postgresql是64位。但是ArcGIS Desktop目前只有32位。所以即使安装了ArcSDE,也无法直接连接。需要Postgresql32位里面的一些dll文件。 将这些Postgresql对应版本32位的dll文件复制粘贴到ArcGIS安装目录下面的”/ArcGIS/Desktop 10.2/bin的文件夹里,接着可以打开ArcGIS进行连接了。 选择同一个测试数据导入PostGIS 基于ArcGIS连接Postgresql里面的数据制作的核密度图
个人分类: 技术干货|2355 次阅读|0 个评论
ArcGIS简介与数据的组织采集方法
PatientHeart 2016-12-14 18:26
个人分类: ArcGIS|3 次阅读|0 个评论
arcgis安装包及安装说明
Guchangjun 2016-11-28 07:43
前几天arcgis崩溃,无奈重新安装了,这里分享一下安装包以及安装教程(必读文件.txt),如链接失效,可以私信我。http://pan.baidu.com/s/1kVyikgJ
2566 次阅读|0 个评论
Arcgis可视化DHSVM的streamnetwork
zhanghouxing 2016-10-25 21:16
问题是这样的,现在我手上有DHSVM的test site data,现在我想可视化stream,这需要做一些处理。 DHSVM的输入数据中包含了stream.map文件,格式如下: 现在我需要将这个文件在Arcgis中转为可视化文件。 (1)采用MATLAB,将上述文件转化为ACII文件,没有的数据设置为-9999; (2) 添加header file,这样得到Arcgis需要的标准的ACII文件。 (3) 采用Arcgis中ASCII to Raster工具进行转化,OK! 现在我想对dem进行渲染。工具:3D Analyst Tools--Raster Surface--Hillshade; 得到渲染的图dem_shadow,将原来dem放在渲染图之上,并设置透明度为50%。现在看起来很有立体感。
个人分类: Arcgis|4461 次阅读|0 个评论
ArcGIS Python实现Modis NDVI批量化月最大合成
热度 2 YF2015 2016-4-14 21:10
最大合成法(MVC)可以在Envi中的Band Math中进行,式子是B1B2,但是无法批量化;本文实现在ArcGIS中利用Python代码批量进行,如下: 用到的Modis NDVI数据是在MRT中进行拼接与转投影后的月数据,一个月有两期,数据格式是.tif,文件名的格式如:20040101.1_km_16_days_NDVI.tif,20040102.1_km_16_days_NDVI.tif代表2004年1月份的两期数据。本次处理的为2004-2013年的10年的数据。 Python代码如下: view plain copy import arcpy import time arcpy.CheckOutExtension( spatial ) time1=time.strftime( '%y-%m-%d-%H:%M:%S' ) Sname1= F:\\Modis_16\\1Moasic\\ Sname2= .1_km_16_days_NDVI.tif for i in range( 2004 , 2014 ): for j in range( 1 , 13 ): if j 9 : Year= str(i)+str(j)+ 0 else : Year= str(i)+ 0 +str(j)+ 0 print Sname1+Year+ 1 +Sname2 print Sname1+Year+ 2 +Sname2 out= F:\\Modis_16\\2MVC\\ +Year print out + is being ......... arcpy.gp.CellStatistics_sa((Sname1+Year+ 1 +Sname2,Sname1+Year+ 2 +Sname2) ,out, MAXIMUM , DATA ) print out + has done.......... print ------------------------------------------------------- print ----------All are done !!!---------- print Start time : +time1 print End time : +time.strftime( '%y-%m-%d-%H:%M:%S' ) 领悟:本次处理的核心部分是拼凑文件名字符串。 原文:http://blog.csdn.net/lucky51222/article/details/38922853
个人分类: 遥感|8096 次阅读|3 个评论
<备忘>Shapefile属性表中的中文显示乱码如何处理
热度 1 cgh 2015-10-23 09:13
备忘 :Shapefile 属性表中的中文显示乱码如何处理 问题:shapefile 的属性表中,中文字符显示为乱码。 原因:字符编码方式不匹配。系统解读的编码方式和文件实际存储的编码方式不匹配,无法正常显示。“ Before ArcGIS 10.2.1, shapefiles were encoded in the languagelocale of the system on which the shapefile was created. As of version 10.2.1,shapefiles are always encoded in UTF-8, which presents a problem on systemsthat use languages with multibyte character encodings, such as Chinese,Japanese or Russian. ” 解决: 1 、打补丁,参考esri 的文档下载补丁,目前只有10.2.1 和10.2.2 的补丁。原理是修改注册表,更改编码方式。更高版本似乎没有补丁。 2 、手动修改注册表,更改默认编码方式;所有的文件以后都以相同的指定默认编码方式打开。自己修改注册表,又一定风险。 3 、为特定shapefile 指定编码方式,创建一个与*shp 同名的*.cpg 文件用于存储编码方式信息,用记事本编辑,写入需要使用的编码方式,如OEM ,UTF-8 ,……。好处在于可以针对不同的中文编码方式。 参考资料: a 、http://www.faceye.net/search/101949.html b 、http://support.esri.com/en/knowledgebase/techarticles/detail/21106
个人分类: GIS|8802 次阅读|2 个评论
[转载]ArcGIS: Generate Raster Longitude and Latitude in ArcGIS
lixujeremy 2015-10-3 14:31
Summary 栅格数据怎样可以得到逐点的经纬度信息,并分别将经度、纬度坐标以二维矩阵形式(影像)输出? 已知 mask.tif 文件已投影为 WGS_1984_UTM_zone_50N ,行列分别是 411 、 452 ,空间分辨率 1000m 。 Steps - Convert a raster of the study area to point. 打开 ArcToolBox , Conversion--From Raster--Raster to Point ,处理结果返回 points.shp 。 - Create two fields (floating or double) to store x and y. 右键 points , Open Attribute Table ,在属性表中添加 2 个域,分别列出经度、纬度,如 Fig. 1 。 Fig. 1 - Calculate geometry (longitude for x, latitude for y) 在属性名称上右键选择 Calculate Geometry ... ,经度对应 x ,纬度对应 y ,注意单位选择 Decimal Degrees ,如 Fig. 2 ,计算结果将会存储在属性表中。 Fig. 2 - Convert to raster using x field (longitude raster) 打开 ArcToolBox , Conversion--To Raster--Point to Raster ,参数配置如 Fig.3 ,像元参数设置与 mask.tif 一致。 Fig. 3 输出纬度矩阵与 mask.tif 空间信息完全一致,如 Fig. 4 。 Fig. 4 LatLong.rar References Is there any tool that can generate raster longitude and latitude in Arcgis? Answered by José Ignacio álvarez Francoso. Specifying the precision and scale allows you to restrict the range of values and number formats a field can accept, giving you greater control . For example, if you specify a float with a precision of 4 and a scale of 2, the field will accept 12.34. If you try to enter 12.345 into the field, an error message would display, as this exceeds the maximum number of digits and decimal places allowed. On the other hand, if you specify a float with a precision of 5 and a scale of 3, the field would let you enter 12.345.
个人分类: GIS|1746 次阅读|0 个评论
[转载]Arcgis出了问题--显示“ArcGIS Initializing Application”
majiaping 2015-8-17 20:48
今天打开 Arcgis 发现显示 “Initializing Application” 可就是打不开, 于是网上搜了, 发现真是症状其实是: ArcMap 程序启动时会在 C:\\Users\\MyDocuments\\ArcGIS\\ 生成 Default.gdb 、 Default1.gdb 、 Default2.gdb 、 …… 等 , ArcMap 进程不关闭,会一直停留在那里,并生成 很多很多 Default.gdb 。 一种解决方法是: 将 C:\Users\\MyDocuments\\ 下的 ArcGIS 文件夹删掉, 然后新建名为 ArcGIS” 的 txt (注意没有扩展名)。 重启启动 ArcMap 即可。 详见: http://blog.sina.com.cn/s/blog_672d81210101h1c8.html 第二种解决方法是:打补丁 从 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7f6c0cb4-7a5e-4790-a7cf-9e139e6819c0displaylang=en 下载 xml 的补丁,然后一路 next 安装即可。 详见: http://blog.sina.com.cn/s/blog_4a823f67010167dn.html 先试了第一不行,删了ArcGis 文件夹后还会重新生成, 于是用了第二种,解决。 ps: 不同的情况可能不一样,有的网友是用第一种方法解决的。
2661 次阅读|1 个评论
[转载]批量修复MXD地图数据源
ynwaterbird 2015-6-14 11:05
ArcGIS教程:如何批量修复MXD地图数据源 标签: 转载 分类: GIS 原文地址: ArcGIS教程:如何批量修复MXD地图数据源 作者: 地理国情监测云平台   打开地图什么也看不见啊!   图层前面都是红色感叹号啊!   我也拷了数据啊,为嘛神马也看不见啊!   如下图,图层前面都带上了红色感叹号,这种情形就是丢失了数据源。可能是由数据路径更改或图层名变更引起。      图1   ArcGIS10版本可以修复数据源,在图层右键属性里找到Data—RepairData Source,然后去指定该数据新的路径。      图2   如果丢失数据源的图层太多,而这些数据都在同一个路径下,一个一个重新再去指定新路径,就很不方便了。下面给大家支两招,批量修复数据源。    1. 方法一   前提:所有数据必须在同一路径下。   点击某一图层红色感叹号旁的灰色勾号。当勾号消失后,再点击这个空白的复选框,会自动打开SetData Source对话框。      图3   指定Cities图层的源数据cities.shp正确的位置,点击Add添加。这时,所有在该文件夹下的图层都被修复好了数据源,如下。      图4    2. 方法二   前提:图层名没有发生更改。   在Catalog或者Catalog Window中,右键mxd地图文档,选择SetData Source。      图5      图6   在Replace with里输入数据现在的路径,即可。      图7   修复完后,会自动新保存一份地图文档。      图8   以上教程来源 地理国情监测云平台 ,更多ArcGIS教程及空间地理信息数据请咨询本平台,电话:010-84896208转898。
1726 次阅读|0 个评论
Arcgis 输出jpg图 看不到“输出设置”的解决方法之一
yiboliu 2015-4-7 03:19
Arcgis 输出jpg图 想设置分辨率 看不到“输出设置”的解决方法之一 【进入注册表,HKEY_CURRENT_USER Software ESRIDesktop10.搜索0exportExportDlg 改ShowOptionsPanel为1。】
5975 次阅读|0 个评论
Arcgis出了问题--显示“ArcGIS Initializing Application”
热度 1 yiboliu 2014-10-15 19:22
今天打开 Arcgis 发现显示 “Initializing Application” 可就是打不开, 于是网上搜了, 发现真是症状其实是: ArcMap 程序启动时会在 C:\\Users\\MyDocuments\\ArcGIS\\ 生成 Default.gdb 、 Default1.gdb 、 Default2.gdb 、 …… 等 , ArcMap 进程不关闭,会一直停留在那里,并生成 很多很多 Default.gdb 。 一种解决方法是: 将 C:\Users\\MyDocuments\\ 下的 ArcGIS 文件夹删掉, 然后新建名为 ArcGIS” 的 txt (注意没有扩展名)。 重启启动 ArcMap 即可。 详见: http://blog.sina.com.cn/s/blog_672d81210101h1c8.html 第二种解决方法是:打补丁 从 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7f6c0cb4-7a5e-4790-a7cf-9e139e6819c0displaylang=en 下载 xml 的补丁,然后一路 next 安装即可。 详见: http://blog.sina.com.cn/s/blog_4a823f67010167dn.html 先试了第一不行,删了ArcGis 文件夹后还会重新生成, 于是用了第二种,解决。 ps: 不同的情况可能不一样,有的网友是用第一种方法解决的。
8807 次阅读|1 个评论
ArcGIS Engine 二次开发:ArcGIS version not specified.
yewenjing 2014-5-23 09:16
ArcGIS10:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS 今天将ArcGIS系列的软件从ArcGIS9.3.1升级到ArcGIS10,然后就使用VS创建一个简单的AE应用程序,然后拖放一个toolbar、LicenseControl以及MapControl控件。 接着编译应用程序,编译成功。 点击运行时,出现如下错误: ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components. 问题解决方案: 在program.cs中添加如下代码 ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode. EngineOrDesktop ); (注意,这里的代码不是 ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode. Engine );一定要有OrDesktop) 这里还需要添加一个Reference:ESRI.ArcGIS.Version(这步个人没做,不清楚什么意思) 完整的参考代码如下所示: using System; using System.Collections.Generic; using System.Windows.Forms; namespace WindowsFormsApplication1 { static class Program { /// summary /// The main entry point for the application. /// /summary static void Main() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }
个人分类: AE二次开发|5553 次阅读|0 个评论
NDVI最大值法MVC合成之ArcGIS Cell Statistics 实现
henuguyu 2014-4-28 17:26
目的:利用ArcGIS自带工具Cell Statistics实现多个栅格图层最大值法合成NDVI年或月的最大值。 工具:ArcToolboxSpatial Analyst ToolsLocalCell Statistics 问题:NDVI栅格影像值为-1~1之间的float浮点型,直接运用 Cell Statistics运算结果为0或1的Int型二值图,不是浮点型。 解决方法:运用 Cell Statistics求取最大值运算前先将浮点值NDVI值乘以10000变成Int型,再用 Cell Statistics求最大值,得到Int型最大值后再除以10000.0还原成float浮点型。 flotat-Int型及Int-float型转换可利用Raster Calculator实现。
13208 次阅读|0 个评论
在ArcGIS 10.1、10.2环境中安装配置Agent Analyst的方法
热度 2 betterkai 2014-3-11 21:02
Agent Analyst 是 一个 将Repast 集成在ArcGIS 中的免费开源插件,可用于多智能体在地理环境中的建模。Agent Analyst 的建模语言为Not Quite Python (NQPy ,该语言可将函数从NQPy 转为Java )。但是 在 Agent Analyst 发布时,ArcGIS 的最新版本为ArcGIS 10 ,因此对于ArcGIS 10.1 、ArcGIS 10.2用户 则需配置以后才能使用,为了方便大家研究多智能体模型,本文给出在ArcGIS 10.1 、ArcGIS 10.2环境 中安装配置Agent Analyst 的方法供大家参考。 (1 )首先,确保你已安装ArcGIS 10.1 或ArcGIS 10.2 ,以及Agent Analyst 。 (2 )找到Refresh.exe (路径通常位于 C:\Repast 3\Agent Analyst\Refresh ),在该文件旁新建一个txt 文本文档,改名为 Refresh.exe.config, 打开该文件,复制粘贴如下代码(10.2版本的用户将10.1改为10.2,下同)保存 : configuration runtime assemblyBinding xmlns = urn:schemas-microsoft-com:asm.v1 dependentAssembly assemblyIdentity name = ESRI.ArcGIS.ArcMapUI publicKeyToken = 8fc3cc631e44ad86 / bindingRedirect oldVersion = 10.0.0.0 newVersion = 10.1.0.0 / /dependentAssembly dependentAssembly assemblyIdentity name = ESRI.ArcGIS.Carto publicKeyToken = 8fc3cc631e44ad86 / bindingRedirect oldVersion = 10.0.0.0 newVersion = 10.1.0.0 / /dependentAssembly dependentAssembly assemblyIdentity name = ESRI.ArcGIS.Framework publicKeyToken = 8fc3cc631e44ad86 / bindingRedirect oldVersion = 10.0.0.0 newVersion = 10.1.0.0 / /dependentAssembly dependentAssembly assemblyIdentity name = ESRI.ArcGIS.System publicKeyToken = 8fc3cc631e44ad86 / bindingRedirect oldVersion = 10.0.0.0 newVersion = 10.1.0.0 / /dependentAssembly dependentAssembly assemblyIdentity name = ESRI.ArcGIS.Version publicKeyToken = 8fc3cc631e44ad86 / bindingRedirect oldVersion = 10.0.0.0 newVersion = 10.1.0.0 / /dependentAssembly /assemblyBinding /runtime /configuration (3 )找到 agent_analyst.bat 和 agent_analyst_run.bat 文件(通常位于 C:\Repast 3\Agent Analyst ) , 修改如下的代码, 保存 : rem set ARC_JAVA=C:\ProgramFiles (x86)\ArcGIS\Desktop10.1\java\jre\bin\java rem set ARC_JAVAW=C:\ProgramFiles (x86)\ArcGIS\Desktop10.1\java\jre\bin\javaw rem setARCOBJECTS_JAR=C:\Program Files (x86)\ArcGIS\Desktop10.1\java\lib\arcobjects.jar (4 )修改环境变量。在桌面计算机图表中,左击属性,选择高级系统设置- 环境变量(N)… ,根据ArcGIS 的安装路径,在用户变量中修改 ARC_JAVA , ARC_JAVAW 和 ARCOBJECTS_JAR 三个变量,点击确认 。 ARC_JAVA ( C:\Program Files(x86)\ArcGIS\Desktop10.1\java\jre\bin\java ) ARC_JAVAW ( C:\Program Files(x86)\ArcGIS\Desktop10.1\java\jre\bin\javaw ), ARCOBJECTS_JAR ( C:\Program Files(x86)\ArcGIS\Desktop10.1\java\lib\arcobjects.jar ) AGENT_ANALYST ( C:\Repast 3\Agent Analyst ) AGENT_ANALYST_VOL ( C: ) ( 5 )完成配置后重启系统,打开 ArcGIS 软件,按照教程《 Agent Analyst-Agent-BasedModeling in ArcGIS 》,开始学习使用 Agent Analyst 建立多智能体模型。 【相关资料】 . Agent Analyst: Agent-Based Modeling in ArcGIS http://resources.arcgis.com/en/help/agent-analyst/ . Agent Analyst tool interface will notopen on ArcGIS 10.1 http://gis.stackexchange.com/questions/57563/agent-analyst-tool-interface-will-not-open-on-arcgis-10-1 . ArcGIS 10.1 using Repast's AgentAnalyst Extension - refresh.exe does not work http://gis.stackexchange.com/questions/48655/arcgis-10-1-using-repasts-agent-analyst-extension-refresh-exe-does-not-work
个人分类: 软件使用|12162 次阅读|2 个评论
[转载]ArcGIS中制效果较好的DEM渲染图
baul 2014-3-4 17:23
1 、DEM计算山体阴影,注意在Hillshade对话框中,zfactor设置为5,即夸张效果。 2 、在DEM图层的Property-Symbology中选择下面所示两者中的一个,因为这两个色彩系比较适合以DEM制图效果,同时Stretch的n设置为5,也是夸张效果,注意这里有个Use hillshade effect效果不明显,可以不选择 3、将DEM图层放置到上面,将Hillshade图层放置到下面,之后在DEM图层右键Property—Display—Transparency中设置图层的透明度,一般设置为50%,这是效果就能完全的显示出来了。
个人分类: 科研|5697 次阅读|0 个评论
ArcGIS,Python,网络数据集中查询两点最短路径
Jeppeyu 2013-11-27 17:27
阅读该文章你需要理解References中的如何利用路径网络分析工具进行网络路径分析。 如果你想通过Python Scripts 跟ArcGIS进行交互,通过网络数据集,完成查询交通地图中任意两点之间的最短路径 (从点A到点B的最短距离,对应于真实交通网络最短路径) 的任务的话,那你就来对地方了。 ArcGIS是有Ersi公司开发的一款专门用于处理地理数据的集成软件。ArcGIS集成了好几个工具,经常被用到了主要有ArcMap和ArcCatalog。ArcMap主要用于可视化的路网分析,ArcCatalog (以我的理解) 主要是充当数据库的角色。 ArcMap提供了很多地理分析工具,不同的工具都需要特定的输入数据,其中我们将会用到Network Analyst工具需要输入网络数据集。网络数据集 (如右图所示)非常适合于构建运输网。它们通过源要素创建,其中可以包括简单要素(线和点)和转弯要素并存储源要素的连通性。 使用 ArcGIS 网络分析执行分析时,该分析始终在网络数据集中进行。如下图所示,NA提供了平面几何网络的路径分析工具,其实ArcGIS还提供了 表面分析的工具 ,可以点击左侧的超链接,可以在ArcGIS的帮助里面找到更加形象的理解。至于我们该如何利用NA进行地图中任意两点之间的最短路径分析流程,可以参考下面的References,我就不一步一步的介绍了。篇幅有限,我们直奔主题,如何通过Python与ArcGIS进行交互进行两点之间的最短路径进行分析。PS : 最好在Windows环境下计算两点之间的最短路径。 为了便于大家理解贴上来的代码,我简单介绍下计算两点之间的最短路径分的步骤 1. 利用你手头上的路网数据通过ArcCatalog生成一份 Network dataset, 保存在你自己设定好的工作路径下 2. 为你生成这份网络数据集新建一个网络分析工具 (Network Analyst), NA 包括了好几个组件,其中的 Stops 和 Route 对于路径分析来说是非常重要的组件。 3. Stop 译为停靠点,是网络路径分析工具的分析对象,来自于ArcCatalog中的Shapefile表。在这里就是我们要进行路径分析的GPS点。在NA中,Stop会实例化为 Point类型的对象,所以我们先要有创建一张包含有两个shape类型的Points。随机初始化两个包含有 #shape, #longitude, #latitude 属性的Points,以后每有一次计算两个GPS点,就更新一次该Shapefile。 4. Route 会保存 NA 的分析结果。需要注意的是,NA会根据你所选择的衡量指标得到不同的最优路径结果。比如,你选择距离作为寻找最优路径的指标的话,NA 会返回距离最短的路径信息,如果你选择时间作为最优路径指标的话,NA 会返回花费时间最短的路径信息。 5. 如果你得到了你需要计算最短路径的两个GPS点,首先更新3中提到的Shapefile,然后将该Shapefile作为输入,传递给 Network Analyst,调用NA对象的 solve 函数就能得到返回结果,单位为 km python code : http://vdisk.weibo.com/s/DmLYNa9y7Oj8 References: 路径网络分析流程 路径分析网络的网络分析对象 也就对应于你将要查询的两个点 Network Analyst Tool/Module RouteSolverProperties (arcpy.na) Fusion Center Blogs - Python GIS Create Shapefile with Python Based on arcpy Geospatial Python 这个需要翻墙,但是里面的脚本真的非常有用,尤其是对 Shapefile 的讲解 Edit and Create Shapefile in ArcMap Cursor : Editing shapefile in Python ArcGIS 10 Desktop Resource Center Feature Class Geodatabase VS Shape File
个人分类: 地理信息系统|15053 次阅读|0 个评论
[转载]用ArcGIS来绘制你的小星球--转
热度 2 RSMelon 2013-4-13 20:54
原文地址: http://hmfly.info/2013/01/01/%E7%94%A8arcgis%E6%9D%A5%E7%BB%98%E5%88%B6%E4%BD%A0%E7%9A%84%E5%B0%8F%E6%98%9F%E7%90%83/ 最近看地图投影,在检索 Stereographic Projection 时,无意中看到 flickr 上有很多这样的图片(在Google第一页,不让我看到都难啊): 直观的感受是将空间扭曲成了一个小星球,夸大和缩小都十分巧妙(等角的)。虽然以前也见到过,但一直觉得只是设计师的小把戏而已,与GIS没有半毛钱关系。 学过地图投影的都应当认识Stereographic Projection,翻译过来有好多种译法,比如球极投影、球面投影(直译过来是“立体投影”,这是为什么呢?),学名应该叫等角方位透视投影吧。透视投影原理很简单,推导的话初中几何的知识就够用了。 投影原点必须在球面上(在球心是日晷投影,在无穷远是正射投影),比如南极点,经纬网坐标原点,或者地球上任意一点。 Stereographic Projection绘图步骤 既然是投影,是不是可以用GIS的方法去做这种图呢?比如ArcGIS?答案显然是可以的。地球可以看成一个球体,球体上的坐标用经纬度来刻画。经度的跨度是360度,纬度的跨度是180度。显然,经度的范围是纬度的两倍。那么,我们找一张横纵比是2:1的图片,配准后是不是就能将地球包络起来了? 下面我介绍一下具体过程,以南京玄武湖为例: 选择3个角点做控制点,这样对应点是显而易见的。千万不要去地图上点,要在链接表里面输入,用完保存,这样下次还能用。 配好控制点之后要Update,重采样就算了,没必要。 这样坐标配对了,但还是没有空间参考的,所以要define一个。(注:这里选WGS84的椭球,虽然说理论上是要用正球的(sphere),但这点偏差眼睛根本看不出来。用WGS84只是为了方便在Globe中叠加,不然datum从sphere到spheroid是一次transform,这对于栅格来说,代价很大。) 叠加到Globe中查看一下,配上经纬网。看一下“南北极点”,以及“赤道”视角。注意,现在这不是一张照片了,这是一张有空间参考的栅格“地图”! 改变一下dataframe的空间参考属性,将显示投影改为Stereographic(没必要去重新project数据,因为我们只需要显示就够了。)。当然要改一下投影参数,原点设为(0,-90),也就是“南极点”。这就像你是站在南极点往北极点方向看。 这是结果: 大图点 这里 。 全景Stereographic Projection绘法 如果你理解了上面所说的,那你会发现上图还是有一些不恰当的地方,或者可以改进的地方。比如:图片不是“圆融”的,中轴线下半段是明显的“边界”。因为上面的照片不是全景照片, panorama 。全景是你站立的地方,上下左右等能看到的意思。如果是全景照片,那照片的左右是“连续”的。比如这张南京照片: 可以想象,如果将全景照片进行投影,可以得到“圆融”的效果,更像一个小星球。但是,你肯定也发现了,这种照片横纵比明显不是2:1的。这不是问题,重新计算一下配准点就行了,还是选择“南极点”为原点。我给出一个通用公式: W是宽度,H是高度。 那这幅2048×461的照片的配准点文件就是这样的: 球面上是这样: 显然只能从“南极点”覆盖到“赤道以南”附近。整个“北半球”都没有啦。 同样按上述步骤操作,可见: 大图点 这里 。 更多 再进一步,如果你有兴趣,可以利用ArcPy写一个脚本,让这个过程自动化了。或者脱离ArcGIS,完全用开源的东西也肯定是可能的。因为我发现那些设计师做这个图真的 好累 ,这难得让我在江湖中体会到GIS的一丁点优势呀:P 改变投影参数还会有很多玩法,特别是把“北极点”作为原点。以及Scale Factor也是有用的,自己挖掘啦。 另外,原始照片不能太宽,也就是尽量保持2:1吧。不然投影完后都缩成一团里,这应该挺好理解的。 关于数据,google panorama可以找到一些图片,但很多都是360度全景展示的,而且显然是瓦片式的,这样的图片你抓了也没用,街景也应该是这个意思吧,没研究过。而且panorama不是全指360度的视角,有些广角图也叫panorama。反正360度全景图片不好找!这里有个网站里面分享了不少: http://www.wpanorama.com/panoramas.php 。 在ArcGISOnline上放了一个地图包,有兴趣的同学自取: http://www.arcgis.com/home/item.html?id=e7d10b20ad5c4dbeb7aab8e785779cf1
个人分类: GIS趣|4326 次阅读|2 个评论
[转载]arcgis中如何平移叠加图层
cranelover 2013-3-17 17:32
原文:http://www.gisall.com/html/72/124272-7452.html 做规划图时,常常会碰到叠加的元素图层和底图错位的现象,比如把水系和遥感底图叠加后发现,明显河流的位置向某个方向偏了,就可以采用以下的方法来处理。 在数据生产的过程中,经常会需要平移数据。有的时候是因为数据本身发生偏移,需要校正过来。有的是做坐标转换(如果不涉及到高程Z值,很多时候不同坐标系统的平面坐标转换就是采用平移的方法来解决坐标系统转换的)。这样就涉及到如果数据量很大的时候,比如说几百万个点,我们如何去平移数据呢。下面就给大家介绍一下在ArcGIS中如何进行数据平移 方法一 ,也是最简单的方法就是在ArcMap中“开始编辑数据”,采用“编辑器”----“移动”工具来完成数据的平移。如下图: 但是这个方法有弊端就是在内存占用过大,经常会出现平移一个数据量大的图层会很长时间或者直接导致ArcMap崩溃掉。如果小数据可以这样做。 方法二 :利用“投影”工具来实现坐标平移的作用。这个主要是用于投影坐标系统的数据平移好方法。首先就是要自定义一个坐标系。比如我们的数据时xian80椭球、采用高斯克吕格投影3度分带41带。 (Xian 1980 3 Degree GK Zone 41)需要X平移1000米,Y方向平移580米。我们定义一个坐标系统,将高斯投影的参数改一改。如图: 在进行投影变化,就可以做到平移数据。实质利用的原理就是通过相同的椭球、相同的投影方法、东偏移和北偏移的参数不一样。这俩坐标系转换后做到平移数据了 这个方法要比第一个方法好使的多。就是转换完成后需要你更正相关数据的坐标系统信息。如果对坐标系统感觉很混乱就慎用,如果把数据的元数据整错了就更麻烦了。 方法三 ,更不错的方法就是在ArcGIS的数据互操作模块中提供给了一个Offsetter函数,使用起来非常方便。在ArcGIS 工具箱中新建一个Spatial ETL Tool。采用Categorized---Manipulators--Offsetter函数进行数据平移。 平移的方法还有很多。只要你慢慢挖掘,ArcGIS总能提供各种各样的方法满足你的需求。
个人分类: 3S技术|20479 次阅读|0 个评论
[转载]ArcGIS栅格裁切
geoallan 2013-3-6 06:59
ArcGIS栅格裁切 2012-09-12 16:17:22 作者: windy chou 浏览: 855 评论: 0 微博: http://weibo.com/arcgisdataprocessing 在多源数据整合和处理的过程中,往往会遇到指定范围栅格数据获取或生成的问题,比如按照指定矢量范围裁切栅格等等。 ArcGIS 中提供了多种栅格剪切的方式和处理工具。利用 ArcGIS10 的“影像分析”窗口进行栅格裁切处理,“影像分析”窗口能够通过一组常用的显示功能和过程,对 ArcMap 中影像和栅格数据进行分析和利用。 在空间分析工具箱中提供了多种对栅格数据的提取方法,包括提取值到点,根据属性提取,用圆提取,用多边形提取,用掩模提取,用点提取,用矩形提取等,其中的用掩模提取功能可以让我们通过不规则边界来获取需要的栅格数据。 利用空间分析工具中的栅格计算器工具可创建和执行复杂的“地图代数”表达式,实现多种栅格的处理运算。还可以利用数据管理工具箱下栅格工具集下的栅格数据处理工具集中的裁剪工具实现栅格数据的裁剪处理。通过影像分析窗口的“裁剪”按钮可以创建裁剪图层,可以按照数据视图范围,选定的面进行裁剪,该方式非常快速得到裁剪或掩膜后的栅格图。 采用空间分析工具箱中圆、多边形提取的方式,都需要手工输入对应圆和多边形的对应坐标范围,如下图所示。如果有对应的坐标范围,则可采用这种方式进行栅格裁切处理,同时可以选择提取区域为对应图形的内部和外部两种方式。 利用栅格数据处理工具集中的裁剪工具,可以直接根据已有矢量或栅格数据的范围进行输入栅格数据的裁剪处理。如下左图所示。需要注意的是,裁剪工具提供输出范围的矩形范围选择,以及根据输入要素的范围作为裁剪几何两种选择,即下图中的“将输入要素用于裁剪几何”选择项,如果不选择,将按照输出范围的最小外接矩形范围输出,如果勾出该项,则按照输入要素本身的几何范围输出。 如下图(右)所示,绿色系部分为未勾选结果,而蓝色系部分为按照输入要素作为裁剪几何的输出结果。 采用矩形提取工具进行栅格裁剪,也可以输入对应已有的矢量或栅格要素,但是始终会作为矩形进行裁剪,因而结果与上述裁剪工具中未勾选“将输入要素用于裁剪几何”的结果一致,即将利用输入几何的最小外接矩形进行裁剪栅格处理。 利用已有矢量或栅格范围对已有栅格数据进行裁剪的另一个有效快速的方法是利用空间分析工具箱中按掩模提取工具,如下图所示,直接输入对应的输入栅格和用来提取范围的栅格或矢量要素,即可。 另外,就是利用栅格计算器,进行栅格处理,可将对应的用来裁剪的栅格数据值处理为 1 ,直接与输入栅格进行乘法运算即可。如果输入为矢量数据,则可利用面转栅格,或者要素转栅格将其先转为栅格数据,再进行栅格计算器运算即可。 通过上述工具,不难发现,如果已有待裁剪的范围的栅格数据,直接利用影像分析窗口进行裁剪最快速,如果有对应范围的矢量数据,则利用 栅格数据处理工具集中的裁剪工具 或 按掩模提取工具都能快速得到想要范围的栅格数据,而 如果已有指定结果范围的坐标信息,则利用矩形、多边形、圆形提取工具进行裁剪也可获得相应的结果。
个人分类: 地理信息科学|6797 次阅读|0 个评论
[转载]arcgis中创建逼真的三维视图
热度 1 geoallan 2013-1-9 09:31
原文地址: arcgis中创建逼真的三维视图 作者: happiness大懒 源自arcgis10的在线帮助: 您是一位城市规划者,并且对构建邻近地区的逼真 3D 模型很感兴趣。规划和交通部门的员工已为这一区域的建筑物轮廓线、街灯、树木和样品车创建了 GIS 数据集。您还拥有这一区域的影像,且一名建筑师已提供了一组照片般逼真的建筑模型。 您要将 GIS 数据与 ArcGlobe 中的影像和建筑模型结合起来,制成一个逼真的城市模型。此模型有助于决策者查看拟建的建筑物及其相关视图。也可使用这些模型来研究空间感,或用来模拟城市要素、景观、地标或针对学生或游客的旅游景点。 这是一个高级练习,演示了如何使用 3D 符号系统和 3D 图形工具创建伦敦某个研究区域的逼真视图。 打开伦敦 Globe 文档 步骤: 单击 开始 所有程序 ArcGIS ArcGlobe 10 启动 ArcGlobe。 在“ArcGlobe - 启动”对话框中,单击 浏览 ,将地球的默认地理数据库路径设置为:D:3DAnalyst3D_Default.gdb此位置用于存放在教程练习中生成的输出空间数据。 接下来,在“ArcGlobe - 启动”对话框中,单击 现有 Scene 浏览更多 。 将出现 打开 对话框。 导航至 Exercise9 文件夹。 双击 London_Start ArcGlobe 文档。 ArcGlobe 文档包含高分辨率影像(由 DigitalGlobe QuickBird 公司提供)、一个使用树符号符号化的 3D 要素数据集以及一个表示研究区域建筑物的带纹理的 3D 多面体 (multipatch) 数据集。 单击 文件 ,然后单击 另存为 。 输入 globe 文档的名称 London。 单击 保存 。 设置图层的可见距离范围您可通过为每个图层设置适当的可见距离来优化 ArcGlobe 文档的性能。可通过指定可见距离范围来控制执行缩放操作时图层何时可见。您既可以为整个图层设置最小和最大距离,也可以根据各切片的距离来确定图层的可见性。“建筑物”图层旁边处于选中状态的复选框在内容列表中不可用。这意味着,显示当前超过了图层的最大可见距离。稍后您将在本练习中更改其他两个图层的最大可见距离。 步骤: 在内容列表中,右键单击 Holborn.jp2 图层,然后单击 属性 。 单击 Globe 常规 选项卡。 单击 缩放超过下列限制时不显示图层 选项。 在 缩小超过 文本框中输入 5。此距离的单位为千米。 根据各切片距离检查可见性 以启用图层离散部分的距离可见性。此设置可进一步提高性能,尽管默认情况不启用该设置。启用该设置后,在图层的距离阈值附近进行浏览时数据的离散切片可见。 单击 确定 。在最小和最大距离之间,图层将可见。 单击 书签 ,然后单击“城市视图”。 此时,显示会重新定位至“城市视图”书签。此时,所有数据集均可见,因为对于以此比例显示的所有图层,您处于其可见性距离范围内。 图层的可见性范围也可根据当前显示距离进行设置。在内容列表中右键单击图层,指向 可见距离范围 ,然后使用 设置最大距离 和 设置最小距离 命令捕获显示距离。 有关分配内存缓存的提示通常,执行质量不佳的 ArcGlobe 文档可通过明确定义的内存缓存设成交互形式。这是一个指定大小的物理内存 (RAM),专供 ArcGlobe 用来提高性能。要获取最佳性能,内存缓存可根据所使用的各数据类型进行微调。由于本练习使用了许多带纹理的 3D 对象和栅格影像,因此,接下来您要分配更大比例的内存缓存,以提高处理这些数据类型的性能。 步骤: 单击 自定义 菜单,然后单击 ArcGlobe 选项 。 单击 显示缓存 选项卡。 单击 高级 按钮。 快速浏览内存分配值(以 MB 为单位)和类型。每种数据类型的当前内存使用情况为绝对值和其分配大小的百分比形式加以表示,其详细信息在每项右侧的文本框中列出,并以水平图表的形式加以显示。 总内存缓存大小为各数据类型设定值之和。此总大小不能超过您计算机上所安装的物理内存 (RAM) 大小。 必要时,单击 平衡当前内存使用 按钮,避免内存缓存的大小超过您的可用物理内存 (RAM)。 平衡当前内存使用 按钮会基于文档的当前内存使用情况自动平衡每种数据类型所使用的内存分配。 如果您为某个特定数据类型分配的物理内存 (RAM) 量很少,然后创建一个大量使用此数据类型的文档,其会在物理内存即将耗尽时开始将数据传输至磁盘,从而会造成性能下降。 完全创作了 3D 视图并在其内部执行了一段时间的交互操作后,您要使用此工具来确保最佳应用的内存分配表示此文档中所拥有的数据种类。 单击 确定 关闭 内存缓存高级设置 对话框。 单击 确定 关闭 选项 对话框。 添加要素数据要在模型上创建 3D 对象,您要向伦敦区域中添加一些本地数据。 步骤: 单击 添加数据 按钮。 导航至 Exercise9 教程数据文件夹所在的位置。 打开“地理数据库”文件夹,然后双击 Lincolns.gdb 地理数据库文件。 按住 CTRL 键,单击 Building_Footprints、Street_Lights 和“车辆”要素类。按住 CTRL 键可以选择多项内容。 单击 添加 。每个以 Building_Footprints 开头的要素图层都会连续出现三个 添加数据向导 。 单击 缩放超过下列限制时不显示图层 应用距离可见性范围。 在 缩小超过 文本框中输入 3,保持 放大超过 文本框的默认设定值 0 不变。 单击 完成 。 当 Street_Lights 图层的 添加数据向导 出现时,单击 将要素显示为 3D 矢量 。 单击 下一步 。 单击 缩放超过下列限制时不显示图层 应用距离可见性范围。然后,在距离范围文本框中输入 1 和 0。 单击 下一步 。 选择以真实单位显示此图层时所用的典型比例。 单击 完成 。 对于“车辆”图层,重复步骤 9 到 14。如果出现提示,请关闭 地理坐标系警告 消息框。数据将被投影到 ArcGlobe 程序当前设置的“地理坐标系”。 单击 书签 ,然后单击“鸟瞰图”。此时,您可以看到添加至研究区域的所有图层。内容列表指示这些要素图层已被添加为 3D 视图中的叠加图层。 拉伸建筑物通过拉伸过程,可将二维数据源中的要素投影为三维制图表达。例如,2D 建筑物轮廓线可以拉伸成该建筑物的 3D 块制图表达。在本练习中,您将根据高度值(由楼层数和每层的平均高度加以确定)拉伸建筑物面,以创建逼真的 3D 建筑物形状。 步骤: 在内容列表中,右键单击 Building_Footprints 图层,然后单击 属性 。 单击 Globe 拉伸 选项卡。 选中 拉伸图层中的要素 。 单击 计算拉伸表达式 按钮打开 表达式构建器 对话框。 单击属性 NUM_FLOORS,将其添加到 表达式 文本框中。 假设每个楼层高 4 米,那么,将每个建筑物的楼层数乘以 4,即可得出每个建筑物的高度。将表达式设置为 * 4 以反映以下图表。 单击 确定 。 单击 确定 关闭 图层属性 对话框。此时,2D 建筑物轮廓线要素即被拉伸成了 3D 块。 如果要改进性能,您也可以选择不绘制拉伸面的底面。 浏览显示以查看结果。 符号化要素 步骤: 在内容列表中,右键单击 Street_Lights 图层,然后单击 属性 。您也可以双击图层打开 图层属性 对话框。 单击 符号系统 选项卡。 单击 类别 。ArcGlobe 会自动选择 唯一值 选项。 单击 值字段 下拉箭头并单击 MODEL。 单击 添加所有值 。这会将所有唯一值添加到列表中。您可能也单击了 添加值 按钮,以选择要显示的特定“模型”值。 双击 stlght13 的符号。 在 符号选择器 对话框中,单击 样式引用 。 在 样式引用 对话框中,选中 3D 建筑物、3D 街道设施和 3D 车辆,然后单击 确定 。“样式”是存储在库中的一组符号、颜色、地图元素和其他图形元素,可在 ArcGIS 中使用它们。 在 符号选择器 对话框中,单击 搜索 组合框并输入 street light,然后按 Enter 。 单击“Street Light 13”符号。 在 大小 文本框中输入 8。 单击 确定 。 双击 stlght7 的符号。 重复步骤 9 到 12(不过,应在“大小”文本框中输入 5),并分配街灯 7 或您更喜欢使用的其他街灯符号。 在 图层属性 对话框中,单击 高级 按钮,然后单击 旋转 。 单击 按此字段中的角度旋转点 下拉列表,然后单击 角度 。 单击 确定 。 单击 图层属性 对话框中的 确定 。 在内容列表中,双击“树”图层。确保选择 符号系统 选项卡。 在 图层属性 对话框中,单击 高级 按钮,然后单击 旋转 。 单击 按此字段中的角度旋转点 下拉列表,然后单击 随机 。 单击 确定 。 在 图层属性 对话框中,单击 高级 按钮,然后单击 大小 。 单击 按此字段中的值调整点的大小 下拉列表,然后单击随机。 在 最小值 框中输入 6,在 最大值 框中输入 15。 单击 确定 。 完成后,单击 图层属性 对话框中的 确定 。生成的旋转和大小的随机值将介于为树指定的最大随机值与最小随机值之间。 匹配样式中的符号样式中的符号具有名称。如果您的要素值与这些名称匹配,您可以自动将特定符号与每个匹配的要素相关联。如果您的要素使用了不同的名称,您可以编辑样式中的名称以便匹配。 步骤: 在内容列表中,右键单击“车辆”图层,然后单击 打开属性表 。在 表 窗口中,请注意“模型”列。所列出的每个车辆类型对应于具有相同名称的符号。 关闭 表 窗口。 双击“车辆”图层打开 图层属性 对话框。 单击 符号系统 选项卡。 在 类别 下,单击 与样式中的符号匹配 . 单击 值字段 下拉箭头并选择 MODEL。 单击 与样式中的符号匹配 下拉列表,然后选择 3D Vehicles.style。 您也可以单击 浏览 导航至 C:Program FilesArcGISDesktop10.0Styles 文件夹中的 3D Vehicles.style 文件,然后单击 打开 。此时,“与样式中的符号匹配”会用此样式文件进行填充。 单击 匹配符号 。这会添加样式中具有匹配符号的所有唯一值。 此外,单击 添加值 ,您可以手动指定要显示的唯一值。如果您希望有更多的描述性标注出现在图例和内容列表中,也可以手动编辑标注。这不会更改属性表中的名称。 单击 高级 按钮,然后单击 旋转 。 单击 按此字段中的角度旋转点 下拉列表,然后单击“角度”。 单击 确定 。 再次单击 确定 关闭 图层属性 对话框。浏览附近地区以查看结果。 使用图形工具有时,您需要显示未在您的 GIS 要素中表示的内容。您可以将图形添加到 ArcGlobe 中,并通过用于要素的逼真符号显示它们。您可以数字化 3D 图形,以表示感兴趣点、描绘边界或道路的线、填充开放区域的面或用来命名或描述地点的文本。为此,您需要添加 Globe 3D 图形工具条。 步骤: 单击 自定义 ,指向 工具条 ,然后选择 Globe 3D 图形 。 将显示 Globe 3D 图形 工具条。 如果要将此工具条与其他工具条停靠在一起,只需将其拖动至所需位置即可。 您也可以通过右键单击工具条或工具条所在的灰色区域来添加/移除工具条。这样会打开工具条列表。显示的工具条将处于选中状态。 创建图形图层您可以通过将图形存储在某个已命名的图形图层中来控制图形的可见性。图形图层会在 ArcGlobe 内容列表中列出,同其他图层一样,您可以在内容列表中打开和关闭图形图层。 步骤: 单击 书签 ,然后单击“市政厅”。 在 Globe 3D 图形 工具条中,单击 图形 ,然后单击 新建图形图层 。 “新建图形图层”即被添加到“叠加”图层下的内容列表中。 双击“新建图形图层”打开 图层属性 对话框。 在 图层名称 文本框中输入 My Buildings。 选中 缩放超过下列限制时不显示图层 。 在 缩小超过 文本框中输入 3。 单击 确定 。 设置目标图层并数字化 3D 点图形 步骤: 在 3D 图形 工具条中,单击 图形 菜单,指向 活动图形图层目标 ,然后确保选中 My Buildings 图层。 所有新图形将会被添加到此图层中。 单击 图形 下拉菜单,然后单击 默认元素属性 。 单击 标记 按钮。 将打开 默认标记元素属性 对话框。 单击 效果 选项卡。 取消选中 固定屏幕大小 。 在您执行缩放操作时,“固定屏幕大小”选项将不会缩放矢量点图形元素。此处此选项未被选中,因此,执行缩放操作时,相对于地球而言,点图形元素的大小将保持不变。 单击 确定 。 单击 确定 关闭 默认元素属性 对话框。 在 Globe 3D 图形 工具条中,单击 新建标记 工具。 3D 点图形可使用 3D 标记符号进行符号化。您可以从现有样式中选择这些符号。采用此方法将真实对象添加至 3D 模型非常简便,无需编辑 GIS 要素。此时,您要为伦敦的市政厅添加 3D 符号。 添加以下图形中高亮显示的点。 此时会在进行数字化处理的位置绘制一个点图形。 单击 选择图形 工具。 右键单击点,然后单击 属性 。 在 符号 选项卡中,单击 更改符号 。 在 符号选择器 对话框中,单击 搜索 组合框,然后输入 city hall,按 Enter 。 单击“City Hall 1”符号,然后在 角度 框中输入 25。 单击 编辑符号 。 在 符号属性编辑器 中,确保选中 3D 标记 选项卡。 取消选中 保持横纵比 ,使 3D 符号的尺寸可以随意调整。 在 尺寸 下的 深度 (Y) 文本框中输入 70。 在 3D 预览 窗口中调整 cityHall1 符号的尺寸。 单击 3D 放置 选项卡。 为 X 偏移输入 3,为 Y 偏移输入 -5。 在 x,y 平面中,3D 符号将根据 x 和 y 的设定值进行偏移。 单击 确定 。 单击 确定 关闭 符号选择器 对话框。 单击 确定 关闭 属性 对话框。 取消选择市政厅符号,然后浏览显示以查看结果。要取消选择图形,请使用 选择图形 工具,然后单击符号附近的位置。或者,单击 清除所选要素 按钮。 数字化文本图形将市政厅符号添加到场景中后,您可能会发现,在同一视图中添加文本注记非常有用。文本图形元素可用来在场景中数字化 2D 或 3D 文本。 步骤: 单击 书签 ,然后单击“市政厅”。放大至“市政厅”的屋顶。 在 3D 图形 工具条中,单击 图形 菜单,然后单击 默认元素属性 。 单击 文本 按钮。将打开 默认文本元素属性 对话框。 单击 文本 选项卡。 单击 更改符号 按钮打开 符号选择器 对话框。 单击 颜色 下拉箭头,然后从样式调色板中选择“金黄”色。 鼠标悬停提示中会显示样式调色板中该颜色的名称。 单击 确定 关闭 符号选择器 对话框。 单击 默认文本元素属性 对话框中的 效果 选项卡。 取消选中 固定到表面 。 如果您要将文本图形固定到基础地球表面,“固定到表面”选项很有用。在本例中,我们要数字化“市政厅”屋顶上的文本。 单击 确定 关闭 默认文本元素属性 对话框。 单击 确定 关闭 默认元素属性 对话框。 在 3D 图形 工具条中,单击 新建文本 工具。 单击市政厅图形的屋顶。 在文本框中输入 City Hall,然后按 ENTER 。 取消选择文本元素,然后浏览显示。文本随即出现在您单击的位置。 添加和修改 3D 图形图层 步骤: 单击 添加数据 按钮。 浏览至 Exercise9GeoDatabase 文件夹。 双击“街道对象”图层,将其添加到 ArcGlobe 中。 单击 书签 ,然后单击 街道视图 。 在 Globe 3D 图形 工具条中,单击 图形 菜单,指向 活动图形图层目标 ,然后单击 街道对象 图层。 单击 图形 菜单,然后单击 默认元素属性 。 单击 标记 按钮。 在 符号 选项卡中,单击 更改符号 。 在 符号选择器 对话框中,单击 搜索 组合框并输入 traffic cone,再按 ENTER。 单击 Traffic Cone 1 符号。 单击 确定 。 单击 确定 关闭 默认标记元素属性 对话框。 单击 确定 关闭 默认元素属性 对话框。 在 3D 图形 工具条中,单击 新建标记 。 单击三下,将三个标记添加到前三辆汽车的前面,如下图所示。 在内容列表中右键单击“街道对象”图层,然后单击 另存为图层文件 。 导航至 Exercise9GeoDatabase,选择“街道对象”图层文件,然后单击 保存 。 如果系统提示是否覆盖现有文件,请单击 是 。您创建的新标记将保存到“街道对象”图层中。 最终视图您已经成功创建了伦敦市内一个小区域的逼真 3D 视图。您可以使用其中一种可用的导航工具(例如,导航、平移和缩放)浏览场景。您也可以使用飞行工具在您的城市模型上飞行。 平衡最终视图的内存缓存 步骤: 单击 自定义 菜单,然后单击 ArcGlobe 选项 。 单击 显示缓存 选项卡。 单击 高级 按钮。快速浏览每种类型的内存值(以 MB 为单位)。您会看到,“3D 对象”(纹理)的内存缓存大小已超出其限制。 单击 平衡当前内存使用 按钮。 分配给 ArcGlobe 的内存总量将进行重新分配(按照每种存储器类型的当前使用百分比),从而快速地优化当前文档的存储器设置。 对于各种类型的存储器,至少保证为其分配 10 MB 的内存量。保存 ArcGlobe 文档可确保在以后每次打开此文档的时候都能够执行这些优化的存储器设置。 在本练习中,您学习了如何将 2D 要素数据集转换成逼真的 3D 数据模型。本练习还重点介绍了如何访问样式的符号库,以便与图层属性匹配。您可以使用多个符号属性选项来快速个性化您的场景。最后,3D 图形工具条是创建和编辑新的 3D 图形图层和要素所需的工具集。您已学会了如何使用 ArcGlobe 中的 3D 图形工具和符号系统选项来获得更具真实感的 3D 场景。
个人分类: 勉为学术|4877 次阅读|2 个评论
ArcGIS学习笔记03:全国地级行政区年降水量、年均气温求算
热度 1 aweng 2012-12-25 21:55
1 准备 1.1 数据源   已插值好的全国年降水量、年均气温数据,ArcGIS的ASCII格式txt文件,每年一个文件。降水数据有45年,气温数据有48年。数据为0.5经纬度分辨率。   1993年全国县级行政区划图,ArcGIS面要素shp文件。 1.2 目的   得到逐年的全国地级行政区年降水量、年均气温序列值。 1.33 软件   ArcGIS 10.0简体中文版 2 步骤 4.1 数据预处理 4.1.1 行政区预处理   从 http://www.gov.cn/test/2011-08/22/content_1930111.htm 获得2010年全国县级以上行政单位行政编码,用以把1993年全国县级行政区划图整理成2010年地级行政区划图,确保所有的行政编码和对应的行政区名正确。   可以先使用县级行政区划图,把其中的行政编码替换为2010年的行政编码,核对正确。而后根据地级行政区的行政编码规律,使用ArcGIS的合并功能将县级行政区合并为地级行政区。   从水资源公报中获取被水资源公报所承认的地级行政区,与上面对比,整理成符合水资源公报的2010年地级行政区划图,共得到359个地级行政区及县级行政区(有的县级行政区是地级编制,有的是省直管,在水资源公报中认为与地级行政区平级)。   核对shp文件的属性,确保最重要的行政编码无误。 4.1.2 气温、降水文件预处理   打开ArcGIS或ArcCatalog的ArcToolBox,找到转换工具→转为栅格→ASCII转栅格,右键→批处理。   在“输入ASCII栅格文件”中选择txt格式的温度或降水文件,在“输出栅格”中输入对应的输出栅格文件名。可以新建一个地理空间数据库,把所有的文件存在其中。   使用Excel辅助生成批处理表。   点“确定”。   这样就能把txt文件转换成栅格了。但是这些栅格文件都没有投影,需要再定义投影。   打开ArcGIS或ArcCatalog的ArcToolBox,找到数据管理工具→投影和变换→定义投影,右键→批处理。   把刚才生成的栅格文件的绝对路径填写进“输入数据集或要素类”,在“坐标系”中选择需要的投影坐标,最好与行政区图的shp文件的坐标一致,可以导入其坐标。   使用Excel辅助生成批处理表。   点“确定”。   根据数据源,生成的栅格数据的分辨率为0.5经纬度,对一些较小的地级、县级行政区来说还是比较大,可能造成数据空缺,需要把增加栅格分辨率。这有两种方法。一种是数据导出,一种是栅格重采样。数据导出即将要导出的数据由ArcGIS打开,然后右键→导出,格式为grid,分辨率选需要的,例如0.1经纬度,输入要生成的栅格文件名即可。这种方法没有批处理功能,适用于数据量较小的情况下。鉴于数据量较大,使用栅格重采样的方法。   打开ArcGIS或ArcCatalog的ArcToolBox,找到数据管理工具→栅格→栅格数据处理→重采样→右键,重采样。   在“输入栅格”中选择以上生成的0.5经纬度分辨率的温度、降水栅格数据,在“输出栅格数据集”中写入要生成的0.1经纬度分辨率的温度、降水栅格数据文件名,在“输出像元大小”中写上0.1,“重采样技术”使用默认的nearest。   使用Excel辅助生成批处理表。   点“确定”。 4.2 区域分析   打开ArcGIS或ArcCatalog的ArcToolBox,找到Spatial Analyst工具。如果无法运行,找菜单栏中的“自定义”菜单,点“扩展模块”,将其选中即可。   在Spatial Analyst工具→区域分析→以表格显示分区统计,右键,批处理。   在“输入栅格数据或要素区域数据”中选择做好的地级行政区shp文件;“区域字段”选择唯一值,建议使用地级或县级行政区的行政编码;“输入赋值栅格”选择预处理好的0.1经纬度分辨率的栅格数据;“输出表”写上输出的表所在的文件地址;“在计算中忽略NoData”使用默认值true;“统计类型”可以选需要的,也可以全部要,即“all”。   使用Excel辅助生成批处理表。   点“确定”。 4.3 转换为数据表   打开ArcGIS或ArcCatalog的ArcToolBox,找到转换工具→转为dBASE→表转dBASE(批量)。   把4.2中生成的所有表都加入“输入表”框中,选择输出文件夹,点“确定”。 4.4 整理数据   把4.3生成的dbf文件逐个用excel打开,将数据使用excel或access整理即可。
个人分类: 学习|21819 次阅读|3 个评论
ArcGIS学习笔记(02):按字段属性批量生成shp文件
aweng 2012-12-25 17:21
最近遇到一个问题,需要从一幅省级行政区的中国地图中提取出所有省级行政区的单独shp文件。 解决这个问题的方法,可以是选中某一个省级行政区,然后右键→导出,把这个省级行政区导出为独立的shp文件。但是这样没有批处理功能,只能一个个操作。中国有34个省级行政区,需要这样操作34次。如果换成地级、县级行政区,则工作量太大了。 解决这个问题实际上是通过字段属性批量生成shp文件的操作。可以使用如下操作实现。 (1)打开ArcToolBox,选择分析工具→提取→分割 (2)在“输入要素”和“分割要素”中都选择这幅有省级行政区边界、每个省级行政区边界都是面要素的中国地图,相当于用自己切割自己。   在“分割字段”中选择具有唯一标识的字段,例如省级行政区名、行政区代码名等,要求这个字段的属性为字符串,它将作为生成的shp文件的文件名。如果可以的话,可以设置专门的用于文件名的字段。   在“目标工作空间”中选择这些shp文件将要保存的文件夹。 (3)点“确定”。
个人分类: 学习|19431 次阅读|0 个评论
ArcGIS学习笔记01:属性表操作
热度 1 aweng 2012-12-25 16:57
添加字段:表选项→添加字段,设置字段各参数。 计算字段:选中要改的字段,右键→字段计算器。 修改数据:选中要修改的shp文件图层,右键→编辑→开始编辑。停止编辑时会自动保存。
个人分类: 学习|6468 次阅读|1 个评论
ArcGIS创建新的Data frame和Features
majiaping 2012-6-7 21:27
ArcGIS创建新的Data frame和Features
加载已有的数据,见图:总共有 3 个数据组,加黑显示的 Data Frame 处于 activate 状态。 主菜单 inser t → data frame, 见图: New Data Frame 3 . 注:我用的arcgis 10
个人分类: 自学成才|12824 次阅读|0 个评论
[转载]【转】Arcgis desktop command line
shanggv 2012-4-1 14:16
Arcgis desktop command line: It will be easier to process Geodata with command line in desktop than batch command in arctoolbox. Show this is a brief summary about command line from the desktop help. Where is command line: It is just in on the main tools bar of arcmap, arccatalogue and arcscene (main components of desktop) Composition of command line interface: The above textbox is area to input command, and the one below is place to show the result. Where to get the command: You can firstly know the command you need, and have a look at the command directive in the help of arctoolbox. Eg , you want to clip several input polygon shp with a study area shp, so ,you know the command is clip maybe, then find the clip from analysis of arctoolbox, and go to the help, where you can find the format of command, clip_analysis, the real name of shp clip. How to set up the workspace: Input in the command workspace followed the pathway of your workspace is used to set up the workspace, eg: Workspace c:\test How to get the hint of the command 1 usage command You can input ‘ usage clip_analysis’ and press enter to get the composition of a clip command, the syntax of clip_snalysis will appear in the result textbox below command line textbox. 2 when you input clip_analysis, and press space immediately, there will be a hint appear above the command line textbox, which shows the parameters you need to input. How to input a command with several lines Normally, a command has 1 line, and pressing enter makes it executed. If you want to input several command and need then to be executed together, you can use the ctrl+enter in place of enter after finishing each command line. So the command you have just finished will be hanged and you could continue to input another command line, finishing all those command lines you need , a press of enter will execute all of them together. Command line parameters, necessary or optional In the command syntax, shows the necessary parameters, and {}shows the inside is not necessary but optional, while no input for optional parameter, the default values will be used, otherwise, a # or “”(two double quotes) will be of the same function. The pathway of parameter If you need to use pathway or files where there is a space, you have to put the full pathname a pair of quotes. Eg GetCount ‘e:\a b .gdb\a.shp’ Using wildcards The symbol of * is used as a wildcard in the command line, for example *means use every feature class R* use feature class begin with R *.shp use all the shp files *,feature class ,e.g. ‘*,line’ use any line feature . Feature class types frequently used in command line are point, label, node, line,arc, route, polygon, region. E.g. Clip_analysis *,line studyarea %inout%_clipped If the input files are road.shp, river.shp, plines.shp, so the output file will be road_clipped, river_clipped and plines_clipped. Another way to denote the output file is that adding the sequent number , thus the above command line could be change like that : Clip_analysis *,line studyarea %inout%_i% , i% represent the sequent number. Thus the output will be road_0, river_1, plines_2 Command line management: Right click in the command textbox, there will be several choice appear, load enables you to load command file you have well edited, and just press enter to execute all the commands. Also you can use copy, paste and save to realize the same function. If you have executed a command for a long time, it will disappear, if you want to use the same command and parameters again, you can use the ‘recall’ function in the result textbox, you can scroll the mouse to the command executed before in the result textbox and just right click on the command, choose recall, the command line will appear in the command line box ,what you need to do is pressing enter. Using variables When you are inputting parameter in a command line, you can right click the mouse and choose “insert variable” , you will be leaded to the interactive interface where you can choose the variable you need, or you can choose ”variable” , where you can customize and manage your own variables, which could be used for later and free you from tedious jobs.
个人分类: 它山之石|2571 次阅读|0 个评论
如何解决ArcGIS图例中的上下标问题
aleczh 2011-11-11 16:09
如何解决ArcGIS图例中的上下标问题
在使用ArcGIS软件出图时,经常遇到图例中计量单位上下标的问题,然而ArcMap中没有像Word方便的进行上下标设定,使用一个小小的函数便可轻松搞定,如下 上标:supa/sup 下标:suba/sub 在ArcMap中首先进行如下设定: 然后插入Legen,就会显示出上标了,
个人分类: 技术技巧|22288 次阅读|0 个评论
arcgis classified “Too many unique values”小数点位数太多
热度 1 yiboliu 2011-10-27 15:22
ENVI计算得到了相关系数,从0.000几道-0.000几 想用arcgis 出图arcgis classified中提示“Too many unique values”超过65536? 就是数字太多而不行,不能分类。 百度了可以通过“int( *10+0.5)*0.1”(Cited from:http://bbs.esrichina-bj.cn/ESRI/thread-53826-1-1.html) 这个方法重新算值,再分类。 ps: 妙处在int() 式中的10和0.1可改为100和0.01或者1000和0.001,视数据情况而定。
9678 次阅读|1 个评论
[转载]《精通ArcGIS地理信息系统》视频教程
geoallan 2011-10-14 19:52
《精通ArcGIS地理信息系统》本书从gis软件应用与开发的角度,全面、系统、由浅入深地介绍了arcgis软件的结构功能、软件操作、数据处理及应用与开发。书中提供了大量实例,供读者理解软件的功能与操作。 本书共分4篇。第1篇首先介绍了arcgis地理信息系统的基本原理、结构体系及arcgis 9的特点和功能,然后重点介绍了arcgis的数据创建与管理及arcgis常用的shapefile、coverage、geodatabase 这3种矢量数据的创建与维护;第2篇着重介绍了空间可视化工具arcmap软件平台,并对空间数据的存储、转换、发布与管理做了详细的介绍;第3篇主要介绍了arcgis 9的空间分析工具及其使用方法与步骤;第4篇结合实例介绍了arcgis 9的一些典型应用。 由于视频教程的电子版过大上传不上去,现在发布一个网址,大家可以自己去看看学习一下,视频教程网址为 http://bbs.hxland.com/thread-7459457-1-1.html 大家有空可以去看看很实用哦!
个人分类: 地理信息科学|6929 次阅读|0 个评论
[转载]ArcGIS实现与AutoCAD轻松互操作
geoallan 2011-10-14 19:50
过去,在AutoCAD中无法轻松获取地理信息,因为获取数据会打乱CAD的工作流程。最近,ESRI推出了一款免费程序,可以使CAD在保持原有工作流程的同时,更好地分享和使用AutoCAD文件中的地理信息内容。用户可以在AutoCAD的环境中直接调用ArcGIS Server发布的企业级数据和影像;还可以在ArcGIS中使用AutoCAD生产的数据。   通过该应用程序,用户可以通过网络浏览和查询企业级GIS信息。这些ArcGIS Server发布的海量信息可来自于政府或企业站点。这为CAD设计师和工程师们提供了设计所需的环境、基础设施等重要信息。此外,该程序无需转换底层的GIS数据,就可以在AutoCAD中直接访问ArcGIS Server所发布的地图,并可以把地图服务的内容自动导入到AutoCAD中。它还能够支持ArcGIS Server的缓存地图服务和有安全机制的地图服务;以及通过ArcGIS Online获取额外的免费地图。 ArcGIS实现与AutoCAD轻松互操作   另外,ESRI还开发了一个新的数据编码方法。这个数据编码方法在遵循现有CAD标准的同时,可以让用户像GIS一样对CAD数据的组织和归属进行创建、操作和定义。同时它还提供了许多工具,使用户可以按照标准的AutoCAD文件格式去创建和编辑GIS要素类,并为任意AutoCAD实体添加属性,还可以用专门的应用程序接口来搭建基于CAD的GIS应用程序。用这种数据编码方法优化过的AutoCAD文件能够直接用于ArcGIS以及AutoCAD的应用程序中。   该应用程序与AutoCAD 2007/2008/2009、ArcGIS Server 9.2及其以上版本都兼容。想下载这个免费应用程序或了解更多信息请参阅www.esri.com/autocadapp。观看演示视频:http://vid01.esri.com/winmmedia/autocad_09.wmv
个人分类: 地理信息科学|4004 次阅读|0 个评论
2011中国用户大会遥感专题共享之“IDL新特性与遥感GIS系统一体化
热度 1 dongyanqing 2011-10-11 11:40
ppt 下载地址: http://www.rayfile.com/files/1a785375-f3a5-11e0-a87c-0015c55db73d/ 示例程序下载: http://www.rayfile.com/files/986f24dc-f3ad-11e0-b216-0015c55db73d/ 内容简介:交互式数据语言 IDL 有哪些新的特点值得我们期待? GRIB 读取?快速高效的可视化方式?随着空间信息市场的快速发展,遥感与 GIS 的一体化集成也逐渐成为一种趋势和发展潮流。遥感与 GIS 一体化开发的关键技术有哪些,如何来实现?本讲座将通过介绍加案例的方式向大家详细介绍这些内容。 1、 IDL 新特性 IDL 现在已经是 8.1 版本,提供了直观的帮助、 Grib1 和 Grib2 文件的直接读取、 KML/KMZ 的输出、视频的创建等功能。功能更加强大,使用更加方便。 相关链接: IDL8.1 新功能介绍 http://blog.sina.com.cn/s/blog_764b1e9d0100qw6p.html 2、 遥感与 GIS 一体化 蓬勃发展的遥感行业为 GIS 的应用提供了越来越多的数据与信息支持, Esri 与 ITT VIS 自 2007 年 6 月 14 日全球战略商务合作计划,共同提供遥感 GIS 一体化方案。 相关链接: 遥感与 GIS 一体化集成技术概述 http://blog.sina.com.cn/s/blog_764b1e9d0100ptey.html 3、 一体化开发 ArcGIS10 和 ENVI4.8 ,无论在桌面 GIS 、组件 GIS 还是 Server GIS , ENVI 都可以方便快速的与其进行一体化的开发。 相关链接: ArcGIS 中自定义 ENVI/IDL 图像处理工具 http://blog.sina.com.cn/s/blog_764b1e9d0100pqii.html ENVI/IDL 与 ArcGISEngine 一体化开发的实现 http://blog.sina.com.cn/s/blog_764b1e9d0100s4a8.html 基于 B/S 的影像在线处理与分析系统的实现 http://blog.sina.com.cn/s/blog_764b1e9d0100r1ej.html 4、 结语 ENVI/IDL 与 ArcGIS 的快速方便的集成开发为空间信息业务化平台提供了完整的解决方案。
个人分类: 其他技术|3394 次阅读|1 个评论
【GIS知识系列】(2):AO与AE简介及其区别与联系
blsm 2011-10-3 11:52
一、AO与AE简介 AO全称为ArcObjects ,是一组组件对象库,号称是“世界上继微软之后第二庞大的类库!”我们所熟悉的ArcGIS桌面产品,ArcGIS Desktop(ArcMap,ArcCatalog……)都是AO的产品,也就是说都是用AO开发出来的。 AE全称为ArcEngine ,是用于嵌入式开发的组件类库,或叫开发包,可以供使用者在现有的MS系统中嵌入地图服务等功能。AE从类库或是从体系架构上来说,是AO的子集,其功能没有AO那么强大,但凡是在ArcGIS Desktop中能实现的功能,用AE开发基本都能实现。 AO是基于COM技术的,因此,凡是支持COM技术的IDE环境或语言都可以应用AO或是AE进行开发,如用VB VC .Net。 AO和AE开发很相像,因为AE是AO的子集的缘故,但由于AE的定位是开发包,因此比AO少了很多UI的东西,就是少了许多图形界面的工具及对话框,不过功能不差,开发人员需根据自己需要利用AE进行“组装”。这是在开发方法和功能方面,在最终程序的部署过程中由于所需要的运行环境不同,因此需要在运行你程序的机器上安装ArcGIS Desktop(提供AO环境)或是ArcEngine RunTime,由于这两者的价格相差甚远,因此大家都会选用AE做开发,说白了AE开发出来的程序可以脱离ArcGIS平台环境。 二、AO与AE区别与联系 提到AO一般指ArcGIS Desktop版本的组件开发集,但由于需要安装ArcGIS桌面版软件后才能安装这些组件开发集,它是所有版本中组件最全的版本,所以如果想对ArcGIS产品及其开发有个详尽的了解,学习AO是最恰当的。 AO版本包括了所有的类库,其中包括ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库,这些组件库必须在安装了桌面版软件后才能使用。 由于使用AO开发的程序必须安装桌面版软件,这使得它的开发成本大大增加。 出于产品策略上的考虑,ESRI将AO中的某些组件集单独封装出来,起名为AE,使用AE开发的软件需要在一个RUNTIME下运行,而不需要安装ArcGIS软件。 因此,将AO和AE二者区别与联系总结如下: 联系 : 1、ArcEngine包括核心 ArcObjects的功能,其是对AO中的大部分接口、类、库进行封装所构成嵌入式组件。 2、AE中的组件接口、方法、属性与AO是相同的。 区别 : 1:开发环境: ①ArcObjects必须依赖与ArcGIS Desktop桌面平台,即购买安装了ArcGIS Desktop的同时,安装ArcObjects,才能利用AO进行开发。 ②ArcEngine是独立的嵌入式组件,不依赖ArcGIS Desktop桌面平台,直接安装ArcEngine runtime和Developer Kit后,即可利用其在不同开发语言环境下开发。 2:功能: AO的功能更强大,AE的功能相对弱些,AE 不具备AO的少部分功能。 Other:脚本语言VBA、Python 1、定义 Visual Basic For Application(VBA)是微软VB的子集,一种通用的自动化语言,逐渐成为工业标准,微软诸多系统都内嵌VBA环境。 Python是阿姆斯特丹国家数学和计算机科学研究所Guido Van Rossum于1991年第一次公开发行的一门脚本语言,它集成了诸多语言的特性,如ABC,Molula等等。是一门动态脚本语言。 2、做ArcGIS开发上的一些区别和联系 VBA:ArcGIS Desktop产品内嵌了一套VBA环境,可通过Tools-Macors-Visual Basic Editor菜单进入,进入VBA环境后,会发现和VB的IDE环境基本相同。基于VBA,用户可以对ArcGIS Desktop产品进行定制,如:菜单加载些什么选项等等,最重要的是可以基于VBA运用AO开发自己关心而ArcGIS所没有提供的功能,由于此VBA属ArcGIS自身内嵌,所以开发是基于AO进行的。 Python:是ArcGIS 9后被包含在桌面产品的安装包中,9.2之前,大家多用Python语言来写批处理,而9.2之后为ArcToolBox中的每个工具都提供了Batch功能,不用大家在自己写脚本来做批处理工作了。利用Python可以很好的调用GP(Geoprocesing)工具及Model builder创建的Model,关于Python开发,很好的例子是ArcToolBox中的带有文件表示的工具,可以鼠标右键打开,查看源码,因为这些工具都是用Python写的。 关于VBA开发和Python的写法,帮助中都会有,不过对于定制开发而言,多会首选ArcGIS内嵌的VBA。 学无止境,不断前进!
个人分类: 科苑星空|8291 次阅读|0 个评论
如何制作ArcGIS批处理列表
热度 3 aweng 2011-6-17 22:02
最近一段时间,我需要处理一批数据。由于种种原因,最后选择了ArcGIS来处理。 在尝试其中一组数据后,我对处理结果很满意。不过难题来了,怎么对付这么一堆数据呢? 我处理的数据是全国31个省级行政区的年数据,时间范围为1961年到2008年。按每个省级行政区每年的数据算一组数据的话,那么总共有1488组数据。按每组数据我要用三步来处理,总用时要10分钟的话,那么我得花上14880分钟,即248小时,或者就是不眠不休10天多,或者是31个工作日来计算。就算我能将工作效率提高一倍,那么也相当于15.5个工作日。这样太耗时间了。我发现我的10分钟大部分都花在了确定执行步骤的选择上,真正运算并不花太多时间。所以我就想怎么提高效率。 经过询问,我得知使用ArcGIS的批处理功能可以达到这个目的。 启动ArcGIS的批处理功能很简单。在ArcMap或ArcCatalog中打开ArcToolbox,选择好你想要的工具后,右键点击,选择“批处理”即可。如果你对这个工具的使用不是很熟,那么我建议先左键双击打开,试验一下单次处理再说。 打开的“批处理”是一个对话框,它由四个区域组成。面积最大的,位于左上角的是列表区,可以在里面操作生成批处理列表。列表区右边是一列操作按钮,自上而下分别是添加行、移除所选行、向上移动所选行、向下移动所选行、显示帮助和检查值。操作按钮右边是帮助信息显示区。最下面是对话框操作按钮。这个对话框还可以扩大到全屏。 在批处理操作不多的情况下,如果仅有10个以内,可以直接在列表区中一个个填写单元格中的信息,直到完成整个批处理列表。 如果批处理操作比较多,但不超过1页,即列表区还不出现纵向滚动条的情况下,可以选中其中一行或多行,用复制、粘贴的办法增加新行中的内容。 如果要增加内容相同的一行或多行,可以将要复制的一行或多行选中,使其高亮显示,再按操作按钮中的“添加行”(“+”按钮),则会自动在列表最后增加与选中内容一样的、行数相同的行。这操作中,选中的行可以是有内容的,也可以是空白的。 如果批处理操作很多,超过1页,甚至成百上千行,那么直接在ArcGIS批处理中操作就会很烦琐也很不方便。其中一点就是当你点击任意一个单元格,列表都会自动先回到首页,再自动滚动到你点击的位置。在批处理数量少的时候,程序反应比较快,感觉不太明显。如果批处理数量多,那么反应就会很慢,直到你无法接受。这个时候,我们就要另辟蹊径了。 在这种情况下,我们可以使用Excel来完成这项工作,具体步骤如下。 1 先在ArcGIS的批处理列表中,完成至少1行、最好是你感觉的足够多行的列表,并且检查无误。 2 选中列表中的这些行,按Ctrl+C复制。 3 打开Excel,新建一个空白的工作表,在左上角第一行第一列的单元格处Ctrl+V粘贴。 4 在Excel中检查复制好的内容,看看之后要增加的行与现有的行,哪些有所改变,哪些没有改变。这一步也可以在步骤1中操作,但因批处理列表操作较麻烦,建议还是移到步骤4中操作比较方便。 5 在Excel中制作增加的列表行,可以利用Excel的“复制单元格”、“填充序列”、“查找-替换”等功能。 6 在ArcGIS批处理列表中,用上文增加内容相同的一行或多行的办法,在列表中增加足够的行。为区别原有的行,此步骤中所增加的最好是空白行。 7 将Excel中制作好的列表行选中,Ctrl+C复制。 8 到ArcGIS批处理列表中,选中与步骤7中同样多的行,Ctrl+V粘贴。 9 如果需要,重复步骤5-8,直到ArcGIS批处理列表制作完毕。 注意,在步骤7中必须将对应ArcGIS批处理列表中的所有内容都选中,而不仅仅是部分列。复制粘贴操作仅对整个列表有效,而且在ArcGIS批处理列表中仅能按行选择,不能按列或部分连续/不连续单元格选择,所以要这么操作。 完成ArcGIS批处理列表制作后,可以按一下操作按钮中的最下面一个“检查值”,看一下列表中有没有弄错的地方,可以及时修改。如果需要设置操作的环境,可以点下方对话框操作按钮中的“环境”按钮进行设置。 等一切操作完成以后,点下方对话框操作按钮中的“确定”就可以执行这列表中的所有操作了。 使用以上的批处理列表制作方法和利用批处理功能,我仅用一天半的时间就完成了这些数据的处理,得到了想要的结果。
个人分类: 学习|13676 次阅读|6 个评论
[转载]基于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技术|10426 次阅读|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
个人分类: 科研学习|7279 次阅读|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 ,转换,成功。 真是令人蛋疼。
个人分类: 生活点滴|4365 次阅读|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技术|3807 次阅读|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技术|10138 次阅读|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|18122 次阅读|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|4430 次阅读|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|11484 次阅读|0 个评论

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

GMT+8, 2024-5-24 02:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部