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

天津做一个简单的网站品牌的宣传及推广

天津做一个简单的网站,品牌的宣传及推广,佛山著名网站建设公司,聊城住房和城乡建设厅网站目录 前言 一、DEM地形数据介绍 1、DEM数据简介 2、DEM应用领域 3、QGIS中读取DEM数据 二、GeoTools解析地形 1、Maven中依赖引用 2、获取数据基本信息 三、总结 前言 随着全球数字化进程的加速,各类地理空间数据呈爆炸式增长,DEM 数据作为其中的…

目录

前言

一、DEM地形数据介绍

1、DEM数据简介

2、DEM应用领域

3、QGIS中读取DEM数据

二、GeoTools解析地形

1、Maven中依赖引用

2、获取数据基本信息

三、总结


前言

        随着全球数字化进程的加速,各类地理空间数据呈爆炸式增长,DEM 数据作为其中的核心组成部分,其数据量也在不断攀升。从卫星遥感获取的全球范围 DEM 数据,到针对特定区域高精度测绘所产生的 DEM 数据,这些海量的数据蕴含着丰富的地形信息等待我们去挖掘和利用。然而,如何高效、准确地读取这些 DEM 数据,将其转化为可进行进一步分析和可视化的形式,成为了 GIS 开发者和研究人员面临的一项重要任务。

       在地理信息系统(GIS)领域,数字高程模型(DEM)数据承载着关于地球表面地形起伏的关键信息,对于地形分析、水文模拟、城市规划以及众多与空间地理相关的研究和应用都有着不可替代的重要作用。而 Geotools 作为一个强大的、开源的 Java GIS 工具库,为开发者们提供了便捷且高效的操作地理空间数据的方式,其中就包括对 DEM 地形数据的读取与处理。Geotools 凭借其丰富的功能模块和良好的社区支持,在 GIS 开发领域备受青睐。它提供了对多种地理数据格式的读写支持,包括常见的 DEM 格式,如 GeoTIFF 等。通过使用 Geotools,开发者能够以简洁的代码实现对 DEM 数据的访问,无需深入了解底层复杂的数据存储结构和读取机制,大大降低了开发难度和时间成本。在实战过程中,我们将深入了解 Geotools 中与 DEM 数据读取相关的类和方法,例如如何利用 CoverageReader 来读取 DEM 数据文件,如何获取 DEM 数据的地理参考信息、高程值等关键数据内容,以及如何对读取到的数据进行初步的处理和转换,为后续的地形分析应用做好准备。

        本文将开启一场使用 Geotools 读取 DEM 地形数据的实战之旅,深入探索这一过程中的技术要点、实践技巧以及可能遇到的挑战与解决方案。这场实战之旅不仅是一次技术的探索,更是一次对 GIS 数据处理流程的深刻理解过程,掌握使用 Geotools 读取 DEM 地形数据的技能具有重要的现实意义。无论是在科研领域,为环境变化研究、自然灾害预测等提供数据支持;还是在商业领域,助力城市规划、工程建设、资源勘探等项目的顺利开展,这一技能都将成为我们手中有力的工具。让我们一同踏上这场使用 Geotools 读取 DEM 地形数据的实战征程,开启地理空间数据处理的精彩篇章。

一、DEM地形数据介绍

        本节将对DEM地形数据进行简单介绍,主要介绍Dem数据的概念,结构以及使用QGIS来读取DEM数据的基本信息。

1、DEM数据简介

        数字高程模型(DEM)是地球表面地形地貌的数字化表达方式,它以数值形式精确地记录了地表每个点的高程信息,在地理信息系统(GIS)、测绘、水利、交通、环境科学等诸多领域都有着极为广泛且关键的应用。

        数据结构与形式:DEM 数据主要有规则格网和不规则三角网(TIN)两种常见结构。规则格网 DEM 将地表划分为大小相等的正方形网格,每个网格单元对应一个高程值,这种结构简单、易于处理和可视化,适用于大面积、相对平坦或规则地形的表示;而不规则三角网 DEM 则是根据地形特征点(如山脊线、山谷线、陡坡等处的点)通过构建三角形来逼近地表形态,它能更灵活、精确地描述复杂地形,尤其在地形变化剧烈的区域,如山区、峡谷等地,能有效减少数据冗余,提高数据精度。获取 DEM 数据的途径多样。航空摄影测量是一种传统且有效的方法,通过在飞机上搭载航空相机对地面进行拍摄,利用立体像对和摄影测量原理,解算出地面点的三维坐标,进而生成 DEM 数据。卫星遥感也是重要的数据来源,如今高分辨率卫星影像层出不穷,通过对卫星影像进行几何校正、辐射校正以及立体匹配等处理,可快速获取大面积的 DEM 数据,像 SRTM( Shuttle Radar Topography Mission)数据就是利用卫星雷达技术获取的全球范围高精度 DEM 数据,在全球地形研究中广泛应用。

2、DEM应用领域

        在 GIS 领域,DEM 数据是进行地形分析的基础,如计算坡度、坡向、地形起伏度等基本地形因子,这些地形因子在土地利用规划、生态环境评估、自然灾害预测等方面有着重要应用。在水利水电工程中,DEM 数据用于水库淹没分析、流域水文模拟、河道演变研究等,为水利工程设计和水资源管理提供关键依据。在交通规划方面,DEM 数据可辅助进行道路选线、桥梁隧道选址等,通过分析地形对交通线路建设的影响,优化交通网络布局,降低工程建设成本和风险。在环境科学中,DEM 数据有助于研究地形对气候、植被分布、土壤侵蚀等环境要素的影响,为生态环境保护和修复提供科学支撑。总之,DEM 数据作为一种重要的空间信息数据,在现代社会的众多领域发挥着不可或缺的作用,随着技术的不断进步,其应用范围和深度还将不断拓展。

3、QGIS中读取DEM数据

        本小节将重点介绍如何使用QGIS来展示DEM数据以及查看DEM数据的基本信息,比如空间参考,高度和宽度,波段信息。实例使用的DEM数据来源于互联网。本次使用的DEM数据为湖南省30米精度地形数据。使用QGIS打开下载好的DEM数据,加载后如下所示:

        第二步,为了让地形有一些变化,我们设置DEM的样式,右键属性,点击符号化。在下面的界面中调整,如下所示:

        这里的渲染类型,我们使用山体阴影模式。 同时勾选色相,就是加上色彩信息,色彩浓度设置在100%。其它的参数保持不变,接下来点击“apply”将当前样式进行应用。经过我们的样式美化后的效果如下:

        可以局部放大地形数据后,可以看到如下的效果,这种效果看起来就已经开始有山体的棱角等信息了。

        使用信息查看工具来进行数据识别,可以看到当前坐标点的坐标和波段信息值,如下图所示:

        到此,使用QGIS来查看Dem地形数据就已经完成,接下来看一下在Qgis中查看基本的数据信息。依然在属性窗口中,点击“信息” tab页,可以看到以下信息:

序号参数名
1名称    湖南省_DEM_30m分辨率_NASA数据
2路径C:\BaiduDownload\湖南省_DEM_30m分辨率_NASA数据.tif
3坐标参照系(CRS)EPSG:4326 - WGS 84 - 地理的
4范围108.7862500000000097,24.6429166666666717 : 114.2570833333333411,30.1290277777777753
5单位
6宽度19695
7高度19750
8数据类型Int16 - 16位有符号整型
9GDAL驱动GeoTIFF
10波段1STATISTICS_MAXIMUM=2095
STATISTICS_MEAN=355.64031618431
STATISTICS_MINIMUM=-35
STATISTICS_STDDEV=297.91063586873
STATISTICS_VALID_PERCENT=64.56
11维度横坐标:19695 纵坐标:19750 波段:1
12起点108.786,30.129
13像素大小0.0002777777777777773439,-0.0002777777777777773439

        以上就是使用QGIS来读取的一些关于DEM的基本信息。下一节我们将使用GeoTools组件来进行相应参数的获取。

二、GeoTools解析地形

        本节将使用重点介绍如何使用GeoTools来对DEM数据进行解析。包括在Maven中定义相关的依赖。以及如何使用GeoTools获取数据的基本信息两个方面来进行说明。

1、Maven中依赖引用

本文使用的Dem数据是tif格式的,在Geotools中要想实现tif格式的数据解析,首先要在Maven配置中引入相应的依赖,这里直接给出pom.xml的关键性信息:

<!-- 增加geotools 引用 begin --><dependency><groupId>org.geotools</groupId><artifactId>gt-shapefile</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-swing</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-main</artifactId><version>${geotools.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.geotools.xsd/gt-xsd-sld --><dependency><groupId>org.geotools.xsd</groupId><artifactId>gt-xsd-sld</artifactId><version>${geotools.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.geotools.xsd/gt-xsd-core --><dependency><groupId>org.geotools.xsd</groupId><artifactId>gt-xsd-core</artifactId><version>${geotools.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.geotools/gt-xml --><dependency><groupId>org.geotools</groupId><artifactId>gt-xml</artifactId><version>${geotools.version}</version></dependency><!--  增加epsg支持 --><dependency><groupId>org.geotools</groupId><artifactId>gt-epsg-hsql</artifactId><version>${geotools.version}</version></dependency> <!--  增加geojson支持 --><dependency><groupId>org.geotools</groupId><artifactId>gt-geojson</artifactId><version>${geotools.version}</version></dependency> <!--  增加gt-geotiff支持 --><dependency><groupId>org.geotools</groupId><artifactId>gt-geotiff</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-process-raster</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-process</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-coverage</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-swing</artifactId><version>${geotools.version}</version></dependency>
<!-- 增加geotools 引用 end -->

        请注意,本文使用的jdk版本是jdk1.8,对应的Geotools的版本是28.2。如果您的相关环境是更高的版本,可以根据不同的版本选择适配的geotools。 

2、获取数据基本信息

        要想获取Dem数据的基本信息,首先需要来读取dem数据,在geotools中,读取dem的类是GeoTiffReader,使用GeoTiffReader将tif读取之后,转成GridCoverage2D,然后从GridCoverage2D对象就能获取我们需要的基本信息。关键代码如下:

@Test
public void ReadHunanDem() {try {// DEM 文件路径File demFile = new File("C:/BaiduDownload/湖南省_DEM_30m分辨率_NASA数据.tif");// 创建 GeoTiffReaderGeoTiffReader reader = new GeoTiffReader(demFile);// 读取 GridCoverage2DGridCoverage2D coverage = reader.read(null);printMetadata(coverage);// 关闭 readerreader.dispose();} catch (IOException | MismatchedDimensionException e) {e.printStackTrace();} catch (FactoryException e) {e.printStackTrace();} catch (TransformException e) {e.printStackTrace();}
}

        接下来看一下如何获取基本数据信息,代码如下:

private static void printMetadata(GridCoverage2D coverage) throws FactoryException, TransformException {// 获取坐标参考系统CoordinateReferenceSystem crs = coverage.getCoordinateReferenceSystem2D();System.out.println("Coordinate Reference System: " + crs.getName().toString());// 获取数据范围Envelope2D envelope = coverage.getEnvelope2D();System.out.println("Envelope: " + envelope);// 获取影像宽度和高度int width = coverage.getRenderedImage().getWidth();int height = coverage.getRenderedImage().getHeight();System.out.println("Width: " + width + ", Height: " + height);// 获取数据类型int dataType = coverage.getRenderedImage().getSampleModel().getDataType();System.out.println("Data Type: " + dataType);GridGeometry2D gridGeometry = coverage.getGridGeometry();System.out.println(gridGeometry);// 获取图斑名称//String[] names = coverage.getGridGeometry().getGridSetName();//System.out.println("Grid Set Name: " + names[0]);// 获取样本维度名称int numSampleDimensions = coverage.getNumSampleDimensions();String[] sampleDimensionNames = new String[numSampleDimensions];for (int i = 0; i < numSampleDimensions; i++) {sampleDimensionNames[i] = coverage.getSampleDimension(i).getDescription().toString();}System.out.println("Sample Dimension Names: " + String.join(", ", sampleDimensionNames));}

        最后来看一下最终的输出结果,可以读取的信息如下:

        当然这里仅表示geotools可以用来进行数据的读取,没有读取所有的数据,基本可以看包括外包框和空间参考以及宽度和高度的基本信息都时可以通过geotools来进行获取的。 跟着本教程,您也可以实现对DEM数据的读取,为下一步的应用做进一步的分析使用。

三、总结

        以上就是本文的主要内容,本文将开启一场使用 Geotools 读取 DEM 地形数据的实战之旅,深入探索这一过程中的技术要点、实践技巧以及可能遇到的挑战与解决方案。这场实战之旅不仅是一次技术的探索,更是一次对 GIS 数据处理流程的深刻理解过程,掌握使用 Geotools 读取 DEM 地形数据的技能具有重要的现实意义。无论是在科研领域,为环境变化研究、自然灾害预测等提供数据支持;还是在商业领域,助力城市规划、工程建设、资源勘探等项目的顺利开展,这一技能都将成为我们手中有力的工具。行文仓促,难免有许多不足之处,如有不足,在此恳请各位专家博主在评论区不吝留言指出,不胜感激。

http://www.qdjiajiao.com/news/9533.html

相关文章:

  • 哪有那样的网站seo课程培训课程
  • 利用万网做网站智慧营销系统平台
  • 俄文网站seo常用的工具
  • 牛b插网站建设seo关键词推广方式
  • 做网站的公司经营范围福州网站seo优化公司
  • 定制网站设计高端网站建设拓客app下载
  • 做的网站图片模糊企业网站设计优化公司
  • 网站建设公司郑州如何自己创建网站
  • 参考文献 教学网站建设头条搜索站长平台
  • 北京做网站youyi51怎样在百度上推广
  • 自己做网站怎么推广近两年成功的网络营销案例
  • 通辽做网站建设网站排名优化培训电话
  • 网站接入地seo的基础优化
  • 厦门建设局公维金网站关键词挖掘工具站
  • 药企做网站需要哪些手续如何在百度搜索排名靠前
  • 四川省乐山市建设银行网站百度指数使用方法
  • 有没有做废品的网站媒体资源网官网
  • 猎头公司怎么找客户九江seo
  • 官方网站建设有限公司广州专业网络推广公司
  • 成都网站建设scyiyou网站建设技术解决方案
  • 临海网站设计百度seo工具
  • 网站想做个链接怎么做的精准客户信息一条多少钱
  • 公司做两个网站有影响吗网络营销属于哪个专业
  • 做电力的系统集成公司网站外贸营销型网站建设公司
  • 响应式网站 图片尺寸奇数免费涨粉工具
  • 做网站值钱吗2023引流软件
  • 微信网站搭建品牌营销策划公司排名
  • 大连做网站公司2024年最新一轮阳性症状
  • table网站重构怎么做网站百度收录批量查询
  • 肇庆 网站建设 域联搜索排名