当前位置: 首页 > web >正文

Landsat WRS介绍 及 Polygon定位WRS算法

Landsat WRS

  • Landsat WRS 介绍
  • WRS KMZ 数据下载
  • polygon 定位 WRS
    • main_process
    • function

Landsat WRS 介绍

🌍 WRS-2 系统概述
WRS-2 是第二代WRS(Worldwide Reference System),自Landsat 4卫星以来被广泛使用。它通过将地球表面分割为固定大小的网格单元(即路径和行)来定位卫星影像。这些网格单元覆盖全球,允许每个Landsat影像根据路径和行来定位,确保了空间覆盖的一致性。

📐 WRS-2 网格结构
Path (路径): 在WRS-2中,路径是指卫星轨道的轨迹。路径是一个编号的横向网格,每个路径都表示卫星沿轨道飞行时的一个特定轨道位置。共有233条路径,编号从1到233。

Row (行): 行表示卫星通过的纬度条带,也就是从北到南的纵向网格。共有248条行,编号从1到248。

因此,每个Landsat影像都通过其所属的路径编号(Path)和行编号(Row)唯一标识。组合路径和行编号可以唯一地标识Landsat影像的空间位置。

WRS KMZ 数据下载

https://d9-wret.s3.us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/atoms/files/WRS2_descending_0.zip

在这里插入图片描述

polygon 定位 WRS

main_process

fclose all
clear all
clc% Shapefile 路径(假设已下载并解压)
wrs_path = 'WRS2_descending_0\WRS2_descending.shp';% 读取 WRS-2 边界
lat_poly = [25.1, 25.1, 24.9, 24.9, 25.1];
lon_poly = [96.3, 96.5, 96.5, 96.3, 96.3];% 调用函数
overlaps = get_Landsat_WRS_Path_Row(lat_poly, lon_poly, wrs_path);% 显示结果
% disp(array2table(overlaps, 'VariableNames', {'Path','Row'}));

function

function overlap_paths = get_Landsat_WRS_Path_Row(lat_poly, lon_poly, wrs_shapefile)
% getLandsatOverlapPathRow 找出与给定多边形区域重叠的 Landsat path/row
% 输入:
%   lat_poly, lon_poly - 多边形顶点的纬度和经度向量(需闭合或自动闭合)
%   wrs_shapefile      - WRS-2 shapefile 文件路径
% 输出:
%   overlap_paths      - N×2 矩阵,每行是 [path, row]% 保证多边形闭合if lat_poly(1) ~= lat_poly(end) || lon_poly(1) ~= lon_poly(end)lat_poly(end+1) = lat_poly(1);lon_poly(end+1) = lon_poly(1);end% 创建用户多边形user_poly = polyshape(lon_poly, lat_poly);% 读取 WRS shapefilewrs = shaperead(wrs_shapefile);% 用户区域边界框minLat = min(lat_poly);maxLat = max(lat_poly);minLon = min(lon_poly);maxLon = max(lon_poly);% 用 bounding box 预筛选bbox_filter = arrayfun(@(s) ...max(s.BoundingBox(:,1)) >= minLon && ...min(s.BoundingBox(:,1)) <= maxLon && ...max(s.BoundingBox(:,2)) >= minLat && ...min(s.BoundingBox(:,2)) <= maxLat, ...wrs);filtered_wrs = wrs(bbox_filter);% 精筛选overlap_paths = [];for i = 1:length(filtered_wrs)x = filtered_wrs(i).X;y = filtered_wrs(i).Y;valid = ~isnan(x) & ~isnan(y);wrs_shape = polyshape(x(valid), y(valid));if overlaps(user_poly, wrs_shape)overlap_paths = [overlap_paths; filtered_wrs(i).PATH, filtered_wrs(i).ROW];endendoverlap_paths = unique(overlap_paths, 'rows');
end
http://www.xdnf.cn/news/4494.html

相关文章:

  • WPF MVVM入门系列教程(六、ViewModel案例演示)
  • [Windows] 蓝山看图王 1.0.3.21021
  • JGL021垃圾渗滤液小试实验装置
  • 三、大模型原理:图文解析MoE原理
  • NGINX `ngx_http_charset_module` 字符集声明与编码转换
  • 【CSS】Grid 的 auto-fill 和 auto-fit 内容自适应
  • goland无法debug
  • 做PPT的感想
  • 在IPv6头部中,Next Header字段
  • 基于 ISO 22301 与国产化实践的 BCM 系统菜单设计指南
  • 计算机网络中相比于RIP,路由器动态路由协议OSPF有什么优势?
  • 服务器数据恢复—硬盘坏道导致EqualLogic存储不可用的数据恢复
  • 2023年华为杯研究生数学建模竞赛B题DFT类矩阵的整数分解逼近
  • ActiveMQ 源码剖析:消息存储与通信协议实现(二)
  • 英伟达发布Llama-Nemotron系列新模型,性能超越DeepSeek-R1
  • 初学Python爬虫
  • Spring AI 之 AI核心概念
  • 第十一节:图像处理基础-图像阈值处理
  • ES6入门---第三单元 模块七: Proxy的使用+Reflect的使用
  • 【备考高项】模拟预测题(二)综合知识及答案详解
  • PostgreSQL 常用SQL操作命令
  • 南京市出台工作方案深化“智改数转网联”,物联网集成商从“困局”到“蓝海”!
  • Linux 安全加固
  • Python与C++类型对照及常用操作
  • 以太联-Intellinet 561648 户外防破坏千兆PoE延长器-- 稳定可靠,全天候守护网络连接
  • 神经网络在模式识别中的应用:从语音到视觉的智能解析
  • fedora系统详解详细版本
  • 鸿蒙开发——3.ArkTS声明式开发:构建第一个ArkTS应用
  • 基于QT(C++)实现(图形界面)校园导览系统
  • Failed building wheel for pycuda