Geotools与OGC(二)----WKT坐标系信息的读取

2023-10-30

WKT除了有针对几何信息的描述外,也有针对空间参考的描述,以下我直接套用OGC规范中的描述(https://www.osgeo.cn/doc_ogcstd/ogc_standard/ch02_chapter1/chapter.html#wkb):

对于一个地理坐标系,比如最常见的 WGS84 坐标系统,WKT 描述是这样的:

GEOGCS
[
"GCS_WGS_1984",
DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433],
AUTHORITY["EPSG",4326]
]

“GEOGCS”表明其后紧随的“[ ]”中描述的是一个地理坐标系统。该坐标系统名称为“GCS_WGS_1984”;采用的大地基准面为“D_WGS_1984”,该基准面近似椭球体的长轴为 6378137.0 米、扁率为 298.257223563;以格林威治 0 度经线为起始经线;地图单位为度,该单位的转换因子为 0.0174532925199433(π/180);最后,该坐标系统在EPSG5 中的编码为“4326”。对于一个投影坐标系,比如 WGS84 Web Mercator(Auxiliary Sphere)坐标系统,WKT 描述是这样的:

PROJCS
[
"WGS_1984_Web_Mercator_Auxiliary_Sphere",
GEOGCS
[
"GCS_WGS_1984",
DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]
],
PROJECTION["Mercator_Auxiliary_Sphere"],
PARAMETER["False_Easting",0.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",0.0],
PARAMETER["Standard_Parallel_1",0.0],
PARAMETER["Auxiliary_Sphere_Type",0.0],
UNIT["Meter",1.0],
AUTHORITY["EPSG",3857]
]

在geotools中读取WKT格式的坐标可以采用如下方法:

	String GCS_WGS_1984 = "GEOGCS\r\n" + 
				"[\r\n" + 
				"\"GCS_WGS_1984\",\r\n" + 
				"DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],\r\n" + 
				"PRIMEM[\"Greenwich\",0.0],\r\n" + 
				"UNIT[\"Degree\",0.0174532925199433],\r\n" + 
				"AUTHORITY[\"EPSG\",4326]\r\n" + 
				"]";
		CoordinateReferenceSystem crsTarget = CRS.parseWKT(GCS_WGS_1984);
		System.out.println(crsTarget.toWKT());

对于投影转换,可以采用如下方法:

//找到坐标系的WKT文本
String CGCS_2000 = "GEOGCS[\"GCS_China_Geodetic_Coordinate_System_2000\",DATUM[\"D_China_2000\",SPHEROID[\"CGCS2000\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]]"; 

String CGCS_Z36 = "PROJCS[\"CGCS2000_3_degree_Gauss_Kruger_zone_36\",GEOGCS[\"GCS_China Geodetic Coordinate System 2000\",DATUM[\"D_China_2000\",SPHEROID[\"CGCS2000\",6378137,298.257222101]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\",0.017453292519943295]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\",108],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",36500000],PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1],AUTHORITY[\"EPSG\",\"4524\"]]";

//读取几何
String wktPoint = "POINT(102.23489 26.322)";
WKTReader wktReader = new WKTReader();
Point oldGeom = (Point) wktReader.read(wktPoint);

//读取WKT形式的坐标系
CoordinateReferenceSystem sourceCRS= CRS.parseWKT(CGCS_2000 );
CoordinateReferenceSystem targetCRS= CRS.parseWKT(CGCS_Z36 );

//构建两个坐标系的数学转换
MathTransform transform = CRS.findMathTransform(sourceCRS,targetCRS);
//对几何要素进行坐标转换
Geometry newGeom = JTS.transform(oldGeom, transform);

分享一个查询坐标系WKT文本的网址:http://epsg.io/   该网址可根据epsg编码查询对应坐标系的各种表述形式。坐标转换在使用过程中是有很多注意事项,根据后续文章的推进在一一展开。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Geotools与OGC(二)----WKT坐标系信息的读取 的相关文章

  • valid-palindrome

    题目描述 Given a string determine if it is a palindrome considering only alphanumeric characters and ignoring cases For exam
  • Python使用HTTP代理 Proxy

    urllib2 urllib 代理设置 urllib2是Python标准库 功能很强大 只是使用起来稍微麻烦一点 在Python 3中 urllib2不再保留 迁移到了urllib模块中 urllib2中通过ProxyHandler来设置使
  • 一文搞懂linux磁盘管理以及各场景扩容需求(实操)

    Linux常见磁盘分类 在linux上面 我们经常见到sda sdb hda hdb这样的磁盘显示 sd hd表示硬盘 sd表示硬盘是scsi接口 a表示第一块插槽盘 b表示第二块插槽盘 hd表示硬盘是IDE接口 同理a表示第一块插槽盘 b

随机推荐

  • Linux下.ko, .o, .so, .a, .la文件

    能上线啦 CSDN博客第二期云计算最佳博主评选 Linux下 ko o so a la文件 分类 Linux 系列 2011 12 12 23 30 2669人阅读 评论 0 收藏 举报 linux gcc makefile library
  • 微信分享审请AppID、AppSecret注意问题

    微信 审请AppID AppSecret http open weixin qq com 账号 qq com 密码 步骤 1 填写应用名称 简介相应信息 上传图片 2 填写平台信息 官网 平台类型 下载地址 应用签名 应用包名 3 提交信息
  • 面向对象是什么?

    一 面向对象是什么面向对象 Object Oriented OO 的思想对软件开发相当重要 它的概念和应用甚至已超越了程序设计和软件开发 扩展到如数据库系统 交互式界面 应用结构 应用平台 分布式系统 网络管理结构 CAD 技术 人工智能等
  • 一致性hash算法原理及golang实现

    概述 这里存在一种场景 当一个缓存服务由多个服务器组共同提供时 key应该路由到哪一个服务 这里假如采用最通用的方式key N N为服务器数目 这里乍一看没什么问题 但是当服务器数目发送增加或减少时 分配方式则变为key N 1 或key
  • Sentinel 熔断与限流

    文章目录 1 是什么 2 特征 3 特性 4 与Hystrix的区别 5 两个部分 6 应用 6 1 依赖 6 2 配置文件 7 流量配置规则 7 1 直接 默认 7 2 关联 7 3 Warm Up 预热 7 4 排队等待 8 熔断降级
  • 第一个Java程序,简单的打开图片并显示在面板上

    代码如下 1 import java awt Component 2 import java awt EventQueue 3 import java awt Graphics 4 import java awt event 5 impor
  • Linux (Ubuntu、CentOS) 如何 [禁用/启用] 图形界面

    Linux Ubuntu CentOS 如何 禁用 启用 图形界面 禁用图形界面本质就是调整 linux 的运行级别 runlevel PS 这里不讨论 GUI Desktop 的安装与卸载 一 什么是 Linux 运行级别 linux 操
  • Git删除本地修改

    git如何删除本地所有未提交的更改 git checkout git clean xdf 一般 git clean都是配合git reset 使用的 如果你有的修改已经加入了暂存区 那么 命令git reset hardgit clean
  • 事务(Transaction)

    事务 Transaction 事务 是数据库中的可以保证多个 至少2个 写操作 增 删 改 要么全部执行成功 要么全部执行失败的机制 在基于Spring JDBC的项目中 使用 Transactional注解 即可使得注解的方法是事务性的
  • 电脑加了内存条后,C盘空间突然被占用的解决办法!!!

    Hello everyone 我是鲁班 一个热衷于科研和软开的胖子 问题描述 WIN10电脑 自行加了8G内存条后 C盘空间显示减少了4G 解决方法 右键 此电脑 点击 属性 跳转至此界面 点击 高级系统设置 选择 高级 卡片 点击 性能
  • 备忘命令

    sudo vpnc connect
  • Python数据分析-绘图-2-Seaborn进阶绘图-3-分布图

    一 kdeplot 核密度估计用来估计未知的密度函数 是非参数检验之一 直观上来看是平滑后的直方图 核密度估计方法不利用有关数据分布的先验知识 对数据分布不附加任何假定 是一种从数据样本本身出发研究数据分布特征的方法 因而 在统计学理论和应
  • 节节高升 蓝桥杯模拟

    问题描述 小蓝要上一个楼梯 共 15 级台阶 小蓝每步可以上 1 级台阶 也可以上 2 级 3 级或 4 级 再多就没办法一步走到了 每级台阶上有一个数值 可能正也可能负 每次走到一级台阶上 小蓝的得分就加上这级台阶上的数 值 台阶上的数值
  • Java获得当前日期是星期几

    第一种方法 获取当前日期是星期几 br param date return 当前日期是星期几 public String getWeekOfDate Date date String weekDays 星期日 星期一 星期二 星期三 星期四
  • Antd Design Mobile tab去除下方蓝色边框和对tab里面的sticky布局的影响

    前言 最近在写手机端的项目 技术栈是 react Antd Desin Mobile 有个页面需要使用antd的组价tabs 然后遇到了tab下方有俩蓝色边框 一大一小 小的在上 大的在下 下方是表格 表格使用sticky布局 布局失效 百
  • Ubuntu19.04环境下的系统安装+花屏问题的解决

    说在前面 本文只做自我总结用 因为一次次重装环境到处找博客看帖实在是太麻烦了 而且网上的博客还良莠不齐 还有好多版本不兼容 本文中的某些图片是截图 某些是照片 在不能截图的情况下 图片比例可能会显示不正常 鼠标移到图片上单击放大查看就可以了
  • 区块链-技术简介

    1 什么是区块链 区块链技术是利用块链式数据结构来验证与存储数据 利用分布式节点共识算法来生成和更新数据 利用密码学的方式保证数据传输和访问的安全 利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式 简单
  • 复制CSDN的BLOG代码,去掉前面行号的方法

    我们如果从CSDN的BLOG复制代码 出现前面的行号 比如 1 文本没有缩写 2 Specify blanket rules for all elements 3 font size 12px 4 line height 160 5 fon
  • 关于java静态方法里只能调用静态变量的思考

    最近一段时间里面写了这样一个类 public class DBManager private static MySqliteHelper helper public static MySqliteHelper getHelper Conte
  • Geotools与OGC(二)----WKT坐标系信息的读取

    WKT除了有针对几何信息的描述外 也有针对空间参考的描述 以下我直接套用OGC规范中的描述 https www osgeo cn doc ogcstd ogc standard ch02 chapter1 chapter html wkb