根据经纬度获取海拔高度

1、准备 安装python包

apt-get update

apt-get install -y python3-gdal

pip install gdal

pip install pyproj

2、下载高程tif数据

全国各省12.5m高程数据-免费下载-资源下载-数字地球开放平台

注册下,下载他的网盘下载工具,然后选取要使用的区域下载。我下载的宁夏的。

3、python代码 

以下的代码是专门针对以上的高程数据写的代码。不同的高程数据可能需要不同的投影计算方法。

使用Pyproj库进行投影转换:

        通过pyproj.Proj方法,确认源投影(EPSG:4326)和目标投影(EPSG:32648)。

        将输入的经纬度数据从WGS 84转换为UTM 48N坐标系统。

import gdal
import osr
from pyproj import Proj, transform

def print_geo_transform_info(transform):
    print(f"Geotransform:")
    print(f"  Origin: ({transform[0]}, {transform[3]})")
    print(f
要通过经纬度获取海拔高度,可以使用地理信息系统(GIS)数据或者第三方的地理位置服务提供商的API。 一种常用的方式是使用高程数据集,该数据集包含了地球表面上每个点的海拔高度信息。你可以下载或者购买这样的数据集,并在本地进行询。常见的高程数据集包括SRTM(Shuttle Radar Topography Mission)和ASTER GDEM(Advanced Spaceborne Thermal Emission and Reflection Radiometer Global Digital Elevation Model)。 另一种方式是使用第三方的地理位置服务提供商的API,例如Google Maps API、Bing Maps API或者OpenStreetMap API。这些API通常提供了通过经纬度获取海拔高度的功能。你可以调用相应的API,传入经纬度参数,获取返回的海拔高度数据。 以下是使用Google Maps API获取经纬度海拔高度的示例代码(需要引入相关的依赖): ```java import com.google.maps.ElevationApi; import com.google.maps.GeoApiContext; import com.google.maps.model.ElevationResult; import com.google.maps.model.LatLng; public class Main { public static void main(String[] args) { // 设置Google Maps API密钥 GeoApiContext context = new GeoApiContext.Builder() .apiKey("YOUR_API_KEY") .build(); // 设置经纬度 LatLng location = new LatLng(40.712776, -74.005974); // 纽约市的经纬度 try { // 调用Elevation API获取海拔高度 ElevationResult[] results = ElevationApi.getByPoints(context, location).await(); if (results.length > 0) { double elevation = results[0].elevation; System.out.println("海拔高度: " + elevation + " 米"); } } catch (Exception e) { e.printStackTrace(); } } } ``` 上述代码中,我们使用了Google Maps API来获取纽约市的经纬度对应的海拔高度。需要将"YOUR_API_KEY"替换为你自己的Google Maps API密钥。 需要注意的是,不同的地理位置服务提供商可能会有不同的使用方式和限制条件,具体使用方法请参考对应的文档和API文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值