4.5 KiB
Raster Data Import
Import raster data from files, URLs, or cloud storage.
Overview
Raster data import supports multiple formats and import methods for grid-based spatial data.
Supported Formats
GeoTIFF
- Extension:
.tif,.tiff,.gtif - Description: Georeferenced TIFF format
- Features: Full support for multi-band rasters, overviews, compression
Cloud Optimized GeoTIFF (COG)
- Extension:
.tif,.tiff - Description: Cloud-optimized GeoTIFF format
- Features: Optimized for cloud storage and streaming
- Benefits: Efficient access to large rasters
Other Formats
- JPEG2000:
.jp2,.j2k - PNG:
.png(with world file) - NetCDF:
.nc,.nc4 - HDF:
.hdf,.h5
Import Methods
File Upload
Upload raster files directly:
- Navigate to raster upload page
- Select file or drag and drop
- Add optional description
- Configure import options
- Click "Upload"
File Size Limit: Configurable (default: 100MB+)
URL Import
Import from web-accessible URLs:
- Navigate to URL import page
- Enter raster URL
- Configure import options
- Optionally schedule import
- Click "Import"
S3 Bucket Import
Import from AWS S3 buckets:
- Navigate to S3 import page
- Configure AWS credentials
- Select bucket and file
- Configure import mode
- Click "Import"
Import Modes:
- Serve COG: Register as remote COG (no download)
- Download PostGIS: Download and import to PostGIS
GeoServer Import
Import from GeoServer WCS:
- Navigate to GeoServer import page
- Select workspace and layer
- Configure import options
- Click "Import"
Import Process
Step 1: File Validation
Raster file is validated:
- Format detection
- GDAL availability check
- File integrity verification
- Metadata extraction
Step 2: Metadata Extraction
Metadata extracted using GDAL:
- Spatial reference system (SRID)
- Bounding box
- Pixel size
- Band count
- Data type
- NoData values
Step 3: PostGIS Import
Raster imported into PostGIS using raster2pgsql:
raster2pgsql -s {srid} -t {tile_size} {file} {schema}.{table} | psql
Options:
- Tile Size: Default 256x256 pixels
- Schema: Default 'public'
- Table Name: Auto-generated or specified
- SRID: Detected from file or specified
Step 4: Registration
Raster registered in system:
- Metadata stored in
aurora_raster_layerstable - Layer name assigned
- Access permissions set
- Preview generation
Configuration Options
Tile Size
Configure raster tiling:
- 256x256: Default, good for most cases
- 512x512: Larger tiles, fewer database rows
- 128x128: Smaller tiles, more database rows
Import Mode
For S3/URL imports:
- Serve COG: Register remote COG, no local storage
- Download PostGIS: Download and import to PostGIS
Compression
Configure raster compression:
- None: No compression
- JPEG: Lossy compression
- LZW: Lossless compression
- Deflate: Lossless compression
Example: GeoTIFF Upload
# Via API
curl -X POST "https://example.com/raster_upload.php" \
-F "raster_file=@elevation.tif" \
-F "description=Digital elevation model" \
-F "tile_size=256x256"
Example: S3 Import
# Via API
curl -X POST "https://example.com/raster_bucket_import_api.php" \
-d "url=s3://bucket/path/to/raster.tif" \
-d "mode=download_postgis" \
-d "aws_access_key_id=..." \
-d "aws_secret_access_key=..."
Cloud Optimized GeoTIFF (COG)
COG format provides:
- Efficient Streaming: Access specific regions without full download
- Cloud Storage: Optimized for S3, Azure, GCS
- Performance: Fast access to large rasters
- Cost Effective: Reduced bandwidth usage
Creating COGs
Use GDAL to create COG:
gdal_translate input.tif output.tif \
-of COG \
-co COMPRESS=LZW \
-co TILED=YES
Troubleshooting
Common Issues
GDAL not available
- Install GDAL:
apt-get install gdal-bin(Ubuntu) - Verify:
gdalinfo --version - Check PATH configuration
Large file timeout
- Increase PHP execution time
- Use background import
- Consider chunked upload
SRID not detected
- Check raster metadata
- Specify SRID manually
- Verify projection information
Memory issues
- Increase PHP memory limit
- Use tile-based processing
- Consider resampling large rasters
PostGIS
Mobile
QGIS
MapBender
GeoServer
GeoNode
GeoNetwork
Novella
Solutions