[ArcPy百科]第三节: Geometry信息中的空间参考解析

Posted 虾神说D

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ArcPy百科]第三节: Geometry信息中的空间参考解析相关的知识,希望对你有一定的参考价值。

Geometry类型的数据库表达

geometry类型的字段里面(以后都用“shape字段”这个专用术语了),会记录如下内容:

  1. 空间数据的类型,如:点(Point)、线(Polyline)、面(Polygon)。

  2. 空间参考,一般记录坐标系,包括了如下内容:

    • srid:空间参考的ID,通常1-999999是标准编号,1000000以上是自定义编码。
    • description:描述信息
    • auth_name:编号定义所属单位名称
    • auth_srid:除自定义以外,都是与srid相同
    • falsex:假定原点的X坐标
    • falsey:假定原点的Y坐标
    • xyunits:单位(地图单位最小阈值除以这个常数为最小阈值)
    • falsez:假定原点的Z坐标
    • zunits:Z(高程)方向单位
    • falsem:测量值无效阈值
    • munits:M(测量)单位
    • xycluster_tol:XY容差
    • zcluster_tol:Z容差
    • mcluster_tol:M容差
    • object_flags:对象标识符(没啥作用)
    • srtext:空间参考字符串

来看一个SDE里面记录的WGS84(EPSG:4326)空间参考的具体信息:

在来对比看看WGS84 Web Mercator(EPSG:3857)的信息

  1. 空间坐标信息。

使用ArcPy 获取空间参考信息

arcpy有两种方式来获取空间参考信息:

  1. 通过Describe获取空间参考的信息

如下所示:

  1. 可以直接通过SpatialReference 类来(创建)获得空间参考

比如可以直接读取shapefile 文件组里面的Prj文件

  • Prj文件记录了这批数据的空间参考信息。

ArcPy中的SpatialReference 类说明

ArcPy中有一个专门空间参考的类,即:SpatialReference

前面说明了,可以通过这个类来读取Shapefile中的Prj文件来获取空间参考,而如果你知道坐标系的WKID,那也可以直接获得这个空间参考:

比如WGS 84的4326:

也比如投影坐标系的CGCS2000 3度带的117E坐标系的4548:

如果你知道名称也是可以的,例如Lambert的北半球坐标系:

  • 这个有点难度……因为名字真不好计

当然,你要厉害的话,还可以直接用wkt的坐标系字符串来获得:

看到这里,有同学可能会问了,谁能那么厉害把这套字符串写出来啊,这个有啥用捏? 答案当然是如果你要自定义坐标系的时候,就可以通过这套字符串来进行定义了。

以上是关于[ArcPy百科]第三节: Geometry信息中的空间参考解析的主要内容,如果未能解决你的问题,请参考以下文章

[ArcPy百科]第三节: Geometry信息中的空间参考解析

Arcpy中Geometry类与Array类转换的陷阱

[ArcPy百科]第二节:ArcPy与空间数据结构

[ArcPy百科]第二节:ArcPy与空间数据结构

[ArcPy百科]第二节:ArcPy与空间数据结构

[ArcPy百科]第二节:ArcPy与空间数据结构