4
\ begingroup美元

嗨我需要为每个纬度和经度值的Alt值!然而,我从Geotiff提取这些值有问题,不知道这个数据是公开在Excel或CSV文件格式?不幸的是我还没有找到任何我自己!

我的数据:https://wetransfer.com/downloads/8e5ba7aa4cd8c406068a60543b353b0420220622084939/d3c744对于那些知道Python:

进口numpy np matplotlib进口。pyplot从netCDF4 plt导入数据集熊猫作为pd导入数据=数据集(“C: /用户/奥利弗weis /桌面/本科/程序/ Daten / Daten / ETOPO1_Bed_g_gdal.grd”、“r”)打印(data.variables.keys ()) lon_range =数据。变量[' x_range '] [:] lat_range =数据。变量[' y_range '] [:] topo_range =数据。变量[' z_range '][:]间距=数据。变量=[“间距”][:]维度数据。变量(“维度”][:]z =数据。变量[' z '] [:] lon_num维度[0]= lat_num =维度[1]朗= np.linspace (lon_range [0], lon_range[1],维度[0])lat = np.linspace (lat_range [0], lat_range[1],维度[1])威尼斯平底渔船= np。重塑(z (lat_num lon_num)分= pd。数据Frame({ 'Latitude': lat.reshape(-1), 'Longitude': lon.reshape(-1), 'Altitude': topo.reshape(-1) }) print(dfl)

来源:ETOPO1区域选择(在python中)

这是我写的代码到目前为止,也许会有人在那里找到一个缺陷

\ endgroup美元
1
  • \ begingroup美元 评论是不长讨论;这个对话搬到聊天 \ endgroup美元
    - - - - - -gerrit
    2022年6月24日在8:04

1回答1

4
\ begingroup美元

所以我希望我终于明白你的问题是,这给你的高度信息特定的纬度经度值从csv数据。

进口numpy netCDF4导入数据集进口matplotlib np。pyplot plt csv_data = np.loadtxt (1994 _12_o18grid.csv skiprows = 1,分隔符= " ")num_el = csv_data [: 0] lat = csv_data(: 1)朗= csv_data[: 2]价值= csv_data [: 3] data =数据集(“ETOPO1_Bed_g_gdal.grd”、“r”) lon_range =数据。变量[' x_range '] [:] lat_range =数据。变量[' y_range '] [:] topo_range =数据。变量[' z_range '][:]间距=数据。变量=[“间距”][:]维度数据。变量(“维度”][:]z =数据。变量[' z '] [:] lon_num维度[0]= lat_num =维度[1]etopo_lon = np.linspace (lon_range [0], lon_range[1],维度[0])etopo_lat = np.linspace (lat_range [0], lat_range[1],维度[1])威尼斯平底渔船= np。重塑(z (lat_num lon_num)高度= np.empty_like (num_el)我的范围(len (num_el)): #在这个循环,我们寻找特定的纬度和经度值高度值从csv desired_lat_idx = np。abs (etopo_lat lat[我]).argmin () desired_lon_idx = np。abs (etopo_lon -朗[我]).argmin[我]=()高度威尼斯平底渔船(desired_lat_idx desired_lon_idx] plt.figure()高度(高度< 0)= 0 #如果你想无视值低于0 plt.imshow (np.reshape(高度,(180360)))#如果你csv数据变更的决议从1度不同的东西你需要机会重塑中的值。为简单起见我硬编码的数字。

寻找高水平不是有效的但是我没有时间去做适当的numpy风格的解决方案。

\ endgroup美元
6
  • \ begingroup美元 我将会有一个详细的看看它!但它看起来非常有前途的!非常感谢你的时间和耐心地回答我! \ endgroup美元
    - - - - - -维斯
    2022年6月22日12:08
  • 1
    \ begingroup美元 欢迎你,也许作为一个未来的建议尝试更好的制定你的问题和问题。然后人们可以帮助你更快:) \ endgroup美元
    - - - - - -smichel
    2022年6月22日12:13
  • 1
    \ begingroup美元 好的我会这样做!您可能会注意到,我的新编码和仍然需要一些帮助:-) \ endgroup美元
    - - - - - -维斯
    2022年6月22日12:14
  • \ begingroup美元 是的,不用担心。每个人都开始。 \ endgroup美元
    - - - - - -smichel
    2022年6月22日需要
  • \ begingroup美元 嗨@smichel恐怕我不太了解等和我仍然想问我如何提取数据从这个图,我有这样的一个表:长/ lat /值(CSV) /高度?如果还不清楚,我将更详细地再次问这个问题在一个新的问题。 \ endgroup美元
    - - - - - -维斯
    2022年6月23日10:08

你的答案

通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则

不是你要找的答案?浏览其他问题标记问你自己的问题