Perpendicular Impervious Surface Index
Perpendicular Impervious Surface Index for urban applications
Used in urban mapping.
When to use
- Built-up area mapping and urban extent monitoring
- Impervious surface estimation for stormwater modelling
- Urban heat island analysis (combined with thermal data)
- Land cover change in expanding cities
- Material classification within urban environments
Limitations
- Material heterogeneity within urban pixels produces mixed signatures
- Roof materials vary widely (metal, asphalt, tile, vegetation) within the same city
- Shadow effects from tall buildings distort surface reflectance
- Confusion with bare soil in arid environments is common
- Temporal changes from construction require frequent updates
General Formula
Sensor-Specific Formulas
Most-used sensors — click to show code below
| Sensor | Provider | Formula | Band Mapping |
|---|---|---|---|
| 21AT | 0.8192 * Blue - 0.5735 * NIR + 0.0750 | B→Blue, N→NIR | |
| CG Satellite | 0.8192 * Blue - 0.5735 * NIR + 0.0750 | B→Blue, N→NIR | |
| USGS/NASA | 0.8192 * B2 - 0.5735 * B5 + 0.0750 | B→B2, N→B5 | |
| USDA | 0.8192 * Blue - 0.5735 * NIR + 0.0750 | B→Blue, N→NIR | |
| ESA | 0.8192 * B2 - 0.5735 * B8 + 0.0750 | B→B2, N→B8 | |
| MAXAR | 0.8192 * Blue - 0.5735 * NIR1 + 0.0750 | B→Blue, N→NIR1 | |
| MAXAR | 0.8192 * Blue - 0.5735 * NIR1 + 0.0750 | B→Blue, N→NIR1 |
Spectral Band Visualization — BJ3A
Code Examples
Adapted for BJ3A bands —
Frequently Asked Questions
What is the PISI (Perpendicular Impervious Surface Index) and when should I use it?
Perpendicular Impervious Surface Index for urban applications Urban and built-up indices distinguish impervious surfaces from natural land cover by leveraging the unique spectral properties of construction materials like concrete, asphalt, and metal roofing. PISI is particularly suited for urban. The general formula is 0.8192 * B - 0.5735 * N + 0.0750, which requires B and N spectral bands.
Which satellite sensors can I use to calculate PISI?
PISI is supported by 23 satellite sensors in our database, including BJ3A, BJ3N, Dragonette-1, Dragonette-2/3, Gaofen-1 and 18 more. Each sensor uses different band designations — for example, BJ3A uses the formula 0.8192 * Blue - 0.5735 * NIR + 0.0750, while BJ3N uses 0.8192 * Blue - 0.5735 * NIR + 0.0750. Select a sensor above to see its specific band mapping.
What spectral bands does PISI require and why?
PISI requires B (450-520 nm), N (770-900 nm). These wavelength regions target the specific spectral features that this index is designed to measure.
How do I calculate PISI in Python or R?
Both Python and R code samples are provided above. In Python, use rasterio to load individual band GeoTIFF files and numpy for the arithmetic. In R, the terra package handles raster operations efficiently. The key is to load bands as floating-point arrays to avoid integer division, and to handle division-by-zero cases where the denominator equals zero. For production use, consider applying a valid data mask to exclude no-data pixels before calculation.
PISI vs other urban indices
| Index | Name | How it differs |
|---|---|---|
| H | Hue Index | Alternative urban index — different band combination |
| I | Intensity Index | Alternative urban index — different band combination |
| NDBI | Normalized Difference Built-up Index | Alternative urban index — different band combination |
| NHFD | Non-Homogeneous Feature Difference | Alternative urban index — different band combination |
Related Urban Indices
References
Need help choosing?
Ask our AI assistant for sensor recommendations, code examples, or how PISI compares to other indices for your specific use case.