当前位置: 首页 > news >正文

[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的坐标系字符串来获得:

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

相关文章:

  • GVIM基础教程——vimscript编程初步(一)
  • 腾讯云Ubuntu18.04配置深度学习环境
  • ts 类型学习
  • 如何快速看懂英文论文?
  • 一文带你看透手机号码归属地
  • 《uni-app》一个非canvas的飞机对战小游戏实现-requestAnimationFrame详解
  • 基于人脸识别的情绪社区(Python+Django+Mysql+Keras,tensorflow)
  • 牛客网经典Java面试常见题
  • 如何选择最适合自己的地图软件
  • 【DDR3 控制器设计】(3)DDR3 的写操作设计
  • 拦截器的运行流程分析(项目源码寻踪)
  • 如何让不给听得歌乖乖听话?python教你如何做...
  • 【微服务40】分布式事务Seata源码解析八:AT模式下本地事务的执行流程
  • 面试汇总(一)
  • 分布式任务调度XXL-JOB-第二章-SpringBoot集成XXL-JOB
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 《深入 React 技术栈》
  • CSS 三角实现
  • FastReport在线报表设计器工作原理
  • JavaScript实现分页效果
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Laravel Telescope:优雅的应用调试工具
  • MQ框架的比较
  • October CMS - 快速入门 9 Images And Galleries
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 动态魔术使用DBMS_SQL
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 前端性能优化——回流与重绘
  • 深度学习入门:10门免费线上课程推荐
  • 深入 Nginx 之配置篇
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #git 撤消对文件的更改
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #Ubuntu(修改root信息)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1) caustics\
  • (7)STL算法之交换赋值
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (二)windows配置JDK环境
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (离散数学)逻辑连接词
  • (十六)Flask之蓝图
  • (转)Android学习笔记 --- android任务栈和启动模式
  • .FileZilla的使用和主动模式被动模式介绍
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET BackgroundWorker
  • .NET DataGridView数据绑定说明
  • .NET 分布式技术比较