artemyx logo artemyx
About App Examples GitHub
Core Operations
  • Buffer / Dissolve Vancouver bike walksheds - 200m buffer around bikeways with dissolve.
  • Intersection / Clip San Francisco bike routes intersected with parks - filter and clip modes compared.
  • Union / Merge Portland neighbourhoods merged with development opportunity areas - merge and dissolve modes compared.
  • Difference Ottawa neighbourhoods minus parks and greenspaces - subtract and exclude modes compared.
  • Contains / Within Winnipeg cycling network checked against parks - filter and within modes compared.
  • Distance (Filter) Chicago parks within walking distance of L rail stations.
  • Distance (Annotate) Calgary bikeways colored by distance to nearest LRT station.
  • Centroid Denver park polygons reduced to centroid points.
Labels
  • Labels Calgary communities and LRT stations with text labels - style.labelField for simple labels, type: symbol for full MapLibre expression control.
Expression Styling
  • Interpolate Styling Vancouver parks colored by size - interpolate expression mapping hectares to a green color ramp.
  • Match Styling Victoria road network colored by classification - match expression mapping road classes to a color palette.
Advanced Workflows
  • Multi-Dataset Layers Surrey, Burnaby, and New Westminster parks and active transportation - seven datasets across three municipalities with expression styling.
  • Multi-Step Workflow Edmonton schools + transit - union, buffer, and intersection chained to find dual-access zones.
  • Attribute Filter Vancouver cycling network filtered by infrastructure quality - safer routes via advanced SQL filter, protected lanes via structured filter, walkshed coverage buffered from the result.
deck.gl
  • deck.gl Meteorite Landings NASA meteorite landings rendered with deck.gl GeoJsonLayer - 45,000+ recorded impacts visualized from GeoParquet.
PMTiles
  • PMTiles Vector Tiles Protomaps worldwide vector basemap loaded as a PMTiles dataset - nine source layers styled independently with explicit layer configs.
About App GitHub
# Artemyx Example - Labels
# Calgary communities and LRT stations with text labels.
# Demonstrates two labeling approaches:
#   1. style.labelField on datasets (simple, auto-configured)
#   2. type: symbol in layers (full MapLibre expression control)

map:
  center: [-114.0719, 51.0447]  # Calgary, AB
  zoom: 12
  basemap: carto-dark

datasets:
  # Communities labeled via style.labelField (simple approach)
  - id: communities
    url: "https://data.calgary.ca/resource/surr-xmvs.geojson?$limit=500"
    name: Calgary Communities
    color: "#94a3b8"
    style:
      labelField: name
      labelSize: 11
      labelColor: "#e2e8f0"
      labelHaloColor: "#0f172a"
      labelHaloWidth: 1
      labelMinzoom: 12

  # LRT stations - labels configured via explicit symbol layer below
  - id: lrt_stations
    url: "https://data.calgary.ca/resource/2axz-xm4q.geojson"
    name: LRT Stations
    color: "#60a5fa"

layers:
  # Community polygons as muted fills
  - id: communities-fill
    source: communities
    type: fill
    paint:
      fill-color: "#475569"
      fill-opacity: 0.15

  - id: communities-outline
    source: communities
    type: line
    paint:
      line-color: "#64748b"
      line-width: 0.5
      line-opacity: 0.6

  # LRT stations as circles
  - id: lrt-circles
    source: lrt_stations
    tooltip: stationnam
    type: circle
    paint:
      circle-radius: 5
      circle-color: "#60a5fa"
      circle-stroke-color: "#1e3a5f"
      circle-stroke-width: 1.5

  # LRT station labels via explicit symbol layer (advanced approach)
  # Full control over placement, font, and styling via MapLibre expressions
  - id: lrt-labels
    source: lrt_stations
    type: symbol
    layout:
      text-field: ["get", "stationnam"]
      text-size: 12
      text-font: ["Open Sans Regular"]
      text-offset: [0, 1.2]
      text-anchor: top
      text-allow-overlap: false
      text-padding: 4
    paint:
      text-color: "#93c5fd"
      text-halo-color: "#0f172a"
      text-halo-width: 1.5