Open Source MIT License

Enterprise GIS Integration for MapLibre GL JS

Full ArcGIS Enterprise, Server, and Portal integration with authentication, all ESRI layer types, WebMap loading, cloud-native data, and no-code YAML configuration.

12+
Layer Types
4
Auth Methods
8+
GIS Formats
100%
Client-Side

Powerful Features

Everything you need to integrate ArcGIS with modern web mapping applications

🔒

Complete Authentication

OAuth2/PKCE, API Keys, generateToken, and App credentials. Full support for ArcGIS Online, Enterprise, and Server.

🌎

All ESRI Layer Types

FeatureService, DynamicMapService, TiledMapService, VectorTileService, and ImageService with automatic token injection.

🗑

WebMap & WebScene Loading

Load portal items by ID, apply renderers automatically, and fit to initial extents. Extract 2D layers from WebScenes.

Cloud-Optimised GeoTIFF

Stream COGs from public HTTPS or private S3 buckets with pre-signed URLs. In-browser raster analytics via Pyodide.

📈

COPC LiDAR Point Clouds

Visualize COPC, LAZ, and EPT point clouds from S3 or HTTPS with deck.gl-powered rendering and classification coloring.

🦠

DuckDB WASM GIS Loader

Load GeoJSON, Shapefile, KML, GPX, CSV, Parquet, FlatGeoBuf, GeoPackage in-browser. No server required.

📷

Oriented Imagery

360 panoramas and oblique imagery with spatial synchronization, viewing frustums, and image enhancements.

No-Code YAML Config

Define maps in YAML, build with Python CLI. Convert existing WebMaps to YAML. Deploy anywhere as static HTML.

Architecture Overview

A modular, client-side architecture designed for enterprise integration

graph TB
    subgraph Client["Browser Client"]
        ML[MapLibre GL JS]
        MA[MapLibre ArcGIS Library]
    end
    
    subgraph Auth["Authentication Layer"]
        OAUTH[OAuth2/PKCE]
        APIKEY[API Key]
        TOKEN[generateToken]
        APP[App Credentials]
    end
    
    subgraph ESRI["ArcGIS Platform"]
        AGOL[ArcGIS Online]
        ENTERPRISE[ArcGIS Enterprise]
        PORTAL[ArcGIS Portal]
        SERVER[ArcGIS Server]
    end
    
    subgraph Cloud["Cloud Data Sources"]
        S3[AWS S3]
        HTTPS[Public HTTPS]
    end
    
    subgraph Local["In-Browser Processing"]
        DUCKDB[DuckDB WASM]
        PYODIDE[Pyodide Python]
    end
    
    ML --> MA
    MA --> Auth
    Auth --> ESRI
    MA --> Cloud
    MA --> Local
    Cloud --> COG[COG Raster]
    Cloud --> COPC[COPC LiDAR]
    DUCKDB --> GIS[GIS Files]
    PYODIDE --> ANALYTICS[Raster Analytics]
        

Quick Start

Get started in minutes with TypeScript or no-code YAML

app.ts
import maplibregl from 'maplibre-gl';
import { ArcGISAuthManager, ArcGISLoginControl, EsriFeatureServiceControl } from 'maplibre-arcgis';
import 'maplibre-arcgis/styles';

const map = new maplibregl.Map({
  container: 'map',
  style: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',
  center: [-98.5, 39.8],
  zoom: 4,
});

const auth = new ArcGISAuthManager({
  portalUrl: 'https://www.arcgis.com',
  authMethod: 'oauth2',
  clientId: 'YOUR_CLIENT_ID',
});

map.addControl(new ArcGISLoginControl({ auth }), 'top-right');

map.on('load', () => {
  map.addControl(new EsriFeatureServiceControl({
    id: 'my-layer',
    url: 'https://services.arcgis.com/.../FeatureServer/0',
    auth,
  }));
});

Supported Layer Types

Comprehensive support for all major ArcGIS and cloud-native data formats

Type Description Source
feature_service ArcGIS Feature Service (vector tiles) ArcGIS Server/Enterprise/Online
dynamic_map_service ArcGIS Dynamic Map Service (raster) ArcGIS Server
tiled_map_service ArcGIS Tiled Map Service (cached) ArcGIS Server
vector_tile_service ArcGIS Vector Tile Service ArcGIS Enterprise/Online
image_service ArcGIS Image Service ArcGIS Server
webmap Portal WebMap item ArcGIS Portal
catalog Portal Catalog Layer with UI ArcGIS Portal
cog_s3 Cloud-Optimised GeoTIFF S3 / HTTPS
cog_analytics In-browser raster analytics Pyodide
copc_lidar COPC / LAZ / EPT point cloud S3 / HTTPS
duckdb Remote GIS file via DuckDB Any HTTPS

Ready to Get Started?

Deploy enterprise-grade GIS applications with MapLibre GL JS and ArcGIS integration.