Appearance
Quick Start - OpenAPI
Welcome to EO Platform OpenAPI! This guide will help you quickly get started with the core features of the Earth Observation data platform, from basic authentication to advanced data analysis operations, allowing you to complete your first API call within 5 minutes.
What is EO Platform OpenAPI?
EO Platform OpenAPI is a complete set of RESTful API services designed specifically for the storage, processing, and analysis of Earth observation data. Through these APIs, you can:
- Data Management: Upload, query, and download various remote sensing image data
- Data Processing: Execute preprocessing operations such as band composition, mosaicking, fusion, cloud removal, and index calculation
- Intelligent Analysis: Run target detection algorithms, supporting aircraft detection, road detection, building detection, etc.
- Metadata Management: Manage image publishing and display.
Whether you are a remote sensing data scientist, GIS developer, or application developer who needs to integrate Earth observation capabilities, EO Platform OpenAPI can provide you with powerful and flexible data processing capabilities.
Prerequisites
Before getting started, please ensure you have:
- An EO Platform account and are logged in
- Obtained a valid API Key (see Authentication Guide)
- Prepared a development environment (tools or programming languages that support HTTP requests)
Step 1: Get API Key
- Log in to EO Data Management Platform
- Go to User Center > Profile page
- In the API Key Management area, click the "Show" button to view your API Key
- Copy and securely save the API Key
🔐 Security Tip: API Key is only displayed in full once when generated, please save it securely. If you need to refresh, the old Key will become invalid immediately.
Step 2: Test Connection
Before using the advanced features of EO Platform, let's verify that your connection and authentication configuration are correct through a simple API call. This test will query the list of data files under your account while verifying the validity of the API Key.
Use the following cURL command to test your API connection:
bash
curl -X POST "http://74.162.64.53:8080/data_management_service/datafile/query/page" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"pageNumber": 1,
"pageSize": 5
}'Expected Response:
json
{
"code": 200,
"message": "OK",
"data": {
"pageNumber": 1,
"pageSize": 5,
"pageCount": 42,
"totalCount": 208,
"fileVoList": [
{
"id": 329,
"dataType": 0,
"imageId": "2JX0Fn0Gn",
"fileExtension": "tif",
"size": 0.294525112025,
"fileName": "ImageryMosaicking_0327_0311",
"dirPath": "//Data Process Output File",
"parentId": 87,
"folder": 0,
"captureTime": null,
"updateTime": 1761406167,
"category": 1,
"userName": "tang",
"creator": "2JO312D",
"thumbnailUrl": null,
"bandInfos": null
}
]
}
}Step 3: Core Features Quick Experience
Now that you have successfully connected to EO Platform, let's experience the core features of the platform through several practical use cases. The following examples cover the complete workflow from data upload to intelligent analysis, with each step including detailed parameter descriptions and expected results.
3.1 Data Processing - Create Band Composition Task
Use Case: Combine multiple single-band images into color RGB images, which is a common requirement for remote sensing data visualization and analysis.
Band composition is a fundamental operation in remote sensing data processing. By selecting different band combinations, you can highlight different ground features:
- True Color Composition (RGB = Red, Green, Blue bands): Close to human visual effect
- False Color Composition (RGB = Near-infrared, Red, Green bands): Highlight vegetation information
- Natural Color Composition (RGB = Near-infrared, Green, Blue bands): Balance visual effect and information content
API Call Example: Create band composition task
bash
curl -X POST "http://74.162.64.53:8080/data_management_service/processtask/addTask" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"taskType": 6,
"taskName": "RGB_Band_Merge_Task",
"outputPath": 12345,
"outputFileName": "rgb_composite.tif",
"reflectanceMultiplier": 1.0,
"reflectanceAddend": 0.0,
"datas": [
{
"dataFileId": 67890,
"type": 0,
"bandInfoId": [4, 3, 2]
}
]
}'Expected Response:
json
{
"code": 200,
"message": "success",
"data": {
"taskId": 15
}
}Parameter Description:
taskType: 6 indicates band composition tasktaskName: Task name, recommended to include timestamp to ensure uniquenessoutputPath: Output directory ID, must be a valid directory identifieroutputFileName: Output file name, including extensionreflectanceMultiplier: Reflectance multiplier for radiometric correction (optional)reflectanceAddend: Reflectance addend for radiometric correction (optional)datas[].dataFileId: Input data file IDdatas[].type: Data type, 0 indicates normal data (for band composition)datas[].bandInfoId: Band information ID array, arranged in RGB order
Important Notes:
- Band composition task will merge specified bands in order into multi-band images
- The order of
bandInfoIdarray determines the band order of output images - It is recommended to ensure that the spatial resolution and projection coordinate system of each band are consistent before composition
- The output directory must exist and the user must have write permissions
3.2 Dataset Management - Create Dataset
Use Case: Create datasets to organize and manage related remote sensing data, facilitating data classification, retrieval, and sharing.
Dataset is an important concept for data organization in EO Platform, allowing you to:
- Classification Management: Categorize and organize data of the same theme or project
- Permission Control: Set access permissions and sharing scope for datasets
- Metadata Association: Add descriptive information and tags to datasets
- Batch Operations: Perform unified processing on all data within the dataset
API Call Example: Create remote sensing image dataset
bash
curl -X POST "http://74.162.64.53:8080/data_management_service/dataset/create" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-H "Content-Type: multipart/form-data" \
-F "datasetName=2024 Urban Remote Sensing Monitoring Dataset" \
-F "description=Contains Landsat-8 and Sentinel-2 image data of major cities in 2024, used for urban expansion and land use change analysis" \
-F "provider=National Remote Sensing Center" \
-F "tagIds=[1,3,5]"Expected Response:
json
{
"code": 200,
"message": "success",
"data": {
"datasetId": 8
}
}Parameter Description:
datasetName: Dataset name, required, maximum 50 charactersdescription: Dataset description, optional, maximum 1024 charactersprovider: Data source or provider, optionaltagIds: List of associated tag IDs, required, used for data classification and retrievalpicture: Dataset cover image, optional
Important Notes:
- Dataset name cannot be empty and length cannot exceed 50 characters
- At least one tag ID must be specified
- Tag IDs must be valid tags that exist in the system
3.3 Intelligent Analysis - Create Analysis Algorithm
Use Case: Create custom remote sensing data analysis algorithms, supporting target detection and other analysis needs.
EO Platform currently supports the following types of analysis algorithms:
- Target Detection:
- Road Detection: Automatically identify and extract road networks
- Aircraft Detection: Aircraft target recognition in airports and aprons
- Building Detection: Urban building outline and distribution extraction
API Call Example: Create building detection algorithm
bash
curl -X POST "http://74.162.64.53:8080/data_management_service/analysis/algorithm/add" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"name": "Urban Building Detection",
"type": "object_detection",
"description": "Deep learning-based urban building automatic detection algorithm",
"featureName": "building_extraction",
"algorithmCode": "BUILDING_DETECT_V2",
"algorithmType": "ai_detection",
"enable": 1,
"showOrder": 2,
"analysisAlgorithmParams": [
{
"name": "confidence_threshold",
"labelName": "Confidence Threshold",
"description": "Minimum confidence for building detection",
"type": "double",
"notNull": 1,
"show": 1,
"control": "slider",
"min": "0.1",
"max": "1.0",
"defaultValue": "0.7",
"unit": "probability",
"showOrder": 1,
"analyzeParam": 1
},
{
"name": "min_area",
"labelName": "Minimum Area",
"description": "Minimum area of detected buildings (square meters)",
"type": "int",
"notNull": 1,
"show": 1,
"control": "number_input",
"min": "10",
"max": "10000",
"defaultValue": "100",
"unit": "m²",
"showOrder": 2,
"analyzeParam": 1
},
{
"name": "use_nms",
"labelName": "Non-Maximum Suppression",
"description": "Whether to use non-maximum suppression to remove overlapping detections",
"type": "boolean",
"notNull": 0,
"show": 1,
"control": "checkbox",
"defaultValue": "true",
"showOrder": 3,
"analyzeParam": 1
}
]
}'Expected Response:
json
{
"code": 200,
"message": "success",
"data": "BUILDING_DETECT_V2"
}Parameter Description:
name: Algorithm name, required, recommended to use descriptive namestype: Algorithm provider type, optional, such as "vegetation_index", "object_detection"description: Algorithm description, optional, detailed explanation of algorithm functions and applicable scenariosalgorithmCode: Algorithm code, required, unique identifier within the systemalgorithmType: Algorithm type, such as "raster_analysis", "ai_detection"analysisAlgorithmParams: Algorithm parameter list, defining parameters required for algorithm execution
Algorithm Parameter Field Description:
name: Parameter name, used for program callslabelName: Parameter display name, used for user interfacetype: Parameter data type (int, double, String, boolean)notNull: Whether required (0-optional, 1-required)control: UI control type (number_input, slider, checkbox, etc.)min/max: Parameter value rangedefaultValue: Default value
Important Notes:
- Algorithm code (
algorithmCode) must be unique within the system - This API is used to create algorithm templates, not execute specific analysis tasks
- After creating an algorithm, you need to use the analysis task API to execute specific analysis operations
- Properly setting parameter constraints helps improve algorithm stability and user experience
Performance Optimization Recommendations
1. Batch Operations
- Use batch query interfaces whenever possible to reduce the number of API calls
- Set reasonable page sizes (recommended 10-50 records)
2. Caching Strategy
- Cache data that doesn't change frequently locally (such as algorithm lists, data categories)
- Use ETags or Last-Modified headers for conditional requests
3. Connection Pool Management
python
# Use connection pool to improve performance
session = requests.Session()
session.headers.update({'X-API-Key': API_KEY})
# Reuse session object for multiple requests
response1 = session.get('/api/endpoint1')
response2 = session.post('/api/endpoint2', json=data)4. File Upload Optimization
- Concurrency Control: Don't upload too many files simultaneously
- Network Optimization: Appropriately reduce upload concurrency in unstable network environments
Common Issues and Debugging
Authentication Issues
Q: Receiving 401 Unauthorized error
json
{
"code": 401,
"message": "Invalid API Key"
}Solutions:
- Check if API Key is correctly copied (no extra spaces)
- Confirm request header format:
X-API-Key: your_key_here - Verify if API Key has expired or been refreshed
Request Format Issues
Q: Receiving 400 Bad Request error
json
{
"code": 400,
"message": "Invalid request format"
}Solutions:
- Check if Content-Type is
application/json - Verify if JSON format is correct
- Confirm if required fields are complete
Next Steps
Congratulations! You have completed the quick start guide for EO Platform OpenAPI. Next, you can:
- 📖 Deep Learning: Check [Complete API Documentation] to learn about all available interfaces
- 🔧 Integration Development: Refer to [Data Storage Guide] and [Data Processing Guide]
- 🚀 Production Deployment: Read [Best Practices] to ensure system stability
- 💬 Get Support: Contact technical support channels when encountering issues
API Quick Index
Data Storage
POST /datafile/query/page- Query data file listPOST /datafile/file/pre-upload/raster- Pre-upload raster dataPOST /datafile/file/upload-success/raster- Upload completion notificationPOST /datafile/query/page- Paginated query of data files
Data Processing
POST /processtask/addTask- Create processing taskPOST /processtask/query/page- Query processing task listGET /processtask/query/task/detail- Get task detailsDELETE /processtask/delete- Delete processing task
Dataset Management
POST /dataset/create- Create datasetPOST /dataset/query/page- Query dataset listGET /dataset/detail- Get dataset detailsPOST /dataset/update- Update dataset informationDELETE /dataset/delete- Delete dataset
Intelligent Analysis
POST /analysis/algorithm/page/query- Query analysis algorithmPOST /analysis/task/create- Create analysis taskPOST /analysis/task/page/query- Query analysis task listGET /analysis/task/query/detailV2- Get analysis result detailsDELETE /analysis/task/delete- Delete analysis task
Metadata Management
POST /metadata/create- Create metadataPOST /metadata/query/page- Query metadata listPOST /metadata/update- Update metadata informationDELETE /metadata/delete- Delete metadataPOST /metadata/query/detail- metadata detailPOST /metadata/detail/protoc- metadata protoc detailGET /metadata/query/raster/publishUrl- Query publish status
💡 Tip: This quick start guide covers the most commonly used features. For more advanced features, please refer to the corresponding detailed documentation.