读研的时候,研究方法跟modis是不搭边的。工作后也没机会去使用modis。
modis的数据格式是hdf。
hdf文件和nc文件非常像,而我对nc格式的文件算是比较熟悉。
这么多年下来,我确实是没处理过modis。
modis的数据处理是不难的。
昨天看到一个留言说,怎么将modis影像保存为tif格式。
所以,今天的主题就是,讲解怎么将modis影像保存为tif格式。
代码#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/10/12 19:22
# @File : hdf2tif.py
'''
modis 数据 由hdf格式转换为tif格式
'''
from osgeo import gdal
import os
import glob
# gdal打开hdf数据集
def modishdf2tif(inpath, outpath = None):
os.chdir(inpath)
file_list = glob.glob("*.hdf")
for i in file_li ...
写代码有几年了,平常我的主力语言是python。总体来说,python相对于其他语言可以说是很简单。很多事情和python是一样的,入门容易,精通难。
为什么我经常使用python,原因在于Python 是地理信息系统(GIS)和遥感领域的热门编程语言。Python 的强大之处在于它拥有丰富的库,这些库不仅让处理大量的空间数据变得更加简单,还能帮助我们进行复杂的地理数据分析和可视化展示。无论是处理卫星影像,还是做地理空间数据的计算,Python 都提供了适合新手和专业人士使用的工具。
本文探讨了我本人使用处理 GIS 和遥感数据的一些 Python 库。
GIS 和遥感领域的顶级 Python 库1. GDAL/OGR
GDAL是几乎所有地理空间软件的支柱和重要组成部分。很多的gis软件在底层都使用gadl来处理数据,不限于arcgis、google earth等。
GDAL 支持读取、写入和转换栅格数据格式。而OGR 可处理矢量格式。
提一嘴,以前我在安装gdal的时候,一般是先下载whl文件,然后在本地安装。
后面使用linux多了,安装gdal的流程也发生了改变。
现在是无论是 ...
pyinstaller打包含有folium模块,运行错误的解决方法 在用pyinstaller打包folium模块的程序后,运行出现一堆错误代码。解决办法参照
基本思路是修改python库site-packages内对应文件里的环境变量
\folium\folium.py
\folium\raster_layers.py
\branca\element.py
#ENV = Environment(loader=PackageLoader('folium', 'templates'))
import os, sys
from jinja2 import FileSystemLoader
if getattr(sys, 'frozen', False):
# we are running in a bundle
templatedir = sys._MEIPASS
else:
# we are running in a normal Python environment
templatedir = os.path.dirname(os.path ...
OGR Python 学习教程大纲
引言
什么是OGR?OGR是一个用于处理矢量数据的库,是GDAL(地理数据抽象库)的一部分。它支持多种矢量数据格式,如Shapefile、GeoJSON和KML等,可以进行读取、写入和转换等操作。OGR使得在Python中处理空间数据变得更加方便和高效。
OGR在GIS中的应用
OGR在GIS中的应用非常广泛,主要包括以下几个方面:
数据导入与导出:能够读取和写入多种格式的空间数据,使得不同数据源之间的转换变得简单。例如,将Shapefile转换为GeoJSON,或将KML导出为Shapefile。
数据处理:可以对矢量数据进行操作,如剪切、合并、缓冲区分析等,帮助用户进行空间分析。
数据查询:支持属性查询和空间查询,用户可以根据特定条件筛选和检索数据,方便数据分析和可视化。
坐标转换:支持坐标系统的转换,用户可以在不同的坐标参考系之间进行数据转换,以确保数据的准确性。
自动化与批处理:可以使用Python脚本自动化处理大量的空间数据,提高工作效率,适用于数据预处理和分析工作流。
环境设置
安装GDAL库
安装GDAL库可以通过以下几种方法 ...
最近买了一台云服务器,这是我目前买的第三台云服务器。我习惯用ubuntu系统,所以就安装了ubuntu22.4版本。现在记录一下怎么在linux下安装python。
因为我买的是轻量型服务器,自己私下玩一下linux
ubuntu安装miniconda步骤 1: 下载Miniconda安装脚本wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
步骤 2: 安装Miniconda一旦下载完成,就可以开始安装Miniconda了:
bash Miniconda3-latest-Linux-x86_64.sh
步骤 3: 配置环境变量source ~/.bashrc
如果安装成功,可以通过运行以下命令来验证:
conda --version
安装一些常用的库比如numpy、pillow、gdal
conda install numpy pillow gdal
验证一下是否安装成功
在以前我在学习监督分类的时候,使用过这个功能。即输入行列号,获取遥感影像的对应位置的数值。
往往在写和遥感相关的代码时,我优先考虑使用python的gdal库去完成,而不是rasterio。这个是是个人的习惯。
rasterio很优秀,它是基于gdal库进行编写、扩张的python库,在安装完rasterio后,我们可以直接去学它的源码,它的源码结构很清晰,比较容易去理解,不过这是另一件事情了,我们还是把目光转向今天的主题:通过行列号获取遥感影像的具体位置的数值
现在使用单波段的遥感影像作为示例,讲一讲如何实现这个功能。
只需要十行代码即可。对于可以扩展的功能,一般会写成一个类而不是一个函数。
from osgeo import gdal
class GetImageXY:
def __init__(self, image_path):
self.image_path = image_path
self.read_image()
def read_image(self):
"""
read image an ...
小型连续剧之程序员喜欢说的几句话:
1、啊,在我环境没问题的呀
2、咋复现的?我这咋没问题呢?
3、这个我们没法验、能稳定复现吗
4、他们接口的问题
5、这是前端的问题,去找前端
6、这是后端的问题,去找后端(5和6主打就是一个甩锅)
7、不应该啊(需要配合挠头的动作)
8、咦,我这边是好的呀,奇怪了
9、我这明明可以,为什么到你就不行了
10、怎么又不行了
11、不可能是我的问题,不应该啊?怎么会这样,我找找原因。哦,我知道了!
12、抓个日志分析下
13、重启试试——> 咦!?
14、这个是,网络环境不好造成的
15、找一下李工(赵工、王工)
16、这个的需求是什么?
17、《用的什么浏览器》
18、有日志吗,能复现吗,不对啊,这里没改过啊
19、这个场景不存在
20、刚刚还能跑起来的
21、这个后期再优化吧
22、先写死
欢迎在评论区补充。
介绍从十年的注册测绘师提炼出与GIS相关的知识点,总结以上内容,方便复习,尽量合并知识点,归纳为地图投影与GIS、地形图与航空摄影测量、地图投影与GIS、地籍管理、界线测绘与房产测量、其他知识点
知识点地形图与航空摄影测量
在地形图绘制时,如果基本等高距不足以描述地貌特征,则应添加间曲线。
按照现行规范,数字地形图产品标记内容的顺序为“产品名称、分类代码、分幅编号、使用标准号”。
在基于胶片的航测内业数字化生产过程中,内定向的目标是实现扫描仪坐标到像片坐标的转换。
在解析法相对定向中,一个像对的相对定向元素共有5个。
为了减小城市地区航摄像片上的地物投影差,应选择长焦距摄影机。
航测法成图的外业主要工作是获取地面控制点坐标。
机载GPS用于测定外方位线元素的初值。
在目前技术水平下,DLG(数字线划图)生产的自动化水平相对较低。
多源遥感影像融合的优点是可以充分利用各种传感器影像的特点。
地物点间距中误差:
地籍图上相邻地物点间距中误差不得大于图上 ±0.4 mm。
航向重叠度:
对 18cm × 18cm 像片进行建模时,如要求航向重叠度为 60%,则该像对的基线长度为 ...
大家中秋节快乐!
介绍半年前写过破损shp文件修复的内容,当时写了一个简陋的小工具。
现在重新讲讲这方面的内容,这篇文章也主要围绕以下两个方面进行展开:
1、当时是怎么实现破损shp文件修复
2、现在怎么把这个功能集成到rstool软件
shp文件修复流程说到shp文件夹修复,必然要讲讲这个问题是怎么出现的。
记得某一天,我在愉快的使用着arcgis,正在编辑图斑,由于不可抗力软件闪退了,导致shp文件的图形数量和dbf的属性表数量对不上。
shp的图形是保存在内存里,你画完了一个图形,电脑把这个点位数据自动地保存在.shp文件中,但是属性表需要手动地去完成保存。
如果在你未及时保存文件前,电脑重启了或者arcgis软件大退,就会把整个shp文件打碎,最后把这个矢量文件拖拽到arcgis,显示无法打开。
好了,理解清楚了这个问题的原因,解决思路就很清晰了。
1.修改.shp,使它的图形数量和dbf的属性表个数保持一致。
2.修改.dbf,使它的属性表个数和.shp的图形数量保持一致。
当时选择的方式是第二条,以下是shp修复的流程图
以下代码,是上面的流程的实现(当时为了外国人也看得 ...