Card Conversion Tools(转换工具)
-
工具箱介绍
Arcgis Conversion Tools 提供了当下绝大多数地理空间数据和地理属性数据的各种数据格式之间的转换,我们常用的且移植性较强的两种数据格式:一是矢量文件,在Arcgis下统称为Shape File(Feature Class),主要有三种存储方式,(.shp、ArcInfo、Database),当下绝大多数软件以及代码包都支持.shp文件;二是栅格数据,即Raster。Arcgis支持几乎所有栅格数据格式,从只支持RGB三个波段的简单图片到支持多个波段的多波段遥感影像,如TIFF、GIF、JPEG、PNG等等。数据类型包括遥感影像、数字高程模型、数字正射影像、数字栅格图形等。虽然数据格式众多,但是这些数据都包含了地物的空间信息和属性信息。
为了实现数据之间转换,从而得到我们需要的数据格式,Conversion Tools为我们提供诸多的数据格式转换方式:
工具集
|
说明
|
Excel 工具集包含用于将 Microsoft Excel 文件与表进行相互转换的工具。
|
|
“由 GPS 转出”工具集包含用于将全球定位系统 (GPS) 文件转换为要素的工具。
|
|
通过使用“由栅格转出”工具集中的工具,您可以将栅格数据集中的信息转换为其他类型的数据结构,例如要素类;也可以将其转换为其他类型的文件,例如二进制文件或文本文件。
|
|
此工具集提供用于将要素从 WFS 转换为要素类,从而为这些要素提供更多功能的工具。
|
|
JSON 工具集包含可在 JSON(JavaScript 对象表示法)或 GeoJSON 与要素类之间转换要素的工具。JSON 和 GeoJSON 是一种基于文本的,轻量级的数据交换格式,用于在 ArcGIS 和其他系统之间共享 GIS 数据。这些格式与语言无关,并且大多数编程语言(例如 Python、C#、Java、JavaScript 等)提供用于读取、操作和编写 JSON 和 GeoJSON 的库。
|
|
KML 工具集包含用于将数据从 Keyhole 标记语言 (KML) 转换为地理数据库中要素的工具。
|
|
LAS 文件格式能够以高效的二进制数据结构存储激光雷达测量中的离散回波,但随着时间的推移,也可用于存储非激光雷达的源所生成的点云。LAS 文件可以在不同的 LAS 文件版本、点记录格式和压缩类型之间进行转换。还可将其导出到栅格,以便通过激光雷达强度或与每个点相关联的红绿蓝值来生成表面模型或影像。
|
|
“转为 CAD”工具集中的工具用于将地理数据库要素转换为本地 CAD 格式。您可以在地理处理模型和脚本中使用这些工具以定义自己的转换过程。
|
|
COLLADA - 是 COLLAborative Design Activity(协同设计活动)的缩写形式,是用于存储 3D 模型的开放式标准 XML 格式。它常被用作 3D 应用领域的交换格式,此格式也适用于 KML 中存储的 3D 纹理对象。COLLADA 文件的扩展名是 .dae,此类文件可以引用附加的图像文件用作 3D 对象上覆盖的纹理。如果将多面体要素导出到 COLLADA,便可以与他人共享复杂的分析结果,也可以提供一种机制,以便于使用 SketchUp 或 3DS Max 之类的第三方软件来更新带纹理的 3D GIS 数据,例如建筑物。
|
|
“转出至地理数据库”工具集包含对数据转换并将其写入地理数据库的工具。
|
|
“转为 GeoPackage”工具集包含用于将数据集转换为 OGC GeoPackage 格式的工具。
|
|
栅格信息可以存储在可由 ArcGIS 读取的各种数据格式的文件中。可使用“转为栅格”工具集将这些文件转换为栅格数据集。此外,也可以使用其他工具集将不同类型的要素信息转换为栅格数据集。
|
|
Shapefile 是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。shapefile 中的地理要素可通过点、线或面(区域)来表示。
|
|
上述内容也都被实现在工具箱ConversionTools之中
二、常用工具介绍
1、一个实例-——坐标数据转换为点shp文件
坐标数据可以通过Arcgis转换为shp文件,这个过程我们并不单单通过Conversion Tools 工具实现,具体如下。
(1)加载数据
数据的坐标必须是在确定的坐标系下的
(2)Display XY Data
转存失败重新上传取消正在上传…重新上传取消转存失败重新上传取消转存失败重新上传取消正在上传…重新上传取消转存失败重新上传取消转存失败重新上传取消正在上传…重新上传取消转存失败重新上传取消转存失败重新上传取消正在上传…重新上传取消转存失败重新上传取消
Step 1 Step 2 Step3 结果
(3)生成shp文件
可以在右键通过数据导出方式生成shp文件,同样也可以通过Conversion Tools生成shp文件
A 方案:
Step 1 Step2
B:方案
Conversion Tools ->To Geodatabase->Feature Class To Feature Class
Step 1
Step 2
2、常用的基础的数据转换工具
Conversion Tools中的工具都是执行了简单的数据转换,数据内容本身没有发生变化,只是适用的范围不一样,表大方式不一样。这些工具主要包括
序号
|
工具
|
语法
|
用法
|
备注
|
其他相关
|
代码示例
|
1
|
Excel To Table
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExcelToTable_conversion("data.xls", "outgdb.gdb", "Sheet1")
#参数:输入的xls文件,输出的table文件
|
将Excel表中的某个Sheet页转换为Arcgis支持的table文件,如dbf,数据库表 | |||
2
|
Table To Excel
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.TableToExcel_conversion("gdb.gdb/addresses", "addresses.xls")
#参数:输入的Table文件,输出的xls文件
|
将dbf或者数据库表转换为xls文件,最大行列为[65535,256] | |||
3
|
GPX To Features |
import arcpy
arcpy.GPXtoFeatures_conversion('c:\\GPX_Files\\Hike.gpx', 'c:\\gisData\\Hike.shp')
#参数:输入的GPX文件,输出的SHP文件
|
将GPX文件转换为SHP文件 |
|
|
|
4
|
PDF To TIFF |
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.PDFToTIFF_conversion("inPDF", "outTIFF")
#参数:输入的PDF文件,输出的TIFF文件
|
将PDF文件转换为TIFF文件 | |||
5
|
KML To Layer |
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.KMLToLayer_conversion('earthquakes.kml',r'C:\gisdata\fromkml','earthquak')
#参数:输入的GPX文件,输出的根目录,输出的layer图层名
|
将KML文件转换为Layer图层,并新建存放有相应矢量文件的数据库, | |||
6
|
Raster To Points
Point To Raster
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.RasterToPoint_conversion("source.img", "c:/output/source.shp", "VALUE")
#参数:输入的栅格影像,输出路径及名称,属性字段(栅格的像元值)
arcpy.PointToRaster_conversion("ca_ozone_pts.shp","ELEVATION","c:/output/ca_elev","MAXIMUM", "", 2000)
#参数:输入的点文件,value字段,输出路径,落在同一个像元的点的比选方法,,分辨率
|
将栅格的各个像元转换为点,并将栅格值赋给各个点
将矢量点输出为栅格点
|
|||
7
|
Raster to Polygon
Polygon to Raster
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.RasterToPolygon_conversion("zone", "c:/output/zones.shp", "NO_SIMPLIFY","VALUE")
#参数:输入栅格,输出路径及名称,转换方法(NO_SIMPLIFY,SIMPLIFY)、字段值
arcpy.PolygonToRaster_conversion("ca_counties.shp", "NAME","c:/output/ca_counties.img", "MAXIMUM_AREA", "MALES", 0.25)
#参数输入的拓扑文件,输出为img格式的栅格,落在同一个像元的多个图层单元的比选方法,分辨率
|
||||
8
|
Raster To Polyline
Polyline to Raster
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.RasterToPolyline_conversion("flowstr", "c:/output/streams.shp",
"ZERO",50, "SIMPLIFY")
#参数:输入栅格,输出路劲,空值处理方法(ZERO,NODATA),
最短的被计算的线,计算方法(NO_SIMPLIFY,SIMPLIFY)
arcpy.PolylineToRaster_conversion("roads.shp", "CLASS", "
c:/output/roads.img", "MAXIMUM_COMBINED_LENGTH", "LENGTH", 30)
#参数:输入矢量文件,value字段,输出栅格,落入同一个像元的多条线比选方法,,分辨率
|
|
|
|
|
9
|
Feature To JSON
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"),
"mypjsonfeatures.json", "FORMATTED")
#参数:输入的矢量文件,输出名称,输出格式
|
将其输出为JSON(数据字典的形式),并且包含空间依赖关系——以Geometry字典名记录。可多选Formated JSON、Includde Z Values、Include M Values、GeoJSON(包含空间参考)
|
|
|
|
10
|
JSON To Feature
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.JSONToFeatures_conversion("myjsonfeatures.json",
os.path.join("outgdb.gdb","myfeatures"))
#参数:输入的JSON文件,输出的矢量文件
|
将带有空间依赖关系的JSON,转换为SHP文件,JSON需要带有空间依赖关系,形似下图:
|
|
|
|
11
|
Export to CAD
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExportCAD_conversion(["in_features","in_feature2"],
"output_type", "output_file","USE_FILENAMES_IN_TABLES", "OVERWRITE_EXISTING_FILES")
#参数:输入的矢量文件,输出CAD格式,输出的文件名,使用文件自带字段名,覆盖已经存在的字段
|
将一个或者多个矢量文件输出为一个CAD文件
|
|
|
|
12
|
Add CAD Fields
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.AddCADFields_conversion("input_table","ADD_ENTITY_PROPERTIES",
"ADD_LAYER_PROPERTIES","NO_TEXT_PROPERTIES","NO_DOCUMENT_PROPERTIES","NO_XDATA_PROPERTIES")
#参数:输入的矢量文件,添加的CAD默认字段
|
给一个矢量文件添加相应CAD文件中默认字段
|
|
|
|
13
|
Feature Class To Coverage
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.FeatureclassToCoverage_conversion([["parcels", "REGION"]],"mont_parcel", "", "")
#参数:输入的多个文件,输出的ArcInfo文件
|
将一个或者多个矢量文件输出为Coverage文件(ArcInfo文件),该文件以文件夹的形式存在,在文件夹中看不到内部元素,类似于数据库
|
|
|
|
14
|
Table To dBase(multiple)
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.TableToDBASE_conversion(["vegtype", "futrds"], "C:/output")
#参数:输入的table,输出的dbf文件
|
将一个arcgis table输出为dbf文件
|
|
|
|
15
|
CAD to Geodatabase
|
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CADToGeodatabase_conversion("input_cad_dataset", "out_gdb_path", "out_dataset_name", "NAD_1983_StatePlane_California_VI_FIPS_0406_Feet")
#参数:输入的一个或者多个CAD文件,输出的数据库,输出文件名,空间参考
|
将一个或者多个CAD文件转换为数据库文件
|
|
|
|
16
|
Feature Class to Feature Class
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.FeatureClassToFeatureClass_conversion("buildings_point","C:/output/output","buildings_point.shp")
#参数:输入的矢量文件,输出的路径,输出的文件名
|
将一个Feature Class 输出为Feature Class,可以是shp文件,也可以是数据库文件
|
|
|
|
17
|
Feature Class to Geodatabase(multiple)
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.FeatureClassToGeodatabase_conversion(['climate.shp', 'majorrds.shp'], 'output.gdb')
#参数:输入的矢量文件,数据库
|
将一个或者多个矢量文件输出到数据库内
|
|
|
|
18
|
Raster to Geodatabase(multiple) |
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.RasterToGeodatabase_conversion("test.tif;test2.tif;test3.tif","c:/data/ToGDB.gdb/catalog")
#参数:输入的多个栅格数据,数据库中的栅格数据集
|
将一个个或者多个栅格输出到数据中
|
|
|
|
19
|
Table To Geodatabase
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.TableToGeodatabase_conversion(["accident.dbf", "vegtable.dbf"], "C:/output/output.gdb")
#参数:输入的多个表,数据库
|
将一个或者多个表输出到数据库中
|
|
|
|
20
|
Table to Table
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.TableToTable_conversion("vegtable.dbf", "C:/output/output.gdb", "vegtable")
#参数:输入的表,输出路径,输出表名
|
将一种表输出为另一种表
|
|
|
|
21
|
Raster To Other Format(multiple)
|
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.RasterToOtherFormat('Input','Output','BIP')
#参数:输入栅格,输出文件名,输出格式
|
将一种栅格数据格式转换为其他数据格式,支持的格式包括:BIL,BIP, BMP, BSQ,CRF, GIF, ENVI DAT, GRID, IMAGINE, JP2000, JPEG, MRF, PNG, TIFF
|
|
|
|
|
|
|
|
|
|
|