griddist_latitude_specific - ObjectVision/GeoDMS GitHub Wiki

Grid functions griddist_latitude_specific

The griddist_latitude_specific function calculates grid-based distances accounting for latitude-dependent cell sizes on geographic (lat/long) grids.

syntax

griddist_latitude_specific(impedanceGrid: raster->Float, pointset_raster_rel: pointset->raster)
griddist_latitude_specific(impedanceGrid: raster->Float, pointset_raster_rel: pointset->raster, startvalues: pointset->Float)

Additional variants with combined suffixes:

  • griddist_maximp_latitude_specific - with maximum impedance cutoff
  • griddist_untiled_latitude_specific - non-tiled variant
  • griddist_maximp_untiled_latitude_specific - combination
  • griddist_zonal_latitude_specific - with zone boundary penalties
  • griddist_zonal_maximp_latitude_specific - with both zone penalties and max impedance

definition

Similar to Griddist, but with latitude-dependent distance factors. On geographic coordinate grids (lat/long), cell sizes vary with latitude:

  • At the equator, longitude degrees represent the maximum distance
  • At higher latitudes, longitude degrees represent smaller physical distances
  • Latitude degrees represent consistent distances

This function automatically calculates appropriate distance factors based on row position.

arguments

argument description type
impedanceGrid Impedance value for each cell (non-negative) raster->Float
pointset_raster_rel Relation from points to raster cells pointset->raster
startvalues (optional) Initial impedance values at start points pointset->Float

performance

The algorithm uses Dijkstra's shortest path algorithm with latitude-adjusted distance calculations. Complexity is O(n × log n) where n is the number of grid cells.

The latitude factor computation adds minimal overhead as factors are precomputed per row.

conditions

  • impedanceGrid values must be non-negative
  • The grid should use geographic (lat/long) coordinates for meaningful results
  • Value types of impedanceGrid and startvalues must be compatible Float types

use cases

  • Global or continental-scale accessibility modeling
  • Analysis on geographic coordinate grids where metric accuracy matters
  • Climate and environmental modeling on lat/long grids

example

// Grid in WGS84 lat/long coordinates
attribute<Float64> travel_time (GlobalGrid) := griddist_latitude_specific(
    travel_cost,
    destination/GlobalGrid_rel
);

see also

since version

5.85

⚠️ **GitHub.com Fallback** ⚠️