下载方式要在GitHub上下载别人的项目及其历史版本,可以通过以下步骤实现:
直接下载ZIP文件
进入项目仓库页面,点击右上角的绿色“Code”按钮,选择“Download ZIP”即可下载当前最新版本的压缩包。
优点:无需安装Git工具,适合快速获取代码快照。
2.使用Git克隆项目
复制仓库的HTTPS或SSH链接(点击“Code”按钮后可见)。
在本地命令行中执行:
git clone <仓库URL>
仓库URL是复制下图红色框的内容。
比如我要下载rs-tool的,那么我就需要在命令行输入:
git clone git@github.com:ytkz11/rs-tool.git
优缺点第一种方法,下载到本地的是一个压缩包,除了有些傻瓜之外,压缩包的名字末尾会加上master的字眼。
比如,下载rs-tool压缩包到本地,文件名字如下图所示。
题外话,在何同学的视频《我用 36 万行备忘录做了个动画》中,他使用了一个别人的项目,而他下载项目的方式正是我们提到的第一种方式——直接下载压缩包。下图是视频中对应的画面,清晰地展示了他文件夹项目的名字。
...
SSH工具,我之前用的是xshell。今天问了朋友,有没有更好的Ssh工具,她给我推荐了XTerminal。
引言点云技术正在重塑我们对现实世界的数字化理解,从自动驾驶的感知系统到数字孪生的虚拟建模,这项技术无处不在。对于初学者来说,理解点云文件的本质、格式以及处理逻辑,是迈向三维视觉领域的第一步。本文以一个简单的XYZ文件为例,深入解析点云的特性,并为“小白”提供循序渐进的学习建议,助你轻松入门。
点云的定义与本质点云是一种三维数据形式,由大量空间坐标点组成。每个点通常包含x、y、z坐标,有时还会附带额外属性,比如颜色、反射强度或法向量。
例如,一行点云数据可能是“2.75421051 -4.75981225 -6.44403559 8 12 13”,其中前三列表示空间位置,后三列是RGB颜色值(范围0-255)。与传统的3D模型(通过三角面片描述表面)不同,点云没有网格结构,完全依靠离散的点来表达物体的形态。
点云数据通常来源于3D扫描设备(如激光雷达)或摄影测量软件,应用范围涵盖3D CAD建模、地理信息系统(GIS)和质量检测等领域。尽管点云看似是一堆杂乱无章的点,但其中蕴含着“隐藏的秩序”:
空间参考系:所有点的坐标都基于某个坐标系,比如设备局部坐标系(以设备为原点0, 0 ...
各位读者朋友们好!转眼间3月已接近尾声,感谢大家对本公众号的持续关注。本月我们围绕遥感技术开发、地理信息工具更新、编程实践与行业洞察等方向,产出了多篇干货内容。现将3月文章精华整理如下:
一、遥感技术深度解析1.[大影像处理优化]《遥感影像有效范围的矢量文件生成的改进》重磅推出分块处理方案,成功解决90G无人机影像内存溢出问题,并预告将发布开箱即用的exe工具。 1
2.[卫星数据处理]《利用葵花8气象卫星:从爬虫到视频生成》完整揭秘卫星数据下载、校正与可视化全流程,未来计划实现社交媒体自动同步。
3.[几何校正原理]《你知道吗?地球是斜着自转的!》科普地球自转轴倾斜对遥感影像的影响,强调RPC文件在几何校正中的关键作用。
二、开发工具与代码实战1.[工具升级]《RS Tool - 遥感数据处理工具 v0.0.8》新增栅格处理与矢量格式转换功能,持续打造“小而美”的跨平台开源工具。
2.[分幅处理利器]《使用GDAL库按1000x1000米格网分幅处理卫图》发布split_raster_into_tiles.exe,零配置实现大影像无缝切割。
3.[编程技巧]《用Python和GD ...
代码
import sys
import os
import subprocess
import threading
import shutil
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QSpinBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt
from qfluentwidgets import (LineEdit, ComboBox, PushButton, TextEdit, BodyLabel,
MessageBox, CheckBox, IndeterminateProgressBar)
class YTDLPInterface(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitl ...
1. 项目是什么?(What is OpenFreeMap?)OpenFreeMap 是一个免费、开源的地图托管解决方案,基于 OpenStreetMap (OSM) 数据。它允许你在网站或应用程序中显示自定义样式的地图。你可以选择自己托管(self-host)或者直接使用他们提供的公共实例。
核心特点:
完全免费,没有地图浏览次数或请求次数限制。
无需注册、API 密钥或 cookies,隐私友好。
开源,不搞“开放核心”(open-core)那一套,所有代码和生产环境配置都公开。
提供每周更新的全球地图数据下载(Btrfs 和 MBTiles 格式)。
通过捐款维持公共实例的运营。
目标: 为开发者提供一个高质量的矢量瓦片(vector-tile)托管方案,利用现有工具(比如 OpenStreetMap、Planetiler、MapLibre 等),无需自己从头开发复杂的地图服务。
2. 它能做什么?不能做什么?(Scope and Limitations)能做什么:
显示基于 OpenStreetMap 数据的自定义样式地图。
提供生产级别的瓦片托管(tile ho ...
面矢量转线矢量,当然可以在arcgis上进行,只是速度实在是太慢了。
除了慢之外,还有一个很严重的问题,那就是属性字段丢失。
面矢量的属性字段如下:
在arcgis转换后的线矢量的字段如下:
使用ogr而开发的面矢量转换线矢量则不存在这个问题。对于同一个面矢量文件,arcgis需要2分钟的处理时间,而我们写的代码进行面线转换只需要10秒。这个效率提升是非常惊人的。
我使用的arcgis版本是老版本,10.2. 对于arcgis pro,我没有去测试。
现在,详细讲一讲这个过程。
在自然资源调查项目中,张工遇到了一个棘手的问题:他需要将20万亩农田的矢量面数据转换为边界线,用于后续的田埂路径分析。但当使用常规GIS软件的导出边界功能时,发现带洞的多边形(如果园中的蓄水池区域)总是处理失败,属性信息也丢失严重。这个案例暴露出GIS数据处理中一个常见痛点——如何实现精准的面转线转换?
一、面转线需求背后的技术挑战在国土调查、城市规划、农业遥感等领域,面转线操作存在三大共性需求:
拓扑关系维护:保持相邻多边形的公共边界完全重合
属性继承:保留原始面要素的编号、类型等属性信息
复杂 ...
使用 Nginx/Apache 专业部署
安装 Nginx:
sudo apt update && sudo apt install nginx
2.
创建配置文件 /etc/nginx/sites-available/video:
server {
listen 80;
server_name http://129.204.22.103/;
location / {
root /home/ubuntu/code/h8/video;
autoindex on; # 开启目录列表
# 添加视频流支持(调整浏览器缓存)
location ~ \.(mp4|webm|mov)$ {
add_header Cache-Control "no-store";
add_header X-Content-Type-Options "nosniff";
expires 0;
}
...
概述最近一位小伙伴私信我,说他在处理卫星影像时遇到一个需求:需要将大范围的栅格影像按固定网格(比如 1000x1000 米)分割成小块瓦片,确保接边无缝,还要保存为 PNG 格式方便查看。他希望有一个简单易用的工具,最好不用装一堆环境。于是,我写了一个 Python 脚本 split_raster_into_tiles.py,用 GDAL 实现了这个功能,并用 Pyinstaller 打包成了一个独立的 .exe 文件。这篇文章就来介绍一下这个工具的用法,希望能帮到有类似需求的朋友!
需求背景小伙伴的需求很明确:输入:一张大范围的卫星影像(比如 TIFF 格式)。处理:按 1000x1000 米网格分割,边缘无缝对接。输出:生成多个小瓦片,保存为 PNG 格式(方便查看),同时保留地理信息。额外要求:最好是个独立程序,不用折腾 。
基于这个需求,我开发了 split_raster_into_tiles.py,并用 Pyinstaller 打包成了 split_raster_into_tiles.exe。下面就来详细介绍怎么用它。
功能简介split_raster_into_tiles. ...