
简介《ArcGIS基础100例操作手册操作数据》由汤国安教授编写面向GIS初学者及有一定基础的ArcGIS用户通过100个实操案例帮助读者系统掌握软件核心功能与操作技巧。资源包共2069个文件约156.04MB涵盖操作手册PDF、PPT教程、练习案例文本及配套数据。其中shp、dbf、shx、prj等矢量数据文件与tif、tfw栅格数据构成完整练习底图mxd地图文档、gdb地理数据库、xml元数据及sbx、sbn空间索引文件支撑从数据导入、图层管理到地图布局的全流程操作。手册详细讲解界面认识、数据导入导出与地图设计PPT教程覆盖GIS基本概念与系统架构练习案例涉及数据处理、空间分析与模型构建。已有1630人学习下载适合希望在城市规划、环境研究、自然资源管理等领域提升空间分析能力的学习者通过真实数据反复练习逐步理解数据含义、工具选择与结果解读夯实GIS素养。1. 从一份被翻烂的 ArcGIS 操作手册说起如果你在 GIS 这行待过一阵大概率听过“ArcGIS 基础100例”这个名号。它不是什么新出的在线课程而是一套流传多年的操作手册加配套练习数据作者是汤国安。我第一次接触它是在一个做土地利用规划的项目里当时需要把几十个村的矢量边界和遥感影像做叠加分析手头只有 ArcGIS 的基本概念具体操作全靠零散搜来的帖子拼凑结果坐标系一锅粥属性表关联后字段全乱。后来一位前辈丢给我这套资料说“别瞎折腾了照着练一遍比你看十篇教程都管用”。这套资源的核心价值在于“系统”和“可复现”。它把 ArcGIS 从地图打开、图层管理、坐标系定义到矢量编辑、栅格计算、空间插值、网络分析、三维可视化这些模块拆成了 100 个独立又互相衔接的练习。每个练习都配了操作步骤和对应的数据文件你不需要自己去找数据也不用猜参数怎么设。适合谁刚入行的 GIS 专业学生、转行做空间数据处理的开发者、需要快速上手 ArcGIS 做项目的规划或环境类从业者。它不教你 Python 脚本自动化也不涉及 ArcGIS Pro 的最新特性但如果你连 ArcMap 的基本工具条都没摸熟这套东西就是最省时间的入门路径。2. 拆开这份资源文件构成与数据组织逻辑2.1 操作手册的章节编排与练习粒度手册本身是 PDF 或 Word 格式按功能模块分章每章下面有若干“例”。一个典型的“例”包含三部分练习目的、操作步骤、注意事项。练习目的通常一句话比如“掌握矢量数据的裁剪与合并”操作步骤会精确到点哪个菜单、选哪个参数、输入什么字段名注意事项则是一些容易翻车的地方比如“裁剪时输出范围要选输入要素否则结果为空”。我一般会先翻目录把 100 个例按数据依赖关系分成几组。比如“坐标系定义与投影转换”这组必须最先做因为后面所有涉及距离、面积的计算都依赖正确的坐标系。然后是“矢量数据采集与编辑”再是“栅格数据分析”最后是“空间分析与建模”。这样分组的好处是你不会在做一个插值练习时突然发现数据还没配准。2.2 配套数据的目录结构与格式说明配套数据通常按章节编号放在不同文件夹里比如Ch03_矢量编辑、Ch07_栅格计算。每个文件夹里包含 Shapefile、栅格影像TIFF 或 IMG、个人地理数据库MDB或文件地理数据库GDB。Shapefile 至少包含.shp、.shx、.dbf、.prj四个文件缺一不可。如果.prj缺失ArcGIS 会提示“未知空间参考”这时候要么手动定义要么用“定义投影”工具补上。常见做法是先把所有数据拷贝到本地硬盘的一个英文路径下比如D:\GIS_Data\ArcGIS100。不要放在中文路径或桌面ArcGIS 对中文路径的支持时好时坏尤其是涉及栅格计算和 Python 脚本调用时中文路径经常导致工具报错“无效的输入”。另外如果数据是压缩包解压后检查一下是否有嵌套文件夹有时候解压出来是Ch03/Ch03/xxx.shp直接拖进 ArcMap 会找不到关联文件。提示拿到数据后先做一次“检查几何”和“修复几何”尤其是从网上流传的 Shapefile经常有自相交或空几何不修复的话后续裁剪、相交都会失败。3. 从零跑通第一个练习坐标系定义与矢量裁剪3.1 环境准备与 ArcMap 初始设置假设你装的是 ArcGIS Desktop 10.x这套资料主要针对这个版本ArcGIS Pro 也能用但菜单位置不同。打开 ArcMap新建一个空白地图。第一件事不是急着加载数据而是设置“默认地理数据库”和“当前工作空间”。在 Catalog 窗口里右键点击你存放数据的文件夹选择“属性”确认路径没有中文。然后打开“环境设置”Geoprocessing - Environments把“工作空间”里的“当前工作空间”和“临时工作空间”都设成你的数据文件夹。这一步能避免很多“输出路径无效”的玄学问题。接下来加载第一个练习的数据。通常第一个例是“定义投影”。找到Ch02_坐标系文件夹里的一个无投影的 Shapefile拖进 ArcMap。它会提示“缺少空间参考”点确定。然后打开 ArcToolbox - Data Management Tools - Projections and Transformations - Define Projection。输入要素选这个 Shapefile坐标系选“GCS_WGS_1984”。确定后.prj文件就生成了。3.2 矢量裁剪的完整操作与参数解析裁剪是后面几十个练习的基础。假设你有两个图层study_area.shp研究区边界和landuse.shp土地利用现状。目标是把土地利用数据裁剪到研究区范围内。打开 ArcToolbox - Analysis Tools - Extract - Clip。参数设置如下Input Featureslanduse.shpClip Featuresstudy_area.shpOutput Feature ClassD:\GIS_Data\ArcGIS100\Ch04_裁剪\landuse_clip.shpXY Tolerance留空除非坐标单位是度且数据范围很小才需要手动设一个很小的值比如 0.0001# 如果你习惯用 Python 窗口等价代码如下 import arcpy arcpy.env.workspace rD:\GIS_Data\ArcGIS100\Ch04_裁剪 arcpy.Clip_analysis(landuse.shp, study_area.shp, landuse_clip.shp)逻辑说明Clip_analysis的第一个参数是被裁剪的要素第二个是裁剪边界第三个是输出。注意裁剪工具会保留输入要素的所有属性字段但只保留落在裁剪边界内的几何部分。如果裁剪边界是面输出也是面如果裁剪边界是线输出可能是线或面取决于输入。参数XY Tolerance一般不用改ArcGIS 会根据输入数据的坐标系自动计算一个容差。如果裁剪结果为空先检查两个图层的坐标系是否一致不一致的话用“投影”工具统一。3.3 属性表连接与字段计算器裁剪完下一步往往是关联属性数据。比如landuse_clip.shp里有一个字段CODE你还有一个 Excel 表landuse_type.xlsx里面是CODE和对应的TYPE_NAME。用“连接”Join功能右键landuse_clip- Joins and Relates - Join。参数选“基于属性字段连接”图层字段选CODE表字段选CODE。连接后属性表里会多出TYPE_NAME字段但这是临时连接导出数据才能永久保存。导出后如果需要根据TYPE_NAME计算面积用字段计算器。新建一个双精度字段Area_ha右键字段 - Field Calculator。勾选“高级”输入# 假设坐标系是投影坐标系单位是米 !shape.area! / 10000逻辑说明!shape.area!返回几何面积单位取决于坐标系。如果是地理坐标系度这个值没有实际面积意义必须先投影到投影坐标系。除以 10000 是把平方米转成公顷。注意字段计算器里用!包裹字段名这是 ArcGIS 的语法不是 Python 的常规写法。4. 栅格分析与空间插值的参数怎么设4.1 栅格计算器与地图代数栅格分析是这套资料里比较厚的一部分。常见练习包括“栅格计算器”、“重分类”、“栅格裁剪”、“坡度坡向提取”。以“栅格计算器”为例假设你有两个栅格dem.tif高程和slope.tif坡度想算一个“地形起伏度”指标公式是dem * 0.6 slope * 0.4。打开 Spatial Analyst Tools - Map Algebra - Raster Calculator。输入dem.tif * 0.6 slope.tif * 0.4逻辑说明栅格计算器会自动对齐两个栅格的像元如果范围或分辨率不一致会以交集为准并重采样。参数里没有显式的“输出范围”设置但可以在环境设置里指定“处理范围”和“像元大小”。我一般会先统一两个栅格的投影和分辨率再做计算否则结果会有偏移。如果报错“栅格计算器无法打开”检查栅格是否被其他程序占用或者路径是否太长。4.2 反距离权重插值的参数与验证空间插值练习通常用气象站或采样点数据。以“反距离权重插值”IDW为例输入是点图层stations.shp字段是rainfall输出栅格idw_rain.tif。打开 Spatial Analyst Tools - Interpolation - IDW。参数Input point featuresstations.shpZ value fieldrainfallOutput rasteridw_rain.tifPower2默认值表示距离的幂次越大越局部Search radiusVariable点数设 12表示用最近的 12 个点参与插值Output cell size根据研究区范围设比如 100单位同坐标系import arcpy from arcpy.sa import * arcpy.CheckOutExtension(Spatial) out_idw Idw(stations.shp, rainfall, 100, 2, VARIABLE 12) out_idw.save(rD:\GIS_Data\ArcGIS100\Ch08_插值\idw_rain.tif)逻辑说明Power参数控制插值的平滑程度值越大近处点的权重越高结果越不平滑。Search radius选 Variable 时点数越多结果越平滑但计算越慢。Output cell size设得太小会导致栅格文件巨大设得太大则丢失细节。验证插值效果可以用“交叉验证”工具或者留几个点不参与插值最后对比预测值和实测值。常见坑是点图层有重复坐标导致插值报错“无法计算”需要先“删除相同项”。4.3 重分类与栅格裁剪的联动重分类常用于把连续栅格转成分类栅格。比如把坡度栅格按 0-5、5-15、15-25、25 分成四级。打开 Spatial Analyst Tools - Reclass - Reclassify。输入slope.tif重分类字段选Value点击“分类”按钮设断点。输出slope_class.tif。然后裁剪到研究区用 Spatial Analyst Tools - Extraction - Extract by Mask。输入slope_class.tif掩膜选study_area.shp。参数里有个“是否使用输入栅格的范围”一般选“否”让输出范围跟掩膜一致。如果裁剪结果全是 NoData检查掩膜和栅格的坐标系是否一致或者掩膜是否在栅格范围之外。5. 避坑与排查那些年我踩过的 ArcGIS 雷5.1 坐标系不一致导致的“空结果”现象裁剪、相交、插值结果为空或者面积计算出来是 0。原因两个图层的坐标系不同一个是地理坐标系度一个是投影坐标系米ArcGIS 不会自动转换而是按数值直接计算导致范围不重叠。解决先用“投影”工具把其中一个图层转到另一个的坐标系或者统一转到同一个投影坐标系。在 ArcMap 里右键图层 - Properties - Source看“空间参考”是否一致。5.2 中文路径与字段名引发的工具报错现象运行工具时提示“ERROR 000732: 输入不存在”或“ERROR 000210: 无法创建输出”。原因路径或文件名包含中文、空格、特殊字符或者字段名是中文。ArcGIS 的底层是 Python 2.7 和 C对非 ASCII 字符支持不完善。解决所有数据放在英文路径下文件名用英文和下划线字段名也改成英文。如果必须保留中文导出时用“复制要素”工具在输出路径里手动输入英文名。5.3 属性表连接后字段丢失或乱码现象连接 Excel 或 CSV 后部分字段显示为 Null 或乱码。原因Excel 的列名有空格或特殊字符或者字段类型不匹配比如一个是文本一个是数字。解决先把 Excel 另存为 CSV用记事本打开检查列名确保没有 BOM 头。连接时两个字段的类型必须一致文本对文本数字对数字。如果还是乱码在“控制面板”-“区域”-“非 Unicode 程序的语言”里改成“英语美国”重启 ArcGIS。5.4 栅格计算器报错“无法打开栅格”现象栅格计算器输入表达式后提示“ERROR 000964: 指定的范围无效”或“无法打开栅格”。原因栅格文件被其他程序占用或者路径太长超过 255 字符或者栅格本身损坏。解决关闭其他打开该栅格的软件把数据移到更短的路径下比如D:\GIS\data。如果栅格损坏用“复制栅格”工具重新导出一次。5.5 内存不足与大型栅格处理现象处理大范围高分辨率栅格时ArcGIS 崩溃或提示“内存不足”。原因32 位 ArcMap 最多只能用 2GB 内存栅格太大时直接爆掉。解决先用“重采样”降低分辨率或者用“分割栅格”工具分块处理。如果必须处理原始分辨率改用 ArcGIS Pro64 位或者用 Python 脚本调用arcpy在后台分块计算。6. 进阶技巧把 100 例串成自己的工具箱这套资料最大的价值不是让你会点 100 个工具而是帮你建立“空间数据流水线”的思维。我后来做项目时习惯把重复的操作写成 Python 脚本用arcpy批量跑。比如把 100 例里的“裁剪-投影-重分类-统计”四个步骤串成一个脚本输入一个文件夹自动处理里面所有 Shapefile。import arcpy import os arcpy.env.workspace rD:\GIS_Data\ArcGIS100\Batch out_folder rD:\GIS_Data\ArcGIS100\Batch_Out clip_feature rD:\GIS_Data\ArcGIS100\study_area.shp # 遍历工作空间里的所有 Shapefile for shp in arcpy.ListFeatureClasses(*.shp): name os.path.splitext(shp)[0] # 裁剪 clip_out os.path.join(out_folder, name _clip.shp) arcpy.Clip_analysis(shp, clip_feature, clip_out) # 投影到统一坐标系 proj_out os.path.join(out_folder, name _proj.shp) arcpy.Project_analysis(clip_out, proj_out, arcpy.SpatialReference(32650)) print(f{name} 处理完成)逻辑说明ListFeatureClasses返回当前工作空间的所有 Shapefile。Clip_analysis按研究区裁剪Project_analysis统一投影到 WGS 1984 UTM Zone 50NEPSG:32650。SpatialReference(32650)是直接传 EPSG 代码比手动选坐标系更稳。脚本跑完后检查输出文件夹里是否有空文件空文件说明裁剪时没有重叠需要回头检查坐标系。另一个技巧是“模型构建器”。把 100 例里涉及多步骤的练习比如“从 DEM 提取坡度、坡向、起伏度”用 ModelBuilder 连起来保存成工具。下次换一个 DEM直接拖进去就能跑。模型构建器里可以设“前提条件”比如先检查坐标系是否一致不一致就自动投影。这样即使数据变了流程也不会断。从那以后我每次拿到新数据都强制走一遍“检查几何 - 定义投影 - 统一坐标系 - 裁剪 - 分析”的流程再也没出现过结果为空或者面积算错的情况。这套 ArcGIS 基础100例我建议你别贪快一天做 5 个做完把步骤默写一遍比看视频强。希望帮到你。本文还有配套的精品资源点击获取