# satellite-analysis-system **Repository Path**: lyxstart/satellite-analysis-system ## Basic Information - **Project Name**: satellite-analysis-system - **Description**: 测试node版本地物分类 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-23 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 [circleci-url]: https://circleci.com/gh/nestjs/nestA progressive Node.js framework for building efficient and scalable server-side applications.
## Description [Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. ## 已选择的图像处理和机器学习依赖包 本项目经过评估后选择了以下不依赖 C++ 和 Python 的图像处理和机器学习库: ### [gdal-async](https://github.com/mmomtchev/node-gdal-async) - **描述**: GDAL (Geospatial Data Abstraction Library) 的 Node.js 异步绑定,用于处理地理空间数据 - **选用理由**: 相比于 gdal-next,gdal-async 提供了更好的异步支持和性能,并且避免了复杂的 C++ 编译依赖 ### [@tensorflow/tfjs](https://github.com/tensorflow/tfjs) - **描述**: TensorFlow 的 JavaScript 实现,可在浏览器和 Node.js 环境中运行机器学习模型 - **选用理由**: 相比于 @tensorflow/tfjs-node,纯 JavaScript 版本避免了原生插件的编译问题和 Python 依赖 ### [opencv-wasm](https://github.com/echamudi/opencv-wasm) - **描述**: OpenCV 的 WebAssembly 版本,提供了计算机视觉功能的完整实现 - **选用理由**: 相比于 opencv4nodejs,opencv-wasm 不需要本地编译 OpenCV 库,避免了 C++ 依赖和复杂的构建过程 ## 项目架构与核心功能模块 本项目是一个基于 NestJS 的卫星图像植被分析系统,包含以下核心功能模块: ### 模块一:影像解析引擎 (Data Engine) - 使用 GDAL 分块读取大型卫星 TIFF 文件 - 提取特定波段(如 B4 红光和 B8 近红外) - 避免一次性加载整个图像到内存 ### 模块二:光谱分析算法 (Spectral Logic) - 利用 TensorFlow.js 计算 NDVI 指数 - 根据阈值生成植被二值矩阵 ### 模块三:空间形态优化 (OpenCV Engine) - 使用 OpenCV 进行形态学处理消除噪点 - 提取并过滤植被区域轮廓 ### 模块四:瓦片渲染与展示 (Tile Server) - 将分析结果渲染为 PNG 图像 - 生成符合 XYZ 标准的瓦片用于前端展示 ### 异步任务处理 - 使用 BullMQ 队列处理耗时的图像分析任务 - 避免阻塞主线程,提高系统响应性 ## Project setup ```bash $ npm install ``` ## Compile and run the project ```bash # development $ npm run start # watch mode $ npm run start:dev # production mode $ npm run start:prod ``` ## Run tests ```bash # unit tests $ npm run test # e2e tests $ npm run test:e2e # test coverage $ npm run test:cov ``` ## API Endpoints ### 上传并分析植被图像 ``` POST /vegetation/analyze Content-Type: multipart/form-data Form fields: - image: 卫星图像文件 (TIFF/JPEG2000格式) - threshold: NDVI阈值 (可选,默认0.4) - nirBand: 近红外波段编号 (可选,默认8,适用于Sentinel-2) - redBand: 红光波段编号 (可选,默认4,适用于Sentinel-2) - kernelSize: 形态学处理核大小 (可选,默认3) - minArea: 最小轮廓面积 (可选,默认100) - zoomLevel: 瓦片缩放级别 (可选,默认10) ``` ### 获取分析任务状态 ``` GET /vegetation/status/:jobId ``` ### 获取分析结果瓦片 ``` GET /vegetation/tiles/:z/:x/:y ``` ## Deployment When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information. If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps: ```bash $ npm install -g @nestjs/mau $ mau deploy ``` With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure. ## Resources Check out a few resources that may come in handy when working with NestJS: - Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. - For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). - To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). - Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. - Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). - Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). - To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). - Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com). ## Support Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). ## Stay in touch - Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec) - Website - [https://nestjs.com](https://nestjs.com/) - Twitter - [@nestframework](https://twitter.com/nestframework) ## License Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).