AR1/docs/import/vector.md

4.8 KiB

Vector Data Import

Import vector spatial data from files or URLs.

Overview

Vector data import supports multiple file formats and import methods for point, line, and polygon data.

Supported Formats

GeoJSON

  • Extension: .geojson, .json
  • Description: GeoJSON Feature Collections
  • Features: Full support for all geometry types and properties

Shapefile

  • Extension: .shp, .zip (containing shapefile components)
  • Description: ESRI Shapefile format
  • Requirements: ZIP archive must contain .shp, .shx, .dbf files
  • Note: .prj file recommended for proper coordinate system

KML

  • Extension: .kml
  • Description: Google Earth KML format
  • Features: Supports placemarks, paths, and polygons

CSV

  • Extension: .csv
  • Description: Comma-separated values with coordinates
  • Requirements: Must have coordinate columns (lat/lon or x/y)
  • Features: Automatic column detection

GeoPackage

  • Extension: .gpkg
  • Description: OGC GeoPackage format
  • Features: Supports multiple layers and raster data

DXF

  • Extension: .dxf
  • Description: AutoCAD DXF format
  • Features: Supports CAD drawings and annotations

PBF

  • Extension: .pbf
  • Description: OpenStreetMap Protocol Buffer Format
  • Requirements: osm2pgsql must be installed
  • Features: High-performance OSM data import

Import Methods

File Upload

Upload files directly from your computer:

  1. Navigate to upload page
  2. Select file or drag and drop
  3. Add optional description
  4. Select target SRS (default: EPSG:4326)
  5. Click "Upload"

File Size Limit: 50MB (configurable)

URL Import

Import from web-accessible URLs:

  1. Navigate to URL import page
  2. Enter data URL
  3. Configure import options
  4. Optionally schedule import
  5. Click "Import"

Supported URL Types:

  • Direct file URLs
  • GeoJSON service endpoints
  • ArcGIS REST services
  • WFS endpoints

Scheduled Import

Set up recurring imports from URLs:

  1. Configure URL import
  2. Set schedule (daily, weekly, monthly)
  3. Configure update mode (replace, append, upsert)
  4. Save schedule

Import Process

Step 1: File Detection

The system automatically detects file type based on:

  • File extension
  • File content (for ambiguous extensions)
  • ZIP archive contents

Step 2: Metadata Extraction

Metadata is extracted including:

  • Feature count
  • Geometry types
  • Bounding box
  • Coordinate system
  • Attribute fields

Step 3: Data Processing

Data is processed based on file type:

  • GeoJSON: Direct parsing and import
  • Shapefile: Extraction from ZIP, coordinate transformation
  • CSV: Coordinate column detection, geometry creation
  • KML: Placemark and geometry extraction
  • PBF: OSM data processing via osm2pgsql

Step 4: PostGIS Import

Processed data is imported into PostGIS:

  • Table creation: spatial_data_{file_id}
  • Geometry conversion to PostGIS format
  • Spatial index creation
  • Attribute storage in JSONB

Step 5: Registration

Dataset is registered in the system:

  • Metadata stored in spatial_files table
  • Access permissions set
  • Version record created

Configuration Options

Target SRS

Select target spatial reference system:

  • EPSG:4326 (WGS84): Default, global coverage
  • EPSG:3857 (Web Mercator): Web mapping standard
  • Other: Any valid EPSG code

Update Mode

For scheduled imports:

  • Replace: Replace all existing data
  • Append: Add new data to existing
  • Upsert: Update existing, insert new (requires key columns)

Filters

Apply filters during import:

  • Spatial Filter: Bounding box or geometry
  • Attribute Filter: SQL WHERE clause
  • Feature Limit: Maximum number of features

Example: GeoJSON Import

# Via API
curl -X POST "https://example.com/upload.php" \
  -F "spatial_file=@data.geojson" \
  -F "description=Sample dataset" \
  -F "targetSRS=EPSG:4326"

Example: URL Import

# Via API
curl -X POST "https://example.com/import_url.php" \
  -d "url=https://example.com/data.geojson" \
  -d "description=Imported from URL" \
  -d "targetSRS=EPSG:4326"

Troubleshooting

Common Issues

File too large

  • Check file size limit configuration
  • Consider splitting large files
  • Use URL import for very large files

Invalid geometry

  • Verify coordinate system
  • Check for invalid geometries in source
  • Use geometry validation tools

Missing coordinate system

  • Ensure .prj file included for shapefiles
  • Specify target SRS manually
  • Check source data metadata

Import timeout

  • Increase PHP execution time limit
  • Use background import for large files
  • Consider chunked upload for very large files