Skip to content

Data Analysis

This guide is for developers and explains the Data Analysis feature of the EO Platform. This module allows users to initiate asynchronous tasks on data cataloged in "Metadata" to extract target features (such as buildings, roads, vegetation, etc.) using specified algorithms and analysis areas (AOI), and to visualize the analysis results on a map.

1. Prerequisites

Before you begin the integration, please ensure that the following environment is ready:

  • Account Permissions: You need access and operational rights for the "Manual Analysis Task" module.
  • Input Data: Ensure that the imagery or data to be analyzed has been cataloged and published in "Metadata Management".
  • Running Services: Make sure the following services are up and can reach each other:
    • data_management_service (Java) is deployed and connected to PostgreSQL.
    • ai_task_server: receives analysis task creation requests and orchestrates downstream workloads.
    • neu-gis-task-server: manages task queues and synchronizes execution status.
    • neu-gis-data-server: acts as the central orchestrator for computation and publishing stages.
    • satellite_analysis_server: handles image pre-processing (splitting, resampling, radiometric adjustments) and post-processing (merging, smoothing, attribute enrichment).
    • model inference services: run the core algorithms (e.g., building/road extraction).
    • image-processing-server: produces tiles, pyramids, and other publishable assets.
    • geoserver: loads outputs and exposes them as map services.
    • geo-tile-server & geo_cog_server: serve tiles/COG assets to accelerate frontend rendering.

2. Core Workflow

Data analysis is an asynchronous process, with the core workflow being "Create Task → Poll Status → View Results".

2.1 Create an Analysis Task (Add Task)

  1. Navigate to the Manual Analysis Task page from the left-side navigation bar.
  2. Click the Add Task button in the upper-right corner of the page to go to the task creation page.
  3. Define your area of interest (AOI) on the map by drawing a rectangle.
  4. Fill in the task parameters in the form on the right:
FieldRequiredDescription
AlgorithmYesSelect the analysis algorithm to be executed, e.g., "Building" for building extraction.
Task NameYesName this analysis task for easy identification later.
Select MetadataYesSelect one or more published metadata items as the input data for this analysis.
  1. Click Save to call POST /analysis/task/create. The system will then start executing the asynchronous analysis task in the background.

2.2 View the Task List

  • After creating a task, the page will automatically redirect back to the All Tasks list.
  • Here you can see the name, type, status (e.g., Complete, In Progress), and creator of all historical tasks.
  • The task status will refresh periodically until the task is completed or fails.
  • The list data is provided by POST /analysis/task/page/query.

2.3 View the Analysis Results (Analysis Result)

  1. When the task status changes to Complete, click on the task name to go to the details page.
  2. The left side of the details page will display the Feature Classification extracted from this analysis, as well as the Count and total Area for each classification.
  3. The map window on the right will visualize the analysis results (e.g., extracted building outlines) overlaid on the original image.
  4. Imagery rendering uses ge3d rendering for visualization.
  5. The details page data is provided by GET /analysis/task/query/detailV2.

2.4 Backend Processing Pipeline

Once an analysis task is submitted, the backend services collaborate in a fixed sequence:

  1. data_management_serviceai_task_server: create the analysis task and persist metadata.
  2. ai_task_serverneu-gis-task-serverneu-gis-data-server: validate input parameters, image availability, and spatial extent before the task is enqueued.
  3. ai_task_serversatellite_analysis_server (Preprocess): split large imagery into manageable tiles, resample, and adjust radiometry for model input.
  4. ai_task_servermodel (Process): run the core algorithm inference to produce vector or raster outputs such as buildings, roads, etc.
  5. ai_task_serversatellite_analysis_server (Postprocess): merge tiles, smooth geometries, and enrich attributes to prepare publishable products.
  6. ai_task_serverneu-gis-task-serverneu-gis-data-serverimage-processing-servergeoserver: publish the analysis results (e.g., SHP) as standard map services and return the service URL.
  7. Display pipeline: frontend requests pass through geo-tile-server and geo_cog_server to deliver tiles/COG assets, ultimately reaching geoserver for rendering.

3. API Quick Index

CapabilityAPIDescription
Create Analysis TaskPOST /analysis/task/createSubmits a new asynchronous analysis task.
Query Task DetailsGET /analysis/task/query/detailV2Retrieves the detailed status and analysis results of a single task.
Paginated Task QueryPOST /analysis/task/page/queryRetrieves a list of historical analysis tasks, with support for pagination.
Delete Analysis TaskDELETE /analysis/task/deleteDeletes a specified analysis task.

4. Debugging and Troubleshooting

  • Task Stuck in "In Progress" for a Long Time: Please check if the backend algorithm service is running correctly and if there is a blockage in the task queue.
  • Task Failed: Go to the task details page to view the specific error message. Common reasons include unsupported input data format, an excessively large AOI, or an error in the algorithm itself.
  • Results Not Displaying: Confirm that the task status is Complete. If it is complete but there are no results, please check if the data returned by GET /analysis/task/query/detailV2 contains valid geographic coordinate information.
  • API 401/403: Check the Token in the Authorization request header and confirm that the account has permission to initiate analysis tasks.