Spatial

茫茫宇宙,寻觅星辰

Metashape简单拼接生成正射影像

问题 农业作物采样时,使用RGB相机拍摄了多张照片,需要拼接为一副图片 思路 使用Metashape 步骤 本文使用了试用版(30天免费),长期使用请购买正版 1、设置 Tools-Preferences中设置GPU勾选 2、基本步骤 对齐照片—> 建立密集点云—> 生成DEM —> build orthomsaic—> export orthomsaic ...

Tansat XCO2数据的读取与转换

问题 马来西亚的合作伙伴咨询说CASA提供的Tansat XCO2数据无法正常读取和转换,我尝试写了一段代码读取国家对地观测科学数据中心网站上发布的V2版本的逐日数据,验证CASA的数据没有问题。 思路 读取Tansat XCO2的nc文件 获取 经纬度和XCO2浓度,然后转换为shp点数据,输出。 有的nc文件直接用arcgis的Make NetCDF Raster Layer功能就可以...

Cesium地形切片的存储方案

问题 Cesium需要加载本地的切片和地形数据,这些切片和地形数据具有文件小、数量多的特点,迁移特别麻烦。 思路 利用SQLite存储数据,并以HTTP服务的形式共享数据文件。 本文分享了来自gitlab的解决方案,详见引用文献 。 方案未经生产环境测试 步骤 我没有看源码,直接下载了引用文献中的Server-win-x64和WinUI-win32-x64。 启动Server-win-...

UE模型切图中间数据生成及环境配置

问题 根据生成的四个中间数据生成exr数据,在本地配置UEwater环境加载这些数据 思路 Python代码+文件 具体步骤 1 安装环境 Python 3.9.18 Anaconda可以直接安装numpy库,但是cv库需要使用pip安装,在anaconda虚拟库中右键,打开命令行运行以下命令。 pip install opencv-python 2 修改代码 在sc_exr c...

利用Sentinel2 L2A数据提取水体

问题 江河湖泊中的水体提取 思路 哨兵2数据从时空分辨率、易获取性方面均有优势,选择该数据的另一个原因是在github上找到了相关能用的算法和代码。 文章 代码 这个github用户还有一些数据下载以及水相关的算法代码,比如:Sentinel1 flood finder、GEES2Downloader、WaterDetect algorithm for the Microsoft Pla...

Rstudio环境下安装极端气候指数计算软件RClimDex

问题 在Windows和Rstudio环境下安装极端气候指数计算软件RClimDex 思路 按照官方2018年文档的说明,RClimDex依赖的R包包括climdex.pcic(Version 1.1-6) 和PCICt (Version0.5-4)。实际上在安装过程中还需要’caTools’和 ‘Rcpp’ 两个包,这两个包需要在climdex.pcic前安装。 步骤 运行环境:RSt...

Python 处理NOAA气象数据

问题 将NOAA中国区域的气象数据下载下来存入PostgreSQL 思路 根据NOAA全球气象数据按天记录数据的网页解析html,获得每个文件的文件名称,再加上url的前缀,组成下载链接,下载文件并解压缩。创建PostgreSQL数据表,并设置相关主键,将解压缩获得的csv文件中的中国站点数据插入到数据表中,并根据站点的经纬度数据反查所在的省市县。 步骤 运行环境:Python 3.6....

DEM数据局部更新思路

问题 地形中使用DEM数据叠加DOM底图时,如果DEM有问题,就会出现意想不到的效果,尤其是水面。 思路 把异常的需要修正的区域用多边形画出来,裁剪原来的DEM,修正这些DEM后,再将数据合并,形成新的DEM。 具体步骤 1、绘制多边形,画在河道上。 2、使用Clip工具对DEM进行裁剪 建议输出的时候选择对齐数据 ,方法参见引用文献1 3、DEM数据修改 使用 ...

GIS常见操作

ArcGIS 多层 标注 使用下一行的代码可以实现图片中的效果 “"+ [水深] +"” + vbnewline +”"+ [水位] +"”+ vbnewline+ [单元编号] UE 安装 Python 环境:3.9.x 使用这种方法安装,不能直接使用Anaconda中的opencv库,否则会显示dll加载过程中有问题 pip install opencv-python

长水面数据局部更新思路

问题 不同时期的河流水面宽度不同,不同来源的影像纠正后位置偏离也不同,长水面矢量数据可能不会和底图完全匹配,但如果差别特别大,则需要更新。 思路 蒋总写代码cellclip.py前已经将数据区域划分为0.1°*0.1°的小方格,然后根据小方格内的三角形切片生成一个单独的文件,如果哪个网格内的数据出现问题,则重新勾画该网格及接边格区域内的一小块河道(保证新旧河道平滑过渡)即可。然后将这...