区块链技术博客
www.b2bchain.cn

QGIS实用技巧(二):获取高程求职学习资料

本文介绍了QGIS实用技巧(二):获取高程求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

  • 前言
  • 坐标说明
  • 坐标转换
  • 加载高程文件

前言

QGIS 上如何获取高程数据呢?可以通过载入高程 tif 数据进行获取。本文将对此进行详细说明。

至于如何得到高程数据,可以在网上自行下载或者查找相关下载教程,本文不做赘述。

再往下看时,已经假设各位已经有高程数据文件。

坐标说明

对于常用 GPS 坐标系来说,用的是 EPSG:4326 (WGS84) 坐标系,而高程数据用的是 EPSG:3857 (Pseudo-Mercator) 坐标系。

所以如果下载的高程数据不是 EPSG:3857 坐标系,可以通过 qgis 应用,将高程数据转换后,导出成 EPSG:3857 坐标系数据。

具体操作如下图所示:
QGIS实用技巧(二):获取高程

QGIS实用技巧(二):获取高程

QGIS实用技巧(二):获取高程

坐标转换

要获取高程,则需要将 EPSG:4326 坐标转换成 EPSG:3857 坐标,然后再去读取高程。转换代码如下:

QPointF to3857(const QPointF&pt) {     static QgsCoordinateTransform ct(QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem::EpsgCrsId),          QgsCoordinateReferenceSystem(3857, QgsCoordinateReferenceSystem::EpsgCrsId), QgsProject::instance()->transformContext());      QgsPointXY mapPoint = pt;     try     {         mapPoint = ct.transform(mapPoint);     }     catch (QgsException &e)     {         Q_UNUSED(e)         qDebug() << QStringLiteral("Caught exception %1").arg(e.what());         return QPointF();     }     return QPointF(mapPoint.x(), mapPoint.y()); }

加载高程文件

QGIS 加载高程文件是通过 QgsRasterLayer 类,因为是高程数据,数据驱动用 “gdal”,对应的代码如下:

QgsRasterLayer* loadFile(const QString&fileName)

  • 前言
  • 坐标说明
  • 坐标转换
  • 加载高程文件

前言

QGIS 上如何获取高程数据呢?可以通过载入高程 tif 数据进行获取。本文将对此进行详细说明。

至于如何得到高程数据,可以在网上自行下载或者查找相关下载教程,本文不做赘述。

再往下看时,已经假设各位已经有高程数据文件。

坐标说明

对于常用 GPS 坐标系来说,用的是 EPSG:4326 (WGS84) 坐标系,而高程数据用的是 EPSG:3857 (Pseudo-Mercator) 坐标系。

所以如果下载的高程数据不是 EPSG:3857 坐标系,可以通过 qgis 应用,将高程数据转换后,导出成 EPSG:3857 坐标系数据。

具体操作如下图所示:
QGIS实用技巧(二):获取高程

QGIS实用技巧(二):获取高程

QGIS实用技巧(二):获取高程

坐标转换

要获取高程,则需要将 EPSG:4326 坐标转换成 EPSG:3857 坐标,然后再去读取高程。转换代码如下:

QPointF to3857(const QPointF&pt) {     static QgsCoordinateTransform ct(QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem::EpsgCrsId),          QgsCoordinateReferenceSystem(3857, QgsCoordinateReferenceSystem::EpsgCrsId), QgsProject::instance()->transformContext());      QgsPointXY mapPoint = pt;     try     {         mapPoint = ct.transform(mapPoint);     }     catch (QgsException &e)     {         Q_UNUSED(e)         qDebug() << QStringLiteral("Caught exception %1").arg(e.what());         return QPointF();     }     return QPointF(mapPoint.x(), mapPoint.y()); }

加载高程文件

QGIS 加载高程文件是通过 QgsRasterLayer 类,因为是高程数据,数据驱动用 “gdal”,对应的代码如下:

QgsRasterLayer* loadFile(const QString&fileName)

  • 前言
  • 坐标说明
  • 坐标转换
  • 加载高程文件

前言

QGIS 上如何获取高程数据呢?可以通过载入高程 tif 数据进行获取。本文将对此进行详细说明。

至于如何得到高程数据,可以在网上自行下载或者查找相关下载教程,本文不做赘述。

再往下看时,已经假设各位已经有高程数据文件。

坐标说明

对于常用 GPS 坐标系来说,用的是 EPSG:4326 (WGS84) 坐标系,而高程数据用的是 EPSG:3857 (Pseudo-Mercator) 坐标系。

所以如果下载的高程数据不是 EPSG:3857 坐标系,可以通过 qgis 应用,将高程数据转换后,导出成 EPSG:3857 坐标系数据。

具体操作如下图所示:
QGIS实用技巧(二):获取高程

QGIS实用技巧(二):获取高程

QGIS实用技巧(二):获取高程

坐标转换

要获取高程,则需要将 EPSG:4326 坐标转换成 EPSG:3857 坐标,然后再去读取高程。转换代码如下:

QPointF to3857(const QPointF&pt) {     static QgsCoordinateTransform ct(QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem::EpsgCrsId),          QgsCoordinateReferenceSystem(3857, QgsCoordinateReferenceSystem::EpsgCrsId), QgsProject::instance()->transformContext());      QgsPointXY mapPoint = pt;     try     {         mapPoint = ct.transform(mapPoint);     }     catch (QgsException &e)     {         Q_UNUSED(e)         qDebug() << QStringLiteral("Caught exception %1").arg(e.what());         return QPointF();     }     return QPointF(mapPoint.x(), mapPoint.y()); }

加载高程文件

QGIS 加载高程文件是通过 QgsRasterLayer 类,因为是高程数据,数据驱动用 “gdal”,对应的代码如下:

QgsRasterLayer* loadFile(const QString&fileName)

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » QGIS实用技巧(二):获取高程求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们