Skip to content

feat: add additional hillshade color ramp with opacity#1337

Open
blacha wants to merge 2 commits into
masterfrom
feat/igor-opacity
Open

feat: add additional hillshade color ramp with opacity#1337
blacha wants to merge 2 commits into
masterfrom
feat/igor-opacity

Conversation

@blacha

@blacha blacha commented Oct 12, 2025

Copy link
Copy Markdown
Member

Motivation

The current igor hillshades are one band uint8 these work great inside of GIS tools like QGIS where users can configure these hillshades to "mulitply" the underlying layers,

For web based tools like maplibre it does not have the same level of layering options and only really allows "overlay" where a one band greyscale image does not work.

The goal here is to convert the one band uint8 into a transparency based layer so it can be overlayed inside maplibre and qgis with a standard overlay function.

To do this the colors are mapped from 0 to RGBA 0,0,0,255 (black) and 255 to 0,0,0,0 (transparent)

0   -> 0 0 0 255
255 -> 0 0 0 0

Using QGIS with the base layer and "multiply" vs QGIS with the opacity output

Multiply Overlay
bq32-multiply bq32-basemaps-simple

Modifications

Adding an additional color ramp for one band hillshades to make a opacity based hillshade

Verification

Comment thread config/tileset/hillshade.igor.dsm.json Outdated
Comment thread config/tileset/hillshade.igor.json Outdated
@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@blacha blacha marked this pull request as ready for review October 27, 2025 22:56
@blacha blacha requested review from a team as code owners October 27, 2025 22:56
@blacha blacha changed the title feat: add additional color ramp with opacity [do-not-merge] feat: add additional color ramp with opacity Oct 30, 2025
@github-actions

This comment was marked as outdated.

@blacha blacha changed the title [do-not-merge] feat: add additional color ramp with opacity [do-not-merge] feat: add additional hillshade color ramp with opacity Dec 1, 2025
@blacha blacha force-pushed the feat/igor-opacity branch from 951a5c3 to 9e8a887 Compare February 1, 2026 21:46
@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@blacha blacha force-pushed the feat/igor-opacity branch from 63b02d5 to c1ee18e Compare May 11, 2026 00:24
@github-actions

Copy link
Copy Markdown
Contributor

Configuration changes detected

Key: ➕ New | 🔄 Updated | 🗑️ Deleted

Tilesets

🔄 Updated

🔄 Hillshade Standard (ts_hillshade) 🌏 | 🗺️

  • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
  • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • ➕ .outputs.[1]:
{
  "title": "Color ramp (Opacity)",
  "name": "color-ramp-opacity",
  "pipeline": [
    {
      "type": "color-ramp",
      "ramp": "0 0 0 0 255\n255 0 0 0 0"
    }
  ],
  "background": {
    "r": 0,
    "g": 0,
    "b": 0,
    "alpha": 0
  }
}
  • ➕ .outputs.0.default: true
  • 🔄 New Zealand DEM Hillshade Overview (new-zealand_dem_hillshade_overview) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_01KB3J6F0WWXK118JN1FZ2EA9R" -> "im_01KGDTNMAD5Y2Z8ZTDBGQHPCF6"
  • 🔄 .3857: "im_01KB3J6EM3GZXG25B81SPA9Y0G" -> "im_01KGDTNMA9W3559386XVHPQC5H"
  • 🔄 New Zealand DEM Hillshade (new-zealand_dem_hillshade) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_4RhQEPRRTEVpQf6B21omXB9der4gRuaCvzTwCeWZSrSK" -> "im_01KGDTGXT7E0MSA1YF93KVCTKW"
  • 🔄 .3857: "im_01KB3J4H9TGEQMT527T0K3FG7F" -> "im_01KGDTGXT7QTC2W91QVEV7SNJA"

🔄 Hillshade Igor DSM (ts_hillshade-igor-dsm) 🌏 | 🗺️

  • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
  • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • ➕ .outputs.[1]:
{
  "title": "Color ramp (Opacity)",
  "name": "color-ramp-opacity",
  "pipeline": [
    {
      "type": "color-ramp",
      "ramp": "0 0 0 0 255\n255 0 0 0 0"
    }
  ],
  "background": {
    "r": 0,
    "g": 0,
    "b": 0,
    "alpha": 0
  }
}
  • ➕ .outputs.0.default: true
  • 🔄 New Zealand DSM Hillshade Igor Overview (new-zealand_dsm_hillshade_igor_overview) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_01KB3J7Q92JGW5WBDQ0TP7897V" -> "im_01KGDTKX1VN1EZES5D3MWYZ5KT"
  • 🔄 .3857: "im_01KB3J7R93HEN0FVS00CRY0BSS" -> "im_01KGDTKXCA47KP2VZ9C2RZMY4P"
  • 🔄 New Zealand DSM Hillshade Igor (new-zealand_dsm_hillshade_igor) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_7Bb5kTZmuzkk2PxaYj5gzov14nsWnPY8HqptQVS1Ddat" -> "im_01KGDTJV2GCYW0FR6ZSG433873"
  • 🔄 .3857: "im_01KB3J3ZRYKCZ9VAHDQ9T4S0ZC" -> "im_01KGDTJT9WD6Z71FRA845S5D4C"

🔄 Hillshade Standard DSM (ts_hillshade-dsm) 🌏 | 🗺️

  • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
  • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • ➕ .outputs.[1]:
{
  "title": "Color ramp (Opacity)",
  "name": "color-ramp-opacity",
  "pipeline": [
    {
      "type": "color-ramp",
      "ramp": "0 0 0 0 255\n255 0 0 0 0"
    }
  ],
  "background": {
    "r": 0,
    "g": 0,
    "b": 0,
    "alpha": 0
  }
}
  • ➕ .outputs.0.default: true
  • 🔄 New Zealand DSM Hillshade Overview (new-zealand_dsm_hillshade_overview) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_01KB3J6SYK2C5JYH0E2P5CPBWQ" -> "im_01KGDTNWQFFWG49N377QT05D51"
  • 🔄 .3857: "im_01KB3J6SZTTJYEKJ8SM5E31P2Y" -> "im_01KGDTN7DVCDD57RSJ25499AEA"
  • 🔄 New Zealand DSM Hillshade (new-zealand_dsm_hillshade) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_9hTeUTojo5AJp9caFLoTyosVzSCrnoajrsPs2xWU4W59" -> "im_01KGDTJB8EEVV0EC0PZFN00122"
  • 🔄 .3857: "im_01KB3J47HJ11CKT12YH7SN3V4Y" -> "im_01KGDTJ9PQS19QZS1YQHB033V4"

🔄 Hillshade Igor (ts_hillshade-igor) 🌏 | 🗺️

  • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
  • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • ➕ .outputs.[1]:
{
  "title": "Color ramp (Opacity)",
  "name": "color-ramp-opacity",
  "pipeline": [
    {
      "type": "color-ramp",
      "ramp": "0 0 0 0 255\n255 0 0 0 0"
    }
  ],
  "background": {
    "r": 0,
    "g": 0,
    "b": 0,
    "alpha": 0
  }
}
  • ➕ .outputs.0.default: true
  • 🔄 New Zealand DEM Hillshade Igor Overview (new-zealand_dem_hillshade_igor_overview) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_01KB3JBB0YKN1X4H6ARJG4D3M7" -> "im_01KGDTKJNK70X39SZXQFFNBSJX"
  • 🔄 .3857: "im_01KB3JB8GZGD04KJ6232EEFFNN" -> "im_01KGDTKJNFXQ4MRGN39XCK18X3"
  • 🔄 New Zealand DEM Hillshade Igor (new-zealand_dem_hillshade_igor) 🌏 | 🗺️

    • 🎨⭐ Color ramp (color-ramp): 🌏 | 🗺️
    • 🎨 Color ramp (Opacity) (color-ramp-opacity): 🌏 | 🗺️

  • 🔄 .2193: "im_E9EpEudboVNf2X19BDd17V1AdWpRvvsYRuXMzLcbXJUU" -> "im_01KGDTK9WH8SGA44M1MZ7NTQTK"
  • 🔄 .3857: "im_01KB3J3E57VVB65FSE8VX737AS" -> "im_01KGDTK9WJX289ASM4ZSV9D10Q"

@blacha blacha changed the title [do-not-merge] feat: add additional hillshade color ramp with opacity feat: add additional hillshade color ramp with opacity May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant