Vector Tile Service
PostGIS-backed Mapbox Vector Tiles (protobuf, .mvt) for site geometry polygons and mission boundaries.
Two layers are available:
Layer Contentssites
All site geometry polygons — building structure, cooling, power, capture area, etc.
missions
Mission boundary and area-of-interest polygons
URLs
Sites: https://app.raad.com/vectors/sites/{z}/{x}/{y}
Missions: https://app.raad.com/vectors/missions/{z}/{x}/{y}
Feature Properties — Sites Layer
Each feature in the sites layer carries these properties you can use for filtering and styling:
system_type
building_structure, cooling, grid_power, capture_area, etc.
geometry_type
polygon, multipolygon
label
Human-readable name for the geometry
site_id
UUID of the parent site
site_name
Name of the parent site
Setup in QGIS
- Go to Layer → Add Layer → Add Vector Tile Layer
- Click New → New Generic Connection
- Set the URL to
https://app.raad.com/vectors/sites/{z}/{x}/{y} - Open the Authentication tab → click the green + → choose HTTP Header auth
- Set header name
Authorization, valueBearer YOUR_MAP_ACCESS_TOKEN, and save - Click Add — geometry types appear as individually styleable sublayers
Mapbox GL JS — Style by System Type
Use transformRequest (set once on the map) to attach the Bearer header to all Raad tile requests — see the XYZ Raster Tiles section above for the full setup. Then:
map.addSource('raad-sites', {
type: 'vector',
tiles: ['https://app.raad.com/vectors/sites/{z}/{x}/{y}']
});
// Building structures in blue
map.addLayer({
id: 'buildings',
type: 'fill',
source: 'raad-sites',
'source-layer': 'sites',
filter: ['==', ['get', 'system_type'], 'building_structure'],
paint: { 'fill-color': '#4488ff', 'fill-opacity': 0.4 }
});
// Cooling systems in cyan
map.addLayer({
id: 'cooling',
type: 'fill',
source: 'raad-sites',
'source-layer': 'sites',
filter: ['==', ['get', 'system_type'], 'cooling'],
paint: { 'fill-color': '#22d3ee', 'fill-opacity': 0.5 }
});