一、计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED --》把下面的代码输入,然后在最下面 = 处写 OUTPUT 点击 OK 就 OK 了。 Dim Output as doubleDim pArea as IareaSet pArea = [shape]Output = pArea.area
二、计算长度 ( 可以帮我们计算林带长度 )同上添加 LENGTH 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED --》把下面的代码输入,然后在最下面 = 处写 OUTPUT 。点击 OK 就 OK 了。 Dim Output as doubleDim pCurve as ICurveSet pCurve = [shape]Output = pCurve.Length
三、小班升序排列:同上添加小班号字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED --》把下面的代码输入,然后在最下面 = 处写 OUTPUT 。点击 OK 就 OK 了。Static i as longDim Output as stringi=i+1Output =i
四、村界切割小班选择 -> 根据位置选择 , 小班 are are crossed by the outline of 村面 , 然后选择 -> 设置可选择图层为村面。用追踪工具,任务为切割多边形要素,进行切割
五、字段赋值选择 -> 根据位置选择 , 小班 are within 村面。打开属性表显示选中的,选择一整列计算字段值对整个字段赋一个常量或,勾选高级加求变量代码
六、拓扑检查ArcCatalog 选要进行拓扑检查的文件夹右键 -> 新建个人 geodatabase-> 新建要素集 -> 导入要素类 -> 新建拓扑 (导入要拓扑的图层) 。ArcMap 中打开由拓扑规则产生的文件, 编辑状态下 利用 topolopy 工具条中给出的错误记录信息进行修改 。搜索要修改的错误 -> 右键 ( 平移到 ) 选融合或新建等等。( 用 P+ENTER 组合键加快修改速度 ) , 修改完后右键图层名 -> 选导出数据
七、投影和投影转换ArcToolbox-> 数据管理 -> 投影和投影转换 ->project , batch project 。更多干货敬请关注:GIS前沿(地理变换中加入之前创建自定义地理变换文件)
八、合并图层ArcToolbox-> 数据管理 -> 常规 ->merge
九、其他格式文件转 shpfileArcToolbox-> 转换工具 -> 到 shpfile
十、 dxf 批量转 shp用 ArcCatlog 打开全部选择右键转为 shp
十一、批量定义投影ArcToolbox-> 示列 ->batch define coordinate system 9( 可以用来批量矫正跑偏的卫片 )
十二、校正提前可选取捕捉选项校正进行仿射校正
十三、属性表多项查询" 村 " =6 AND( " 优势树种 " = '150 落叶松 ' OR " 优势树种 " = '491 榆树 ' OR " 优势树种 " = '530 杨树 ' OR " 优势树种 " = '535 柳树 ' )
十四、数据库挂接根据两属性库相同字段,相同值连接库文件 ( 新库中只保留与旧库的公共字段, Arcgis 挂接时编辑器一定要打开,挂接完需要导出数据生成成果文件。注意 : 从 Arcgis 导出 excel 表修改数据时,容易串行,此时只要保留两表中的共字段,然后用以上方法把数据库挂接回去就可以了,挂回去的库会在相同公共字段的地方进行内容替换 )注意:一般情况下公共字段用乡 *1000000+ 林班 *1000+ 小班号得出,原表可以在 Arcgis 中添加字段,然后计算字段值求得,要挂接的数据库可在 VF 中增加字段,用 repl 公共字段名 with 乡 *1000000+ 林班 *1000+ 小班号 all 填充。
十五、裁切利用矩形对栅格数据裁剪 :ArcToolbox 中, datamanagement>raster>clipInputRaster 中选择被裁剪的栅格数据,设定好矩形四个顶点即可
十六、小班删除和融合小班内部删除相当于减少面积,外部删除去掉地块。小班内部融合相当于面积不变。
十七、 ArcGIS 中影像图配准(校正扫描地图)栅格配准 - 根据地图坐标添加控制点, x= 经度去掉前两位数带 号后加 3 个零, y= 纬度后加 3 个零(如 21575 为 575000,5357 为 5357000 )。选二次多项式,选择校正,选择校正后的数据类型和名字
十八、 ArcGIS 工程空间参考第一个加的图层。
十九、字段值显示不同颜色打开图层后,右键单击图层, properties 里面, symbology ,采用 categories 分类,用 unique values ,右边的 value field 选取你说的那个“图斑的属性”,添加所有值
二十、线图层和面图层之间转换数据管理工具 -> 要素 -> 要素到多边形,多边形到要素
二十一、融合后全部打散ArcToolbox-> 数据管理 -> 属性 ->mergemultipart to singlepart
二十二、图层 关系处理ArcToolbox-> 分析工具 -> 叠加 -> Erase ( 图层擦除指根据参照图层的范围大小,擦除参照图层所覆盖的输入涂层内的要素。)ArcToolbox-> 分析工具 -> 叠加 -> Updat e ( 输入的图层中被修正图层覆盖的那一部分的属性将被修正图层的属性代替,注意在更新时输入图层必须透明)ArcToolbox-> 分析工具 -> 叠加 -> Symmetrical difference ( 获得两个图层叠加后去掉其公共的区域的图像,新生成的图像的属性也是综合两者的属性而产生的)ArcToolbox-> 分析工具 -> 提取 ->Clip 得到裁切要素区域范围中输入图层的数据ArcToolbox-> 分析工具 -> 叠加 -> Intersect 交集操作是通过叠置处理得到两个图层的交集部分,并且原图层的所用属性将在同时得到的新的图层显示出来。
二十三、选择性导出数据生成新图层选中要生成新图层的数据 , 源图层右键,数据,导出数据,选择选中的要素,修改图层名,确定(同样适用于选择性导出 dbf 文件)
二十四、 ArcGIS 根据坐标点生成面图层和线图层;并根据图层文件导出坐标点文件ArcToolbox-> 示列 -> 数据管理 ->Create Features From Text File其中, input txt file 选择下面格式中的坐标点 txt 文件, Input decimal separator 中在英文状态下输入任一字符,但不能使用空格, Output Feature Class 选输出路径, Output Feature Class Spatial Reference 中选择坐标系或导入参考已有图层坐标系。txt 文件格式说明:1 、 Polyline 后面不能有空格;(如果要生成面,将 Polyline 改成 Polygon )2 、数据间的空格间隔只能是一个字符;3 、生成线的每一点要按顺序排列,按不同顺序排列会生成不同的图像;4 、第一个点的序号从 0 开始编号;(面图层的时候每个小班第一个点和最后一个点一样)5 、若要生成多条线,对每条线要编号;且要符合上述的要求,每条线的点重新从 0 开始编号;6 、最后一行要加上 END ;7 、将数据从 EXCEL 表中导出成 TXT 格式后,按上述要求调整好数据格式,新建一个 TXT 文档,将数据复制到新建的文档当中。8 、各个点的坐标数据必须保留 1 位以上的小数。格式必须要符合上述规定如下:在同一个图层上同时生成两个小班地块Polygon0 00 477140.900 268443.400 1.#QNAN 1.#QNAN1 477186.300 268443.400 1.#QNAN 1.#QNAN2 477186.300 268507.559 1.#QNAN 1.#QNAN3 477186.300 268522.561 1.#QNAN 1.#QNAN4 477192.300 268522.461 1.#QNAN 1.#QNAN5 477192.300 268507.459 1.#QNAN 1.#QNAN6 477192.300 268443.400 1.#QNAN 1.#QNAN7 477263.900 268443.400 1.#QNAN 1.#QNAN8 477263.900 268408.400 1.#QNAN 1.#QNAN0 477140.900 268443.400 1.#QNAN 1.#QNANENDPolygon0 00 700680 5247849 1.#QNAN 1.#QNAN1 700676 5247846 1.#QNAN 1.#QNAN2 700603 5247885 1.#QNAN 1.#QNAN3 700609 5247891 1.#QNAN 1.#QNAN0 700680 5247849 1.#QNAN 1.#QNANEND生成线图层Polyline0 00 700680 5247849 1.#QNAN 1.#QNAN1 700676 5247846 1.#QNAN 1.#QNAN2 700603 5247885 1.#QNAN 1.#QNAN3 700609 5247891 1.#QNAN 1.#QNANEND
二十五、内容列表区图层文件拷贝一个打开工程中内容列表区的图层文件全部复制拷贝到另一个打开工程的内容列表中,在源工程内容列表区中选中要复制的图层文件上右键复制,在目标工程内容列表区中图层上右键粘贴图层文件。
二十六、快捷键ALT+R 键然后 S 键 可以帮助你快速保存图层文件。ALT+R 键然后 G 键同样可以快速融合文件。CTRL+F6 捕捉顶点, CTRL+F8 捕捉边线注:地方林业局在最近几年有电子版的资料,但是这些资料部分还是“北京 54 坐标系”,与现在大家统一用的“西安 80 坐标系”不同。如果我们想利用这部分资料做参考,大家可以先把“北京 54 坐标系”做一次投影转换转为“西安 80 坐标系”然后再利用小班和影像做一下配准。就可以得到我们想要的“西安 80 坐标系”。 具体操作步骤在上面的操作方法里面都有。
二十七、 GPS 和电脑连接、数据传输、坐标点成图MapSource 客户端软件和 GPS 驱动程序安装安装好驱动和 MapSource 程序,用 GPS 自带数据线和 GPS 连接好,(驱动程序和 MapSource 程序都在 GPS 附带光盘里)MapSource 参数设置MapSource 编辑 -> 首选项 -> 位置 用户定义的格网,用户定义的地图基准。属性进行设置,具体参数设置和当地林业局 GPS 参数设置一样。MapSource 数据接收和保存传送 -> 从设备接收,接收内容一般选航点。文件 -> 另存为保存路径文件名,文件类型为默认 .gdb (这是 GPS 数据库和 GPS 设备上的数据一致,以后就可以拔掉 GPS 直接打开这个 gdb 文件进行操作相当于连接上 GPS 操作);同样文件 -> 另存为 .TXT 文件( gdb 文件的 txt 形式)。Excel 获取坐标点Excel 中数据 -> 导入外部数据找到保存的 txt 文件,下一步 -> 选分隔符,再下一步选中 “ 空格和其它 ” 确定(保存的 txt 文件导入 Excel 中),其中 Name 列为坐标点号, Description 列为打点时间,正常情况 Position 列为坐标点,得到了坐标点。坐标点成图(分 1.0 成图和 ArcGIS 成图两种方法)1.0 成图:如果参数是严格按照上面 MapSource 参数设置中的步骤设置的话,坐标点可以直接上图。在 Excel 中新建三列分别为 id , x , y ,其中 id 为一个图中的同一地块所有坐标点共同 id 号(同一块地 id 值相同如都设为 1 ,另一块地 id 值则都设为 2 )。然后用 1.0 点成面或线再加上属性库就得到 GPS 打点形成的图层。ArcGIS 成图:在上面的“二十四。ArcGIS 根据坐标点生成面图层和线图层”中有详细描述。
二十八、另外一种坐标点成图方法(需要用到工具 ->Add XY Data )1 、将数据导入到 Excel 里面,总共有两列 X , Y (列名为 X , Y 即可),下面对应 x , y 坐标数据即可,将文件保存成 *.xls 或者 *.dbf 文件。2 、 ArcGis 下面,菜单工具 - >Add XY Data 工具 ( 可以同时上多个地块,不同地块中间用空行分隔,导入 Excel 中编辑完点号,再导出 Txt 文件,编辑为成面图层的点文件 ) 。这时会形成一个新图层,所有的点都添加进来了,但现在添加进来的点由于没有 objectID 或者 FID ,现在图层不具备 *.shp 图层的大部分功能,如点的选择,编辑,关联,属性等操作。3 、在刚才生成的图层上点右键,选 data-expot data …,导出成 .shp 文件。4 、利用 write features to Text file 工具 生成 txt 文件,这个文件主要是描述各个点的坐标和格式化用的 . 将 Point 改成 Polyline 或 Polygon ,即可满足连接生成线和面。5 、利用 Create Features From Text File 工具导入刚刚你生成的并改 Polyline 或 Polygon 的 txt 文件 TXT 文件格式如下:point1 37374000 25160002 37375000 25160003 37376000 25160004 37373000 2515000End
二十九、中央经线、中央经线算法中央经线:每一个 6 度或 3 度分带中间的经线称为中央经线,我国领土跨 11 个 6 度投影带,即第 13~23 带。我国领土跨 22 个 3 度投影带,即第 24~45 带6 度带中央经线算法:当地中央经线 =6* 当地带号 -3 。(适用于 1:2.5 万和 1:1 万地形图)3 度带中央经线算法:当地中央经线精度 =3* 当地带号。(适用于 1:1 万地形图)6 度分带:从 0 度经线(即 0 度经线)开始自西向东每个精度 6 度一个投影带,全球共分 60 个投影带。当地所处带数 = 当地东经整度数 /6 取整数加 1 。.3 度分带:从东经 1.5 度经线开始,每隔 3 度一带,全球共分为 120 个投影带。当地所处带数计算方法同上
三十、高斯-克吕格投影高斯-克吕格投影以 6 度或 3 度分带,每一个分带构成一个独立的平面直角坐标网,投影带中央经线投影后的直线为 X 轴(纵轴,纬度方向),赤道投影后为 Y 轴(横轴,经度方向),为了防止经度方向的坐标出现负值,规定每带的中央经线西移 500 公里 ,即东伪偏移值为 500 公里 ,由于高斯 - 克吕格投影每一个投影带的坐标都是对本带坐标原点的相对值,所以各带的坐标完全相同,因此规定在横轴坐标前加上带号,如 (4231898,21655933) 其中 21 即为带号,同样所定义的东伪偏移值也需要加上带号,如 21 带的东伪偏移值为 21500000 米 。六度带自 0 度子午线起每隔经差 6 度自西向东分带,带号依次编为第 1 、 2 … 60 带。三度带是在六度带的基础上分成的,它的中央子午线与六度带的中央子午线和分带子午线重合,即自 1.5 度子午线起每隔经差 3 度自西向东分带,带号依次编为三度带第 1 、 2 … 120 带。我国的经度范围西起 73 °东至 135 °,可分成六度带十一个,即 13-23 带。各带中央经线依次为 75 °、 81 °、 87 °、 …… 、 117 °、 123 °、 129 °、 135 °,或三度带二十二个。六度带可用于中小比例尺(如 1 :250000 )测图,三度带可用于大比例尺(如 1 :10000 )测图。
三十一、地理坐标系和投影坐标系地理坐标系( Geograpic Coordinate System, 简称 GCS )和投影坐标系( Projected Coordinate System ,简称 PCS )。投影坐标系统是根据某种映射关系,将地理坐标系统中由经纬度确定的三维球面坐标投影到二维的平面上所使用的坐标系统。每一个投影坐标系统都由一个地理坐标系统投影转化而成。投影坐标系=地理坐标系+投影过程。
三十二、导出图层小班坐标点并整理ArcToolbox-> 示列 -> 数据管理 -> Write Features To Text File (从图层导出坐标点)其中 Intput Feature 输入想要导出坐标点的图层文件, Output Txtfile 输入导出路径和文件名(文件名要加 .txt 后缀),导出格式为:Polygon0 00 700680.0 5247849.0 0.0 0.01 700676.0 5247846.0 0.0 0.02 700603.0 5247885.0 0.0 0.03 700609.0 5247891.0 0.0 0.04 700680.0 5247849.0 0.0 0.0END打开 Excel 数据 -> 导入外部数据,选分隔下一步,选空格,其他下一步。Txt 文件分列导入到 Excel 中,再把需要的坐标点文件复制,在目标 Excel 中右键选择性粘贴,选中转置,把一列坐标点拷贝成一行坐标点用来作为纸质文件。(可以用 Excel 中的格式刷制表)
三十三、 Arcgis 出图要出图的所有图层文件加入工程中, Arcgis -> 视图 -> 版面视图 -> 改变版面布局 -> 常规下选择一种版面。可直接对版面编辑 。
三十四、小班号林班号和地类在图上以分数形式标出图层右键 -> 属性 -> 标注 -> 表达式,“ [ 林班号 ] & "--" & [ 小班号 ] &chr(13) & "--------" &chr(13) & [ 土地种类 ] ”
三十五、在图层上插入常用的工具Arcgis -> 插入 -> 图列、指北针、比例尺、文字比例尺;其中插入对象可以把你的坐标点等以文本、 word 、 excel 或其它形式显示在图层上;插入图框,并设置图框的投影坐标系,加入要在局部显示的图层,在局部以小地图形式全局显示图层。
三十六、 建立网格1 、在图层窗口单击右键,点击 “Data Frame Properties” ;2 、选择 “Grids” 选项卡,点击 “New Grid” ;3 、选择要建立的 Grid 类型可建立经纬线格网或坐标单位格网,点击 “ 下一步 ” ;4 、设置线型、风格大小等,点击 “ 下一步 ” ;5 、设置字体等,点击 “ 下一步 ” ;6 、设置属性等,点击 “Finish” 完成网格的创建。备注:生成的 Grid 要在版面视图中才可以看见。
三十七、 Arcgis -> 文件 -> 导出地图,导出已经完成并准备打印的电子版地图。(出图可以分为卫片出图,地形图出图,只要在 Arcgis 中加入卫片或地形图就可以)
三十八、从“ Sheet1 ”表按树种分类把坐标点拷贝到“杨树”表,并且按有面积地块给小班排 ID 号, Excel 的 VBA 代码。在工具 -> 宏 -> 编辑代码Sub Macro4() Dim i As Integer Dim x, z, n As Integer
x = 4 z = 2 n = 1
For i = 1 To 400
If Worksheets("Sheet1").Cells(x, 6).Value = " 杨树 " Then Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 9).Value Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 14).Value Worksheets(" 杨树 ").Cells(z, 1).Value = n z = z + 1
Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 10).Value Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 15).Value Worksheets(" 杨树 ").Cells(z, 1).Value = n z = z + 1
Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 11).Value Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 16).Value Worksheets(" 杨树 ").Cells(z, 1).Value = n z = z + 1
Worksheets(" 杨树 ").Cells(z, 2).Value = Worksheets("Sheet1").Cells(x, 12).Value Worksheets(" 杨树 ").Cells(z, 3).Value = Worksheets("Sheet1").Cells(x, 17).Value Worksheets(" 杨树 ").Cells(z, 1).Value = n z = z + 1
x = x + 1 Else x = x + 1 End If
If (Worksheets("Sheet1").Cells(x, 4).Value > 0) Then n = n + 1
Next iEnd Sub
三十九、删除单元格值为空的行,注意删除一行默认为下方单元格上移,并且行号没有丢失Sub Macro0() Dim i, x As Integer x = 2
For i = 1 To 2 000
If (Worksheets(" 杨树 ").Cells(x, 2).Value = "") Then Worksheets(" 杨树 ").Rows(x).Select Worksheets(" 杨树 ").Rows(x).Delete Else x = x + 1 End If
Next iEnd Sub
四十、 生成 网格arctoolbox 中 data management->feature class->create fishnet 可以生成需要的网格
四十一、由小班生成村界,把一个村界线范围内小班全部融合形成一个村界,把所有村(林班)全部融合形成乡镇界,把所有乡镇界全部融合形成旗县界。
四十二、坐标点是相对当地中央经线的地点值,是 6 度或 3 度分带范围内。经纬度是绝对的,在全球一个经纬度对应唯一一个地点。两者切换时在 Arcgis> 视图 > 数据框属性 > 标准选项卡中的地图单位,米是坐标点单位,度分秒是经纬度单位。
四十三、经纬度上图用 MapSource 导出一份样本 ( 经纬度 txt 文件 ) ,在 excel 中打开,用目标经纬度替换掉样本,保存。再用 GPSBabel 转换软件,把 txt 文件转为 mps 文件,用 MapSource 打开,设置参数,导出坐标点 txt 文件。直接用上面说到的 Arcgis 直接成图方法。
四十四、坐标点导航用 MapSource 导出一份样本 ( 坐标点 txt 文件 ) ,在 excel 中打开,用目标坐标点替换掉样本,保存。再用 GPSBabel 转换软件,把 txt 文件转为 mps 文件,用 MapSource 打开,设置参数,选择数据传输,输出到 gps 中。
四十五、在 MapSource 中选中图形点复制,然后在 excel 中粘贴。得到部分目标坐标点。
四十六、 ARCGIS 从源图层复制要拷贝的数据,然后拷贝到目标图层;注意在数据量不大的时候,可以替代图层合并,要把目标图层相同位置数据删除后,再进行拷贝。
四十七、随机函数:Rnd*(B-A+1)+A 。四十八、公顷面积:[ 小班面积 ] /10000四十九、小班排号:Static ii=i+1i
五十、亩面积:[ 小班面积 ] /10000 *15 。
五十一、出现双线,删掉小班,用追踪自动完成一圈。
五十二、 Arcgis 建立 投影坐标系统 时 Xian_1980_GK_CM_117E 和 Xian_1980_GK_Zone_21N 是不加带号的投影坐标系统;Xian_1980_GK_Zone_20 是加带号的坐标系统。
五十三、经纬度转坐标点1. 把 GPS 打的经纬度点复制到 Excel 中两列为纬度经度 , (每个小班用空行分开);然后将 Excel 另存为 .CSV 文件。(注意:CSV 文件中经纬度前不能加点号)2. 打开 GPSBabel 软件 “ Input Format ” 中选择数据源格式为 Comma separated values “ Output Format ” 中选择转换目标数据文件格式为 Garmin Mapsouce - gdb ;FileName 中选择输入和输出的路径。3. 用 Mapsouce 打开转换好的 GDB 文件,在 Mapsouce->Edit->preferences->Position->Grid 和 Datum 选择 User Defined 。Grid 的 Roperties 设置当地中央经线;Datum 设置当地 dx , dy , dz 和 df 参数。然后另存为文本文件。4. 在 Excel-> 数据 -> 导入外部数据 -> 导入数据,注意分隔符号要选中空格。(注意:这里最后再把 Excel 中经纬度前的坐标点号拷过来)五十四、工具 -> 添加 XY 数据可以在 Excel 中建好属性表,表里第一列标出小班序号,每个小班重新排序号,在坐标点后加两列具体如下:(如果首列不是以 0 开头,让首列每一格减 1 )
0 1 606116 5478287 1.#QNAN 1.#QNAN
1 2 606437 5478321 1.#QNAN 1.#QNAN
2 3 606561 5478280 1.#QNAN 1.#QNAN
3 4 606602 5478173 1.#QNAN 1.#QNAN
4 5 606595 5478120 1.#QNAN 1.#QNAN
5 6 606545 5478178 1.#QNAN 1.#QNAN
6 7 606324 5478239 1.#QNAN 1.#QNAN
7 8 606184 5478205 1.#QNAN 1.#QNAN
0 1 609398 5477446 1.#QNAN 1.#QNAN
1 2 609579 5477360 1.#QNAN 1.#QNAN
2 3 609735 5477141 1.#QNAN 1.#QNAN
3 4 609689 5477016 1.#QNAN 1.#QNAN
4 5 609679 5477010 1.#QNAN 1.#QNAN
5 6 609492 5477294 1.#QNAN 1.#QNAN
6 7 609360 5477306 1.#QNAN 1.#QNAN
上表色部分浅蓝色部分是中间过程减去 1 后可以删掉。最后导出 TXT 文件,再全部替换掉多余空格,加 Polygon 和 END 每块地第一列复制到最后一列使小班闭合。然后用于坐标点成面图层。以上两种颜色为两小班。(点图层也可以用以上方法)。
五十五、 M 50F 034042_ 资源三号卫星 _2_101_20130604.tif 50-30=20 度带, 34 纵向排列, 42 横向排列, 20130604 日期。
五十六、 A RCGIS 中使用线图层分割面图层使用 A 图层分割 B 图层
.......