Geotools系列说明之入门介绍与坐标系转换说明

news2024/7/6 19:26:44

Geotools介绍

借用官网的介绍
GeoTools is an open source Java library that provides tools for geospatial data
就是提供java处理地理空间的工具详细内容请参考官网

Geotools环境搭建

我们这里只讨论Geotools在Maven中和Idea的项目实战,至于Geotools的服务端请自行查阅官网
主要分为以下几步:

  1. Jdk支持
  2. maven引入
  3. 执行测试代码
    通过查阅官网我们可以很快速的进行项目搭建

在这里插入图片描述
在这里插入图片描述
按照官方文档的步骤进行搭建官方说明步骤

Geotools实战

  1. 坐标系的转换
    在我们进行经纬度运算的时候很自然的会遇到坐标转换的需求,下面是坐标系转换的示例:
   public static<T>  T transform(String wkt,int srcNo,int targetNo) {
        WKTReader wktReader = new WKTReader();
        //读取wkt为Geometry 几何对象
        Geometry oldGeometry;
        try {
            oldGeometry = wktReader.read(wkt);
            //获取CRS权威工厂
            CRSAuthorityFactory crsAuthorityFactory = CRS.getAuthorityFactory(true);
            //创建sourceCRS 4490 4326
            CoordinateReferenceSystem sourceCRS = crsAuthorityFactory.createCoordinateReferenceSystem("EPSG:"+srcNo);
            //创建targetCRS 3857
            CoordinateReferenceSystem targetCRS = crsAuthorityFactory.createCoordinateReferenceSystem("EPSG:"+targetNo);
            //获取MathTransform
            MathTransform mathTransform = CRS.findMathTransform(sourceCRS, targetCRS, true);
            //转换
            return (T)JTS.transform(oldGeometry, mathTransform);
        } catch (ParseException | FactoryException | TransformException e) {
            throw new RuntimeException(e);
        }


    }

上述代码通过wkt进行数据读取,设置原坐标系和目标坐标系完成转换,比如可以将4490的坐标系转成3857,或者4326的坐标系转成3857.
2 坐标系介绍
地理编码:

EPSG编码坐标系备注
4326WGS 84 1984地理坐标系统 最常用的
4490China Geodetic Coordinate System 2000中国2000
4214Beijing 1954北京坐标系
4610xian1980西安坐标系
4555New being

投影坐标系

EPSG编码坐标系备注
3857WGS 1984/Pseudo-Mercator(web墨卡托投影)坐标系投影
32650WGS 84/笛卡尔二维坐标系Between 114°E and 120°E

详情请查询EPSG官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1869775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Altium Designer软件下载安装「PCB设计软件」安装包资源获取

Altium Designer作为一款集成化的电子产品开发系统&#xff0c;它主要适用于Windows操作系统&#xff0c;为电子设计工程师们提供了一个高效、便捷的工作平台。 在Altium Designer中&#xff0c;原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出…

DVWA 靶场 File Inclusion 通关解析

前言 DVWA代表Damn Vulnerable Web Application&#xff0c;是一个用于学习和练习Web应用程序漏洞的开源漏洞应用程序。它被设计成一个易于安装和配置的漏洞应用程序&#xff0c;旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序漏洞。 DVWA提供了一系列的漏洞场…

KVB App:集运价格飙升:地缘风险下的投资新机遇

摘要 随着全球地缘政治局势的反复和海运需求的持续高企&#xff0c;集装箱运价在近期不断攀升&#xff0c;吸引了越来越多的投资者。摩根大通的最新报告指出&#xff0c;地缘风险加剧和航运市场需求旺盛使得即期运费可能继续走高。本文将深入分析当前集运市场的情况及其对投资者…

备份和还原

stai和dnta snat&#xff1a;源地址转换 内网---外网 内网ip转换成可以访问外网的ip 内网的多个主机可以使用一个有效的公网ip地址访问外部网络 DNAT&#xff1a;目的地址转发 外部用户&#xff0c;可以通过一个公网地址访问服务内部的私网服务。 私网的ip和公网ip做一个…

SQLite、MySQL、PostgreSQL 3个关系数据库之间优缺点对比

引言 关系数据模型以行和列的表格形式组织数据&#xff0c;在数据库管理工具中占主导地位。今天还有其他数据模型&#xff0c;包括NoSQL和NewSQL&#xff0c;但是关系数据库管理系统&#xff08;RDBMS&#xff09;仍然占主导地位用于存储和管理全球数据。 本文比较了三种实现最…

40岁学习java是否需要报班学习?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;应该不需要。各种公开免费的…

新能源行业必会基础知识-----电力市场概论笔记-----绪论

新能源行业知识体系-------主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/139946830 目录 1. 电力市场的定义2. 对传统电力系统理论的挑战 1. 电力市场的定义 1. 我国电力市场的进程 我国新一轮电力体制改革的5大亮点&…

摒弃反模式:使用Kotlin委托优化Android BaseActivity

摒弃反模式&#xff1a;使用Kotlin委托优化Android BaseActivity 在Android开发中&#xff0c;许多开发者习惯于创建名为“BaseActivity”或“BaseFragment”的基类&#xff0c;以便在所有Activity或Fragment中共享一些通用行为。这种方法乍一看似乎是个好主意&#xff0c;但实…

C语言实现KMP算法

#include<stdio.h> #include<string.h> #include<stdlib.h>void getNextArray(char * sub_str, int sub_str_length, int * next_array); int kmpSearch(char * sub_str, char * main_str);int main(void) {// 1 声明用于算法处理的字符串char origin_str[] …

整数智能与上海数据交易所携手,共筑数据要素市场新篇章

近期&#xff0c;整数智能荣获上海数据交易所“数据治理服务商”证书&#xff0c;正式加入上海数据交易所数商生态&#xff0c;成为上海数据交易所官方认证的数据治理服务商。 在数字经济的浪潮中&#xff0c;上海数据交易所一直扮演着引领者和推动者的角色。紧扣建设国家级…

CID引流电商:传统电商破局的新动力

摘要&#xff1a;CID引流电商为传统电商带来破局新机遇&#xff0c;通过跨平台引流、精准定位和高效转化&#xff0c;解决了流量获取难、成本高的问题&#xff0c;提升了销售业绩和市场竞争力。CID引流电商助力传统电商在激烈竞争中保持领先&#xff0c;推动行业持续发展。 随…

气象相关图表制作-字体图标、图片、折线的堆叠

开发工作中有个需要展示气温&#xff08;折线&#xff09;、天气&#xff08;图片&#xff09;、风羽&#xff08;字体图标&#xff09;的图表展示需求&#xff0c;之前用过highcharts的关于类似的chart&#xff0c;里面的风雨用的是自带的图片&#xff0c;但是现在要求风羽需要…

2024年Apache DolphinScheduler 社区开源之夏活动中选公示

各位社区伙伴们&#xff0c;经过严格的评审和筛选&#xff0c;我们非常高兴地向大家公布Apache DolphinScheduler 社区在本年度的开源之夏活动中&#xff0c;中选的学生和导师名单&#xff01; 序号项目名称中选学生导师1增加Raft注册插件胡世豪朱学通2k8s任务功能扩展戴明辰伏…

【原创工具】孔夫子旧书网店铺图书采集工具1.0

目录 1 概述2 演示效果2.1 图文2.2视频3 核心逻辑3.1 导出数据4 附件下载5 使用方式1 概述 爬取孔夫子旧书网的店铺图书信息(条码、书名、售价、定价),支持导出和调速(默认速度5条/s)、支持识别该店铺最新上架图书和总计图书数量,采集结果和官网排序一致,可以对比测试 2…

启动台出现agent app的解决方法~

启动台出现agent app的解决方法&#xff5e; 如果用了战网&#xff0c;Battle.net&#xff0c;在卸载后有一个agent app&#xff0c;启动台删除不掉&#xff0c;应用程序里面没有&#xff0c;怎么办呢&#xff1f; 解决方法&#xff1a;找到这个app所在位置&#xff0c;可以通…

STM32将外部SDRAM空间作为系统堆(Heap)空间

概述 stm32可以外扩很大的sram&#xff0c;常见外部sram的初始化函数一般是c语言写的&#xff0c;默认写在main函数里面。stm32初始化首先进入汇编代码startup_stm32f429xx.s&#xff0c;在汇编代码中Reset_Handler&#xff08;复位中断服务程序&#xff09;里面先调用了Syste…

ABAP开发:动态Open SQL编程案例介绍

动态Open SQL是Open SQL的扩展。它不是要求整个SQL语句都是动态指定的。通过熟悉的静态ABAP编码表达静态已知的部分&#xff0c;动态元素的部分通过动态标记指定。动态片段不明确包含在ABAP源代码中&#xff0c;而是源代码包含一个ABAP变量&#xff0c;用括号括起来作为占位符。…

Linux—进程与计划管理

目录 一、程序 二、进程 1、什么是进程 2、进程的特点 3、进程、线程、携程 3.1、进程 3.2、线程 3.3、携程 三、查看进程信息 1、ps -aux 2、ps -elf 3、top ​3.2、输出内容详解 3.2.1、输出第一部分解释 3.2.2、输出第二部分解释 4、pgrep 5、pstree 四、进…

从CVPR 2024看域适应、域泛化最新研究进展

域适应和域泛化一直以来都是各大顶会的热门研究方向。 域适应指&#xff1a;当我们在源域上训练的模型需要在目标域应用时&#xff0c;如果两域数据分布差异太大&#xff0c;模型性能就有可能降低。这时可以利用目标域的无标签数据&#xff0c;通过设计特定方法减小域间差异&a…

深入理解 Dubbo:分布式服务框架的核心原理与实践

目录 Dubbo 概述Dubbo 的架构Dubbo 的关键组件 服务提供者&#xff08;Provider&#xff09;服务消费者&#xff08;Consumer&#xff09;注册中心&#xff08;Registry&#xff09;监控中心&#xff08;Monitor&#xff09;调用链追踪&#xff08;Trace&#xff09; Dubbo 的…