AR1/docs/import/esri.md

5.2 KiB

ESRI/ArcGIS Import

Import spatial data from ArcGIS Server and ArcGIS Online services.

Overview

ESRI/ArcGIS import allows you to harvest and import data from ArcGIS REST services, including MapServer and FeatureServer endpoints.

Supported Services

MapServer

  • Description: ArcGIS MapServer REST service
  • Features: Map layers, feature layers, group layers
  • Use Case: Static map services, published datasets

FeatureServer

  • Description: ArcGIS FeatureServer REST service
  • Features: Editable feature layers, queries
  • Use Case: Dynamic data, editable services

ArcGIS Online

  • Description: ArcGIS Online hosted services
  • Features: Public and private services
  • Use Case: Cloud-hosted datasets

Import Methods

Service Browser

Browse and import from ArcGIS services:

  1. Navigate to ESRI browser page
  2. Enter service URL
  3. Browse available layers
  4. Select layer to import
  5. Configure import options
  6. Click "Import"

Direct URL Import

Import directly from service URL:

  1. Navigate to URL import page
  2. Enter ArcGIS service URL
  3. System detects service type
  4. Configure import options
  5. Click "Import"

Service URL Format

MapServer

https://server/arcgis/rest/services/ServiceName/MapServer
https://server/arcgis/rest/services/ServiceName/MapServer/{layerId}

FeatureServer

https://server/arcgis/rest/services/ServiceName/FeatureServer
https://server/arcgis/rest/services/ServiceName/FeatureServer/{layerId}

ArcGIS Online

https://services.arcgis.com/{orgId}/arcgis/rest/services/{serviceName}/FeatureServer

Import Process

Step 1: Service Discovery

System discovers service information:

  • Service type (MapServer/FeatureServer)
  • Available layers
  • Layer metadata
  • Spatial reference system

Step 2: Layer Selection

Select layer to import:

  • Browse available layers
  • View layer metadata
  • Check geometry types
  • Verify attribute fields

Step 3: Query Configuration

Configure data query:

  • Where Clause: SQL WHERE clause for filtering
  • Out Fields: Fields to include
  • Spatial Filter: Bounding box or geometry
  • Max Records: Maximum features to import

Step 4: Authentication

If required, provide credentials:

  • Username/Password: ArcGIS credentials
  • Token: ArcGIS token (auto-generated)
  • Anonymous: For public services

Step 5: Data Harvesting

Data is harvested from service:

  • Paginated queries (1000 features per batch)
  • Geometry conversion (ArcGIS JSON to GeoJSON)
  • Attribute extraction
  • Coordinate transformation

Step 6: Import

Harvested data is imported:

  • Table creation: spatial_data_{file_id}
  • Geometry conversion to PostGIS
  • Spatial index creation
  • Metadata storage

Query Parameters

Where Clause

SQL WHERE clause for filtering:

OBJECTID > 1000
Category = 'Residential'
Population > 50000

Out Fields

Comma-separated list of fields:

OBJECTID,Name,Category,Population
*  -- All fields

Spatial Filter

Bounding box or geometry:

{
  "geometry": {
    "xmin": -180,
    "ymin": -90,
    "xmax": 180,
    "ymax": 90,
    "spatialReference": {"wkid": 4326}
  },
  "geometryType": "esriGeometryEnvelope"
}

Authentication

Public Services

No authentication required for public services.

Secured Services

For secured services, provide:

  • Username: ArcGIS username
  • Password: ArcGIS password
  • Token: Auto-generated from credentials

Token Management

  • Tokens auto-generated from credentials
  • Tokens cached for session
  • Token refresh handled automatically

Scheduled Imports

Set up recurring imports:

  1. Configure ArcGIS import
  2. Set schedule (daily, weekly, monthly)
  3. Configure update mode
  4. Save schedule

Update Modes:

  • Replace: Replace all data
  • Append: Add new data
  • Upsert: Update existing, insert new

Metadata Harvesting

System harvests comprehensive metadata:

  • Service information
  • Layer metadata
  • Field definitions
  • Spatial reference
  • Extent information

Example: MapServer Import

# Via browser
1. Navigate to ESRI browser
2. Enter: https://server/arcgis/rest/services/ServiceName/MapServer
3. Select layer
4. Configure query
5. Click "Harvest"

Example: FeatureServer Import

{
  "service_url": "https://server/arcgis/rest/services/ServiceName/FeatureServer/0",
  "where": "Category = 'Residential'",
  "out_fields": "*",
  "max_records": 10000,
  "auth_username": "user",
  "auth_password": "pass"
}

Troubleshooting

Common Issues

Service not accessible

  • Verify service URL
  • Check network connectivity
  • Verify service is public or provide credentials

Authentication failed

  • Verify username/password
  • Check service permissions
  • Verify token endpoint accessible

No features returned

  • Check WHERE clause syntax
  • Verify layer has data
  • Check spatial filter bounds

Import timeout

  • Reduce max records
  • Use spatial filter to limit data
  • Consider scheduled import for large datasets

Geometry errors

  • Verify spatial reference system
  • Check for invalid geometries
  • Verify geometry type compatibility