介绍
2017年,google earth engine 横空出世,颠覆了传统的遥感数据处理全流程,以一种全新的方式对地理大数据进行分析。第一次接触GEE,会惊讶于它的处理速度,能快速的展示出一个大地区的可视化结果,这是ENVI\arcgis无法做到的。
不可否认,很多领域是国外的技术领先。很多原本国外领先的技术,会被我们复刻,甚至超越。遥感云计算也不例外,国内跟上了GEE的脚步。2020年,航天宏图自研的PIE-engine开始内测,给他们点个赞好吗?PIE-engine大致上对GEE进行复刻。
云处理,天生和地理大数据切合,利用大规模大批量的数据进行算法验证,有着诸多优点,但是缺点也明显,缺少计算资源,也导致了其无法服务于大众,至少是现在还不能(大众不会为了这个买单)。
2022年,阿里自研的AI Earth地球科学云平台,开始内测,地址在里:https://engine-aiearth.aliyun.com/#/。目前已上线Landsat 5/7/8/9、Sentinel-1/2、MODIS、ALOS DSM等公开数据集。简单的瞄了一眼他们的官方教程,使用notebook(py ...
地物分类的概念将所有图像像素自动分类为不同的类型。
地球表面的地物类型,包括人造表面、农业区、森林、(半)自然区、湿地、水体。指地表覆盖物,例如植被、人造构筑物、水、裸露的土壤等等。
遥感影像分类基本分为非监督分类与监督分类两种。二者区别是,就是字面意思,一种是不需要样本,一种是需要制作样本。近年来AI大热,CNN之类的方法归为监督分类,这个后续再细说。
遥感影像分类方法大类
非监督分类
没有训练的分类器,直接基于数据本身纯基于多光谱数据集中光谱特性分布的统计参数示例:Isodata聚类,K-Means聚类,随机森林等等
监督分类
使用样本训练,对分类器进行训练例如:最大似然,最小距离,k近邻,人工神经网络,支持向量机等等
前些年计算机视觉火热,遥感开始了另一个大方向:AI与遥感。其实有些研究内容是可以的,地物分类是其中之一。在计算机做的是普通图片的分类,譬如行人检测、猫狗分类等等,而遥感影像则是对地球表面存在的类型做分类。遥感数据与普通图片的区别是波段维数的增加,在数据类型上并无其他的区别。现在的算法很多都是开源的,怎么做的落地好才是研究的重点(轻量化),例如在汽车上你 ...
定标常数的获取利用定标场已知雷达截面积的角反射器和有源定标器确定定标常数。
K = |P^I-P_NG_{img2}|/\sigma_c \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1)其中:
P^I= I^2+Q^2对应有源定标器或角反射器在SAR复图像的功率,I和Q分别对应1A级复图像的实部和虚部
P_N:回波噪声功率;G_{img2}:噪声的成像处理增益;sigma_c:点目标RCS;K:定标常数高分三号卫星等效后向散射系数指标为:
1)分辨率1m~10m,成像边缘优于-19dB;
2)分辨率25m~500m,成像中心优于-25dB,成像边缘优于-21dB。
因此忽略噪声的影响,上式可简化为:
K = P^I/\sigma_c \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (2)将各个参数换成dB值,即
K_{dB} = 10log_{10}P^I-10log_{10}\sigma_c \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ...
今天需要在ENVI显示一景Landsat 9 影像,猛地发现竟然不能在envi直接打开,网上一搜大概是要下载插件,于是乎就打开俺以前写的基础代码,修修改改实现了Landsat 9影像的所有文件合成为一个波段。把原始的L2级的Landsat 9 数据解压后,文件结构如下:
全部代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2022/10/9 14:46
# @File : combine_band.py
# l8影像的所有文件合成为一个波段
import os
from osgeo import gdal # 非常重要是库, 先了解它的接口,后面玩得六之后再用C++
class Landsat8Combine:
def __init__(self, targetPath, outPut):
self.targetPath = targetPath
self.outPut = outPut
self.l8_to_tif()
def typ ...
因为网上很多shp都是国外制作的,导致某些敏感地区缺失,比如藏南地区、台湾省等。调查发现高德提供中国地区的矢量数据,其完整性较好。这也就是有这篇记录文章的目的,使用python爬虫进行下载。在arcgis打开下载好的结果,如下:
除台湾省外,其他地区精确到市级,部分区域如下:
新手阶段的同学可以去我的个人公众号remote sensing回复:全国矢量数据,可以下载这个代码和全部的代码,只修改path和out_shp_path这两个参数就可以跑了,path对应的是你要保存的json文件路径,out_shp_path对应的是你要保存的shp文件路径。
也就是:
代码:
# -*- coding: utf-8 -*-
# @Time : 2021/6/25 10:59
import geopandas
import requests
import json
import os
province_list = ['西藏自治区', '新疆维吾尔自治区', '甘肃省', '青海省', '四川省', '云南省', '广西壮族自治区', '贵州省', '重庆市', '陕西省',
...
JavaScript
未读为何学习 JavaScript?JavaScript 是 web 开发者必学的三种语言之一:
HTML 定义网页的内容
CSS 规定网页的布局
JavaScript 对网页行为进行编程
为何学习 JavaScript?JavaScript 是 web 开发者必学的三种语言之一:
HTML 定义网页的内容
CSS 规定网页的布局
JavaScript 对网页行为进行编程
JavaScript 显示数据JavaScript 可以通过不同的方式来输出数据:
使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 文档中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。
JavaScript 语句JavaScript 语句是发给浏览器的命令。
这些命令的作用是告诉浏览器要做的事情。
下面的 JavaScript 语句向 id=”demo” 的 HTML 元素输出文本 “你好 Dolly” :
document.getElementById("demo").inn ...
军事用侦察卫星监视地面目标军事是遥感卫星的一个重要方向,也是遥感市场上的需求方。
遥感卫星最大的优势是不受传统空间的限制获得特定的信息。例如2021年11月,美国使用卫星拍摄俄罗斯军队在边境集合,这是传统手段无法实现的。地面上有领土范围,无人机也无法长距离传输信号,但是极轨遥感卫星绕着地球两极飞行,只需要固定的时间就可以重新到同一地区进行拍摄,也就是说,遥感卫星可以不受领土的限制,得到对方的信息,从而提前布局。2022年俄乌冲突被认为是一场“全民报道”的军事冲突,重要原因之一就是美国商业遥感卫星公司的大力介入。
这样的获得信息的手段,只限于技术,技术限制着遥感卫星拍摄的分辨率,你可以想象一个巨型摄像机在500千米上的高空上可以拍到0.5米的物体。这里请注意,拍到和排得清楚是两回事,现在商业的遥感卫星拍摄的空间分辨率一般在0.5米左右。
2022年俄乌冲突与以往最大的不同之一就是“全程直播”,世界各地的人民都可以在各种社交平台随时关注冲突的进程和双方战况,其中各路商业遥感卫星功不可没。遥感卫星运行在太空中,镜头对准地面,可谓是现代的千里眼。大家在俄乌战争中看到许多照片来自于卫星遥感, ...
python
未读1 args and kwargs*args
def test_var_args(f_arg,*v):
print(f_arg)
for arg in v:
print('another arg through *v:', arg)
test_var_args('dd','py','egg')
**kwargs
def func(**k):
for key,value in k.items():
print(key,value)
func(ooo = 'bbb')
use args and kwargs to call function
def test_var_args(a1, a2, a3):
print('arg1:', a1)
print('arg1:', a2)
print('arg1:', a3)
a = ('two', 3, 6)
test_var_args(*a)
def test_var_args(a1, a2, a3):
print('arg1:', a1)
pri ...
deep_learn
未读1 Restart study Deep learnreference link
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 5/23/2022 8:19 PM
# @File : mnist1.py
import torch
import torch.nn as nn
import torchvision.datasets
from torch.autograd import Variable
import torch.utils.data as Data
import matplotlib.pyplot as plt
# Hyper Parameters
EPOCH = 1
BATCH_SIZE = 50
LR = 0.001 # learning rate
DOWNLOAD_MNIST = False
train_data = torchvision.datasets.MNIST(
root='./mnist',
train=True,
transform=torchvisio ...
1 自学Geemap显示roi区域
# 导入库
import ee
import geemap
geemap.set_proxy(port = 56940)
# 设置代理(没办法,gee毕竟是google的产品,科学上网之后设置代理)
import os
os.environ['HTTP_PROXY'] = 'http://127.0.0.1:56940'
os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:56940'
# 初始化ee
#ee.Authenticate()
ee.Initialize()
# 创建交互式地图
Map = geemap.Map()
roi = ee.Geometry.Polygon(
[
[
[113.9808333 , 22.64833],
[113.48111111, 22.6483 ...