Python提取ICESat-2/ATL08并可视化

01 引言:

Python Geopandas轻松读取txt点数据进行矢量化并保存为shp格式,相较于gdal ogr相对更加便捷。现记录在此分享给更多有需要的同学。

02 txt数据如下:

03 代码如下:

# -*- encoding: utf-8 -*-
'''
@File    :   read shp.py
@Time    :   2022/06/15 20:07:34
@Author  :   HMX
@Version :   1.0
@Contact :   kzdhb8023@163.com
'''# here put the import lib
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
from  cartopy.mpl.ticker import LatitudeFormatter,LongitudeFormatter
import timedef txt2shp(txtpath,shppath,lon,lat):    df = pd.read_csv(txtpath,header=0)print(df)gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df[lon], df[lat]),crs = "EPSG:4326")ds = gpd.read_file(r'E:\Project\CHINA\shp\cnshp\china.shp')clipgdf = gpd.clip(gdf,ds)clipgdf.to_file(shppath)returnif __name__ == '__main__':t1 = time.time()txtpath = r'D:\公众号\ATL08_V5.txt'shppath = r'D:\公众号\NO.22\ATL08out.shp'txt2shp(txtpath,shppath,'lon','lat')t2 = time.time()print('共计用时:{:.2f}s'.format(t2-t1))

04 读取可视化:

import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
from  cartopy.mpl.ticker import LatitudeFormatter,LongitudeFormatter
from cnmaps import get_adm_maps
import numpy as np
import timet1 = time.time()
shppath = r'D:\公众号\NO.22\ATL08out.shp'
gdf = gpd.read_file(shppath)
print(gdf)
proj = ccrs.PlateCarree()
fig,ax = plt.subplots(figsize=(4,3),subplot_kw={'projection':proj})
region = [71, 137, 1, 56]
ax.set_extent(region, crs=proj)
china, sourth_sea = get_adm_maps(level='国', only_polygon=True)
ax.add_geometries(china, crs=ccrs.PlateCarree(), edgecolor='k', facecolor='none')
ax.add_geometries(sourth_sea, crs=ccrs.PlateCarree(), edgecolor='k')
ax.add_feature(cfeature.COASTLINE.with_scale('10m'))
# ax.stock_img()
ax.imshow(plt.imread(r'E:\Project\World\HYP_LR_SR_OB_DR\HYP_LR_SR_OB_DR.tif'), origin='upper', transform=ccrs.PlateCarree(), extent=[-180, 180, -90, 90])
ax.set_xticks(np.arange(region[0],region[1]+1,22), crs = proj)
ax.set_yticks(np.arange(region[2],region[3]+1,11), crs = proj)
ax.xaxis.set_major_formatter(LongitudeFormatter())
ax.yaxis.set_major_formatter(LatitudeFormatter())
ax.minorticks_on()
ax.scatter(gdf.lon,gdf.lat,c = gdf.h_mean_can, s = 1)
plt.tight_layout()
plt.savefig('txt2shp.png',dpi = 600)
plt.show()
t2 = time.time()
print('共计用时:{:.2f}s'.format(t2-t1))

05 可视化如下:

06 gis读取:

利用Arcgis pro 软件打开写好的shp,可以发现所有字段均写入成功,也可成功读取。

​如果对你有帮助的话,请‘点赞’、‘收藏’,‘关注’,你们的支持是我更新的动力。
欢迎关注公众号【森气笔记】。

Python调用Geopandas包矢量化txt点数据为shp数据相关推荐

  1. 【AI选股】如何通过python调用wencai包实现AI选股(小白也能学会)

    如何通过python调用wencai包实现AI选股 前言 一.wencai问财如何实现AI选股? 1.实用基础篇(wencai选股函数与使用方法) 2.进阶发挥篇(附可转债数据处理演示) 3.数据分析 ...

  2. Python借助jieba包对中文txt文档去停用词、分词

    Python借助jieba包对中文txt文档去停用词.分词` import jieba# 创建停用词list def stopwordslist(filepath):stopwords = [line ...

  3. python使用statsmodels包中的tsa.acf函数计算时间序列数据所有滞后位置个数(级别)的自相关性(autocorrelation for every lag)

    python使用statsmodels包中的tsa.acf函数计算时间序列数据所有滞后位置个数(级别)的自相关性(autocorrelation for every lag) 目录

  4. python使用statsmodels包中的tsa.acf函数计算时间序列数据所有滞后位置个数(级别)的自相关性、tsaplots函数可视化时间序列数据所有滞后位置个数(级别)的自相关性

    python使用statsmodels包中的tsa.acf函数计算时间序列数据所有滞后位置个数(级别)的自相关性.tsaplots函数可视化时间序列数据所有滞后位置个数࿰

  5. Python调用Jar包的两种方式

    概览 因工作场景,需要在python代码里调用Jar包来实现一些功能,调研下来主要有两种方式: java -jar xx.jar JPype 环境配置 因为要在公司内网操作,所以需要通过离线方式进行安 ...

  6. python调用pymssql包操作SqlServer数据库

      之前的文章介绍了python抓取网页数据并将数据保存到本地excel文件,后续可以将数据保存到数据库(SqlServer.mysql等)中,本文学习python中操作SqlServer数据库的基本 ...

  7. Python生成依赖包文件requirements.txt并下载安装

    Python查看安装的包 pip list Python生成requirements.txt pip freeze > requirements.txt Python下载requirements ...

  8. python把文字矢量化_这个python函数可以被矢量化吗?

    我一直在研究这个函数,它生成了我正在开发的模拟代码所需的一些参数,并且已经在增强其性能方面遇到了障碍. 对代码进行分析表明,这是主要的瓶颈,因此我可以对其进行的任何增强都会很小. 我想尝试对这个函数的 ...

  9. python调用jar包的模块_使用 Python 的 JPype 模块调用 Jar 包

    背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接口时需要依赖Python:而大多数公司的扩展工具包使 ...

最新文章

  1. dubbo学习之dubbo管理控制台装配及集成zookeeper集群部署(1)【转】
  2. 解决VS命令提示符 “Setting environment for using Microsoft Visual Studio. 此时不应有“系列错误
  3. hutool 取前12个月_Excel – 创建 12 个月的工资表模板,我只要 20 秒
  4. html5播放器占用带宽情况,分享|用 bmon 查看网络带宽使用情况
  5. Typora + PicGo + Aliyun OSS + CSDN
  6. 寄存器(CPU工作原理)07 - 零基础入门学习汇编语言12
  7. 索菲对讲机写频软件_万能对讲机写频软件
  8. 易语言打开c 程序,易语言调用word 易语言按钮打开一个word文档
  9. Windos 前后端项目的部署
  10. 【论文阅读】Blur Calibration for Depth from Defocus
  11. 在ListView中实现button功能
  12. 138+134 新手寻星,三分钟搞定,呵呵,我明天才!!
  13. 电大计算机专业毕业自我鉴定,电大计算机毕业生自我鉴定.doc
  14. 日常吐槽系列~背锅篇
  15. [leetcode javascript]周赛155:5197. 最小绝对差(没有做完
  16. 解析:366API如何解决微信扫描二维码无法下载APK 的问题
  17. ue5 lyra探索分析2 持续更新中
  18. python自己做电子词典_利用PyQt5制作电子词典
  19. HDMI转MIPICSI,东芝转换芯片,TC358743XBG/TC358749XBG
  20. POI实现excel的导入和导出

热门文章

  1. 大厂面试机器学习算法(0):特征工程 | 数据预处理
  2. 请求分页置换算法——先进先出算法(FIFO)
  3. 操作系统之虚拟存储管理 java python 实现 最优(Optimal)置换算法 先进先出(FIFO)页面置换算法 LRU(Least Recently Used)置换算法
  4. netty之微信-Netty 是什么?(三)
  5. 蓝桥杯 BASIC-3 字母图形 c++实现
  6. C语言计算1000以内(含1000)既能被3整除也能被7整除的自然数的个数n
  7. Html table添加空行
  8. php调用会员刷卡,dedecms模板中调用会员信息标签的方法
  9. teamviewer15安装不了_各位大佬,帮忙看下为什么老提示安装失败
  10. python实现常用的相似度计算方法