「java读取dem」java读取的文件忽略换行符

博主:adminadmin 2022-11-28 10:00:10 40

本篇文章给大家谈谈java读取dem,以及java读取的文件忽略换行符对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

dem用什么软件打开

DEM是在日常应用中经常用到的数据,做填挖方分析、三维场景展示、影像图的正射校正、水文分析等等。由于项目或者工程我们需要买一些DEM,其中*.dem是最常见到的DEM的格式,*.dem有两种格式,NSDTF和USGS。

如果是USGS格式的DEM,就很好办了。通过ArcGIS可以直接读取。USGS-DEM(USGS是美国地质调查局(U.S.Geological Survey)的英文缩写,是一种公开格式的DEM数据格式标准,使用范围较广格式的。在ArcGIS中的ArcToolBox中的“转换工具”---“转到栅格”----“DEM转到栅格”工具直接将USGS格式的DEM转为栅格DEM。

DEM地形操作(geotools方式与nga方式)

由于项目中需要用到大范围tiff的图像(全中国30米分辨率的dem影像),并且需要单点获取高程,以及实现部分范围的dem裁切与获取趋于范围极值,当时在网上查找的部分,很多都不满足预期,或者计算结果与实际并不够契合,因此单独开一篇专门讲这块内容。

引入基础的依赖包,使用中间组件完成所需功能。

由于组件之间存在交互关系,因此将其全部放到一起。

由于接下去的操作都需要依赖同一份数据源,因此在最开始的时候,需要先封装关于数据源的相关操作。

通过获取gridCoverage2D 的的投影信息,加载投影并使用经纬度进行计算位置点高程

总体来说,整个的实现流程基本上可以概括为[引入依赖]-[加载数据源]-[业务数据读取]。读取DEM的高程流程相对简单,获取范围内的高程极值操作也不复杂,主要是需要算出范围对应的格网,以及获取每个格网像元的高程值;较为复杂的是DEM的图像导出,由于使用geotools导出的dem图像存在一定的偏移与投影问题,导致其他平台软件无法正常读取dem的一些属性信息,因此在操作上,先使用geotools自定义的导出,先输出一份DEM,再使用正常平台导出的dem文件,通过读取它的属性信息,赋值给空的dem影像,再将像元的高程值写入,最后输出成一份符合规范的dem。此操作较为繁琐,但基础满足功能所需,此为抛砖引玉,如有更好的办法实现,望诸位不吝赐教,将感激不尽!

java dem4j系统找不到指定路径

如果你的java和javac运行都没问题的话,那就证明你的path变量配置的没有问题。

你说的找不到指定路径是找不到编译出来的.class文件吧,那就是你的classpath变量没有配置好。

数字高程模型DEM有什么好的软件可以读取?

ARCGIS就能满足你的需求。可以用3D analyst工具将离散高程点或者等高线生成DEM数据,然后用ARCSCENE生成三维模型。具体的方法你可以去百度一下。

java如何获取任意一个点的海拔

由于大部分地图API不提供海拔这一参数,所以海拔要单独计算。

搭建好基于Java的GDAL运行环境和相关的配置

参数 坐标点 以及 需要读取的高程数据(底图)

package com.chinalbs.qhxm.util;

import org.gdal.gdal.Band;

import org.gdal.gdal.Dataset;

import org.gdal.gdal.Driver;

import org.gdal.gdal.gdal;

import org.gdal.gdalconst.gdalconstConstants;

public class AltitudeUtil {undefined

public static void main(String[] args){undefined

//参数经纬度(小数形式)

Integer selectAltitude = SelectAltitude(100.3445, 37.003);

System.out.println(“海拔是:”+selectAltitude+“米”);

}

public static Integer SelectAltitude (double lon,double lat){undefined

//海拔

Integer altitude =0;

//支持所有驱动

gdal.AllRegister();

//要读取的文件,经纬度不可超过查询地图的范围,否则结果为null

//海拔读取为DEM高程数据

String fileName_tif = “C:/Users/Tysheng/Desktop/海北州高程数据/HAIBEIZHOU_DEM.TIF”;

//只读方式读取数据

Dataset hDataset = gdal.Open(fileName_tif, gdalconstConstants.GA_ReadOnly);

//支持中文路径

gdal.SetConfigOption(“gdal_FILENAME_IS_UTF8”, “YES”);

//判断是否非空

if (hDataset == null)

{undefined

System.err.println("GDALOpen failed - " + gdal.GetLastErrorNo());

System.err.println(gdal.GetLastErrorMsg());

System.exit(1);

}

//图像的列和行

Driver hDriver = hDataset.GetDriver();

int iXSize = hDataset.getRasterXSize();

int iYSize = hDataset.getRasterYSize();

Band band = hDataset.GetRasterBand(1);

int buf[] = new int[iXSize];

//循环遍历取出像元值

for(int i=0; iiYSize; i++){undefined

}

关于java读取dem和java读取的文件忽略换行符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。