2.2 Distance-Based Weights
Distance-based weights are constructed using distance measures between all pairs of observations. The neighbor relation can be determined by a given distance band, so every other observation that falls within the distance band is considered as neighbors of one observation. Another way to determine neighbor relation is to find K nearest neighbors (KNN) for each observation.
For more information, please read: https://geodacenter.github.io/workbook/4b_dist_weights/lab4b.html
CONTENTS
min_distthreshold()
distance_weights()
knn_weights()
1. min_distthreshold()
In order to avoid isolates (islands) that would result from too stringent a critical distance, the distance must be chosen such that each location has at least one neighbor. Such a distance conforms to a max-min criterion, i.e., it is the largest of the nearest neighbor distances.
Synopsis
Short version
float min_distthreshold(integer gid, geometry the_geom)
Full version
float min_distthreshold(integer gid, geometry the_geom,
boolean is_arc, boolean is_mile)
Arguments
Input Arguments
Type
Description
gid
integer
the feature id of geometry: e.g. gid, fid, ogc_fid, cartodb_id
the_geom
geometry
the geometry (only points and polygons are supported)
is_arc
boolean
if compute arc distance between two observations. Default: FALSE.
is_mile
boolean
if convert distance unit from mile to kilometer(KM). Default: TRUE.
Return
Value
Description
float
the minimum distance that makes sure each observation has at least one neighbor
Examples
SELECT min_distthreshold(gid, the_geom) FROM natregimes;
min_distthreshold
-------------------
1.46578
(1 row)
2. distance_weights()
With the distance band, one can create a distance-based spatial weights using WINDOW function distance_weights()
Synopsis
Short version:
float distance_weights(integer gid, geometry the_geom, float dist_band)
Full Version:
float distance_weights(integer gid, geometry the_geom, float dist_band,
float power,
boolean is_inverse,
boolean is_arc,
boolean is_mile)
Arguments:
Input Arguments
Type
Description
gid
integer
the feature id of geometry: e.g. gid, fid, ogcfid, cartodb_id
the_geom
geometry
the geometry (only points and polygons are supported)
dist_band
float
the distance band/threshold that makes sure each observation has at least one neighbor
power
float
the power/exponent corresponds to the number of times the base (dist_band) is used as a factor. Default: 1.
is_inverse
boolean
if apply inverse on distance value. Default: False.
is_arc
boolean
if compute arc distance between two observations. Default: FALSE.
is_mile
boolean
if convert distance unit from mile to kilometer(KM). Default: TRUE.
Return
Value
Description
bytea
the weights structure for each observation in binary format, which is defined in table 2.1.
Examples
SELECT distance_weights(gid, the_geom, 1.46578) OVER() FROM natregimes;
distance_weights
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
\x770700001400600800001608000014080000130800005f08000017080000c3070000c5070000c70700007107000074070000750700001e0700002a0700002107000020070000b9060000be060000c407000062060000e8e6a83f95d1b13f7049833f76be5f3f622eae3f10b88f3ff95bdf3e1218953f2716533fb6f0893fa2cc093ff686333f3787dd3e9c8b943f74c
8303f7074533f3d608c3f9fe47c3fec4c313faf3bad3f
\x7a0000000e007b0000006d000000cc000000b300000098000000970000008d000000b20000005c0000004e00000025000000670000006800000039000000b9d4af3f5f5dad3f0ba3aa3f80a43a3ffeb2d93eb76d613fa2ed8d3fa3828e3fdba3753f36f80c3f4354b63f5839993fe7b6403fbeb4983f
\xeb0000001200260100003f01000066010000ce000000490100002501000024010000010100000401000002010000ea000000c9000000cb00000096000000b0000000af0000009500000094000000678c663fa55ab03ff45eac3f5639613fe17ea53f227f6a3f6d34943f8fcf523fa3487e3f49c6b73eeb61513f3336683ff2cdb03ece2b9e3fb1c47c3f3a57393f771
6ab3f99bf883f
...
3. knn_weights()
Synopsis
Short version:
float knn_weights(integer gid, geometry the_geom, integer k)
Full Version:
float knn_weights(integer gid, geometry the_geom, integer k,
float power,
boolean is_inverse,
boolean is_arc,
boolean is_mile)
Arguments:
Input Arguments
Type
Description
gid
integer
the feature id of geometry: e.g. gid, fid, ogcfid, cartodb_id
geom
geometry
the geometry (only points and polygons are supported)
k
integer
the k nearest neighbors
power
float
the power/exponent corresponds to the number of times the base (dist_band) is used as a factor. Default: 1.
is_inverse
boolean
if apply inverse on distance value. Default: False.
is_arc
boolean
if compute arc distance between two observations. Default: FALSE.
is_mile
boolean
if convert distance unit from mile to kilometer(KM). Default: TRUE.
Return
Value
Description
bytea
the weights structure for each observation in binary format, which is defined in table 2.1.
Examples
SELECT knn_weights(gid, the_geom, 5) OVER() FROM natregimes;
knn_weights
------------------------------------------------------------------------------------------------
\x770700000500c40700007407000021070000c30700001e070000ec4c313fa2cc093f74c8303ff95bdf3e3787dd3e
\x7a000000050097000000b3000000680000004e00000098000000b76d613f80a43a3fe7b6403f36f80c3ffeb2d93e
\xeb000000050001010000ea000000af000000cb000000020100008fcf523feb61513f3a57393ff2cdb03e49c6b73e
...
Last updated
Was this helpful?