利用Geotools来转换影像的坐标系_geotools支持4490转4326嘛-程序员宅基地

技术标签: Geotools  开源WebGIS  

背景

若有一幅航拍的原始影像,需要自动产品化,那就必须要在后端进行坐标系的统一转换,这时用到开源的Geotools就很简单了。

处理

使用Operations类下的resample方法(重采样)可以解决这个问题,它的方法定义如下:

 Coverage org.geotools.coverage.processing.Operations.resample(Coverage source, CoordinateReferenceSystem crs) throws CoverageProcessingException

所以我们可以利用它实现栅格影像的坐标变换,例如下面代码将xxxx.tif的坐标系转换为3857坐标系。

File file = new File("xxxx.tif");
        	if(file.exists()){
	        	Reader br = new Reader();
	        	GridCoverage2D old2D = br.getGridCoverage2D(file);
	        	final CoordinateReferenceSystem WGS = CRS.decode("EPSG:3857");
	    		final CoordinateReferenceSystem sourceCRS = old2D.getCoordinateReferenceSystem();
	    		System.out.println(String.format("源坐标系为: %s", sourceCRS.getName()));
	    		GridCoverage2D new2D = (GridCoverage2D) Operations.DEFAULT.resample(old2D, WGS);
	        	System.err.println(String.format("目标坐标系为: %s", new2D.getCoordinateReferenceSystem().getName()));	
        	}

控制台打印结果如下:

源坐标系为: EPSG:WGS 84 / UTM zone 48N
目标坐标系为: EPSG:WGS 84 / Pseudo-Mercator

可见resample方法切实有效。

Tips

若涉及到4326坐标系的转换,要注意坐标轴的顺序是不固定的,需要限制顺序,否则很多后续工作会出乱子,参考Axis Order

//resample参数修改
Hints hints = new Hints(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.TRUE);
CRSAuthorityFactory factory = ReferencingFactoryFinder.getCRSAuthorityFactory("EPSG", hints);
CoordinateReferenceSystem crs = factory.createCoordinateReferenceSystem("EPSG:4326");
Operations.DEFAULT.resample(xxx,crs);


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013323965/article/details/79453383

智能推荐

java正则表达式练习题目_java正则表达式习题-程序员宅基地

文章浏览阅读813次。目录使用方法练习使用方法简单使用 String str="35987.75";//要匹配的字符串 String pattern="\\d"; boolean matches = Pattern.matches(pattern, str); System.out.println(matches);较多使用 String str="35987.75";//要匹配的字符串 String pattern="\\d"; P_java正则表达式习题

VideoView视频开发_videoview 报mediaplayer.media_error_unsupported-程序员宅基地

文章浏览阅读565次。Android自带了一个VideoView,用来播放视频和网络视频,它是继承SurfaceView使用MediaPlayer来做播放的类通过VideoView播放视频的步骤: 1、在界面布局文件中定义VideoView组件,或在程序中创建VideoView组件 2、调用VideoView的如下两个方法来加载指定的视频 setVidePath(String path):加_videoview 报mediaplayer.media_error_unsupported

Linux中nginx如何重启、启动与停止/设置开机自启动_linux nginx启动命令和停止命令-程序员宅基地

文章浏览阅读5.6k次。一、启动/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf。方法二:查找当前nginx进程号,然后输入命令:kill -HUP 进程号 实现重启nginx服务。(1)方法一:进入nginx安装目录sbin下,输入命令./nginx -s reload 即可。(2)杀死进程: kill -term xxxx/ kill -int xxxx。(1)方法一:进入nginx安装目录sbin下,输入命令./nginx -t。_linux nginx启动命令和停止命令

mysql报错处理: could not be resolved: getnameinfo() returned error (code: -3)-程序员宅基地

文章浏览阅读231次。[文章作者:狂奔的鹿 本文版本:v1.0 转载请注明原文链接:http://dynamiclu.iteye.com/] 近期, 用mysqld_multi开了几个mysql实例,mysql版本5.5.8; 然后授权:GRANT ALL PRIVILEGES ON *.* TO 'lsl'@192.168.0.1 IDENTIFIED BY 'lusonglin' WITH GR..._/mysqld getnameinfo faile

c语言 字符串 格式化_c语言格式化字符串-程序员宅基地

文章浏览阅读2.9k次。wu_c语言格式化字符串

200个linux常用命令自学手册(附下载链接)_linux常用命令自学手册pdf-程序员宅基地

文章浏览阅读285次。汇总了200个Linux常用命令_linux常用命令自学手册pdf

随便推点

c 语言的虚函数,C 中的虚函数(virtual function)-程序员宅基地

文章浏览阅读4.3k次。一.简介虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class Father{public:virtual void foo() { cout << "Father::foo() is called"<< endl;}};class Sun: public Father{public:vi..._c语言虚函数

C#上位机源代码,采集西门子200smart温度数据并显示波形曲线_c#西门子smart-程序员宅基地

文章浏览阅读1k次。C#上位机源代码,采集西门子200smart温度数据并显示波形曲线,温度到达上限值或下限值进行报警提示。采集的数据每天生成一个excel报表,全套源代码。_c#西门子smart

网络损伤仪HoloWAN推出最新功能:Pixel--快速定位损伤报文_holowan 1200背景流量设置-程序员宅基地

文章浏览阅读264次。前言:HoloWAN 推出的最新抓包分析工具 Pixel 由 HoloWAN 团队自主研发,已获得国家专利。侵权必究!使用网络损伤仪对应用程序进行测试从事网络行业的人都了解网络质量对于应用程序性能的影响是非常大的。为了使应用程序可以完美地运行在质量较差的网络中,越来越多的网络厂家选择使用广域网仿真仪器对应用程序进行测试。为了帮助测试人员直观地了解报文的损伤情况,广域网仿真仪大多带有实时展示流量损伤情况的工具。以 HoloWAN 为例,HoloWAN 的主界面设置有数据列表。在列表上可._holowan 1200背景流量设置

模型部署——RKNN模型量化精度分析及混合量化提高精度_if set do_quantization = true-程序员宅基地

文章浏览阅读508次,点赞4次,收藏8次。3.1 量化精度分析流程计算不同情况下,同一层网络输入值的余弦距离,来近似的查看每一层精度损失的情况。具体量化精度分析的流程如下:3.2 量化精度分析accuracy_analysis接口量化精度分析调用accuracy_analysis接口,推理并产生快照,也就是dump出每一层的tensor数据。会dump出包括fp32和quant两种数据类型的快照,用于计算量化误差。该接口使用的量化方式与config_中指定的一致。_if set do_quantization = true

汽车整车EMC检测-程序员宅基地

文章浏览阅读512次,点赞15次,收藏6次。摘要:RE辐射、CE传导、BCI大电流注入,ESD静电、ISO7637瞬态脉冲干扰等EMC测试、EMC整改,一站式服务,双C报告

docker安装PHP5.6 提示 does not have a Release file_docker php5.6-程序员宅基地

文章浏览阅读276次。docker安装PHP5.6_docker php5.6