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,.gtifDescription: Georeferenced TIFF format
Features: Full support for multi-band rasters, overviews, compression
Cloud Optimized GeoTIFF (COG)
Extension:
.tif,.tiffDescription: Cloud-optimized GeoTIFF format
Features: Optimized for cloud storage and streaming
Benefits: Efficient access to large rasters
Other Formats
JPEG2000:
.jp2,.j2kPNG:
.png(with world file)NetCDF:
.nc,.nc4HDF:
.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_layerstableLayer 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 --versionCheck 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