Methods
azpGreedy(weights, k, values, inits, initRegion, minBoundValues, minBounds, maxBoundValues, maxBounds, scaleMethod, distanceMethod, seed) → {Object}
A greedy algorithm to solve the AZP problem
.A greedy algorithm to solve the AZP problem
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
k |
Number | The number of spatially constrained clusters |
values |
Array | The list of numeric vectors of selected variable. |
inits |
Number | The number of construction re-runs, which is for ARiSeL "automatic regionalization with initial seed location" |
initRegion |
Array | The initial regions that the local search starts with. Default is empty. means the local search starts with a random process to "grow" clusters |
minBoundValues |
Array | The list of numeric array of selected minimum bounding variables. |
minBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be greater than. |
maxBoundValues |
Array | The list of numeric array of selected maximum bounding variables. |
maxBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be less than. |
scaleMethod |
String | The scaling methods {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'}. Defaults to 'standardize'. |
distanceMethod |
String | The distance methods {"euclidean", "manhattan"}. Defaults to 'euclidean'. |
seed |
Number | The seed for random number generator. |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
azpSA(weights, k, values, coolingRate, saMaxIt, inits, initRegion, minBoundValues, minBounds, maxBoundValues, maxBounds, scaleMethod, distanceMethod, seed) → {Object}
A simulated annealing algorithm to solve the AZP problem
.A simulated annealing algorithm to solve the AZP problem
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
k |
Number | The number of spatially constrained clusters |
values |
Array | The list of numeric vectors of selected variable. |
coolingRate |
Number | The number of iterations of simulated annealing. Defaults to 1 |
saMaxIt |
Number | The number of iterations of simulated annealing. Defaults to 1 |
inits |
Number | The number of construction re-runs, which is for ARiSeL "automatic regionalization with initial seed location" |
initRegion |
Array | The initial regions that the local search starts with. Default is empty. means the local search starts with a random process to "grow" clusters |
minBoundValues |
Array | The list of numeric array of selected minimum bounding variables. |
minBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be greater than. |
maxBoundValues |
Array | The list of numeric array of selected maximum bounding variables. |
maxBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be less than. |
scaleMethod |
String | The scaling methods {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'}. Defaults to 'standardize'. |
distanceMethod |
String | The distance methods {"euclidean", "manhattan"}. Defaults to 'euclidean'. |
seed |
Number | The seed for random number generator. |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
azpTabu(weights, k, values, tabuLength, convTabu, inits, initRegion, minBoundValues, minBounds, maxBoundValues, maxBounds, scaleMethod, distanceMethod, seed) → {Object}
A tabu-search algorithm to solve the AZP problem.
A tabu-search algorithm to solve the AZP problem.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
k |
Number | The number of spatially constrained clusters |
values |
Array | The list of numeric vectors of selected variable. |
tabuLength |
Number | The length of a tabu search heuristic of tabu algorithm. Defaults to 10. |
convTabu |
Number | The number of non-improving moves. Defaults to 10. |
inits |
Number | The number of construction re-runs, which is for ARiSeL "automatic regionalization with initial seed location" |
initRegion |
Array | The initial regions that the local search starts with. Default is empty. means the local search starts with a random process to "grow" clusters |
minBoundValues |
Array | The list of numeric array of selected minimum bounding variables. |
minBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be greater than. |
maxBoundValues |
Array | The list of numeric array of selected maximum bounding variables. |
maxBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be less than. |
scaleMethod |
String | The scaling methods {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'}. Defaults to 'standardize'. |
distanceMethod |
String | The distance methods {"euclidean", "manhattan"}. Defaults to 'euclidean'. |
seed |
Number | The seed for random number generator. |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
callLisa(weights, values, permutations, seed) → {Object}
Helper function: apply LISA statistics
.Helper function: apply LISA statistics
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
values |
Array | The values that local moran statistics will be applied on. |
permutations |
Number | The number of permutations for the LISA computation. Default: 999.
|
seed |
Number | The seed for random number generator used in LISA statistics. Default: 123456789. |
- Source:
Returns:
An instance of LisaResult
- Type
- Object
cartogram(mapUid, values) → {Array}
Create cartogram using the values in the map.
Create cartogram using the values in the map. In cartograms, the size of a variable's value corresponds to the size of a shape. The location of the circles is aligned as closely as possible to the location of the associated area through a nonlinear optimization routine
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map Id |
values |
Array | The values that the classify algorithm will be applied on. |
- Source:
Returns:
Returns an array of circles, which is defined as: { "properties": { "id" : 1}, "position": [0.01, 0.01], "radius": 0.1 }
- Type
- Array
checkDistanceMethod(distanceMethod) → {Boolean}
Helper function: check if distance method is valid.
Helper function: check if distance method is valid.
Parameters:
Name | Type | Description |
---|---|---|
distanceMethod |
String |
- Source:
Returns:
- Type
- Boolean
checkInputKernel(kernel) → {Boolean}
check if input kernel is valid
.check if input kernel is valid
Parameters:
Name | Type | Description |
---|---|---|
kernel |
* |
- Source:
Returns:
- Type
- Boolean
checkMapUid(mapUid) → {Boolean}
Check if map uid is valid
.Check if map uid is valid
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String |
- Source:
Returns:
- Type
- Boolean
checkScaleMethod(scaleMethod) → {Boolean}
Helper function: check if scale method is valid.
Helper function: check if scale method is valid.
Parameters:
Name | Type | Description |
---|---|---|
scaleMethod |
String |
- Source:
Returns:
- Type
- Boolean
customBreaks(breakName, values, k) → {Object}
Custom breaks that wraps {'natural_breaks', 'quantile_breaks', 'stdDevBreaks', 'hinge15Breaks', 'hinge30Breaks'}
.Custom breaks that wraps {'natural_breaks', 'quantile_breaks', 'stdDevBreaks', 'hinge15Breaks', 'hinge30Breaks'}
Parameters:
Name | Type | Description |
---|---|---|
breakName |
String | The break name: {'natural_breaks', 'quantile_breaks', 'stdDevBreaks', 'hinge15Breaks', 'hinge30Breaks'} |
values |
* | The values of selected variable. |
k |
* | The number of breaks. |
- Source:
Returns:
{'k','bins','breaks','id_array'}
- Type
- Object
distanceMethods() → {Object}
Help function: Get distance methods.
Help function: Get distance methods.
- Source:
Returns:
- Type
- Object
empiricalBayesRisk(eventValues, baseValues) → {Array}
Empirical Bayes (EB) Smoothed Rate
.Empirical Bayes (EB) Smoothed Rate
Parameters:
Name | Type | Description |
---|---|---|
eventValues |
Array | The values of an event variable. |
baseValues |
Array | The values of an base variable. |
- Source:
Returns:
- Type
- Array
excessRisk(eventValues, baseValues) → {Array}
Excess Risk
.Excess Risk
Parameters:
Name | Type | Description |
---|---|---|
eventValues |
Array | The values of an event variable. |
baseValues |
Array | The values of an base variable. |
- Source:
Returns:
- Type
- Array
free()
Free the memory used by wasm
.Free the memory used by wasm
- Source:
generateUid() → {String}
Help function: create a unique id for a Geojson map
.Help function: create a unique id for a Geojson map
- Source:
Returns:
- Type
- String
getBounds(mapUid) → {Array}
Get map bounds
.Get map bounds
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id that has been read into GeoDaWasm. |
- Source:
Returns:
- Type
- Array
getCentroids(mapUid) → {Array}
Get the centroids of geojson map.
Get the centroids of geojson map. Same as GEOS.algorithm.Centroid: the centroid were computed as a weighted sum of the centroids of a decomposition of the area into (possibly overlapping) triangles. The algorithm has been extended to handle holes and multi-polygons
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id |
- Source:
Returns:
Returns an array of [x,y] coordinates (not projected) of the centroids.
- Type
- Array
Example
// In node.js
const fs = require('fs');
const jsgeoda = require('jsgeoda');
const geoda = await jsgeoda.New();
let ab = fs.readFileSync("NAT.geojson").buffer;
let nat = geoda.read_geojson("NAT", ab);
let cent = geoda.get_centroids(nat);
getClusteringResult(r) → {Object}
Helper function: get clustering results
.Helper function: get clustering results
Parameters:
Name | Type | Description |
---|---|---|
r |
Object |
- Source:
Returns:
{'clusters', 'total_ss', 'between_ss', 'within_ss', 'ratio'}
- Type
- Object
getClusters() → {Array}
cluster indicators
.cluster indicators
- Source:
Returns:
- Type
- Array
getColors() → {Array}
Get colors
.Get colors
- Source:
Returns:
- Type
- Array
getColumn(mapUid, colName) → {Array}
Get the values (numeric|string) of a column or field.
Get the values (numeric|string) of a column or field.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
colName |
String | A string of column or field name. |
- Source:
Returns:
Returns the values of a column of field.
- Type
- Array
getColumnNames(mapUid) → {Array}
Get the column names of the geojson map
.Get the column names of the geojson map
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
- Source:
Returns:
Returns the column names
- Type
- Array
getConnectivity(weights) → {Object}
Get connectivity graph from a weights object
.Get connectivity graph from a weights object
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
- Source:
Returns:
{arcs, targets, sources}
- Type
- Object
getDistanceWeights(mapUid, distThreshold, power, isInverse, isArc, isMile) → {Object}
Create a Distance-based weights.
Create a Distance-based weights.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
distThreshold |
Number | A positive numeric value of distance threshold used to find neighbors. |
power |
Number | The power (or exponent) indicates how many times to use the number in a multiplication. |
isInverse |
Boolean | A bool flag indicates whether or not to apply inverse on distance value. |
isArc |
Boolean | A bool flag indicates if compute arc distance (true) or Euclidean distance (false). |
isMile |
Boolean | A bool flag indicates if the distance unit is mile (true) or km (false). |
- Source:
Returns:
An instance of GeoDaWeights
- Type
- Object
getKernelKnnWeights(mapUid, k, kernel, adaptiveBandwidth, useKernelDiagonals, power, isInverse, isArc, isMile) → {Object}
Create a (adaptive) KNN kernel weights.
Create a (adaptive) KNN kernel weights.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
k |
Number | A positive integer number for k-nearest neighbors |
kernel |
String | The name of the kernel function, which could be one of the following: {triangular, uniform, quadratic, epanechnikov, quartic, gaussian} |
adaptiveBandwidth |
Boolean | A bool flag indicates whether to use adaptive bandwidth or the max distance of all observation to their k-nearest neighbors. |
useKernelDiagonals |
Boolean | A bool flag indicates whether or not the lower order neighbors should be included in the weights structure. |
power |
Number | The power (or exponent) indicates how many times to use the number in a multiplication. |
isInverse |
Boolean | A bool flag indicates whether or not to apply inverse on distance value. |
isArc |
Boolean | A bool flag indicates if compute arc distance (true) or Euclidean distance (false). |
isMile |
Boolean | A bool flag indicates if the distance unit is mile (true) or km (false) |
- Source:
Returns:
An instance of GeoDaWeights
- Type
- Object
getKernelWeights(mapUid, bandwidth, kernel, adaptive_bandwidth, useKernelDiagonals, power, isInverse, isArc, isMile) → {Object}
Create a kernel weights with fixed bandwidth.
Create a kernel weights with fixed bandwidth.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
bandwidth |
Number | The bandwidth (distance threshold). |
kernel |
String | The name of the kernel function, which could be one of the following: {triangular, uniform, quadratic, epanechnikov, quartic, gaussian} |
adaptive_bandwidth |
Boolean | A bool flag indicates whether to use adaptive bandwidth or the max distance of all observation to their k-nearest neighbors. |
useKernelDiagonals |
Boolean | A bool flag indicates whether or not the lower order neighbors should be included in the weights structure. |
power |
Number | The power (or exponent) indicates how many times to use the number in a multiplication. |
isInverse |
Boolean | A bool flag indicates whether or not to apply inverse on distance value. |
isArc |
Boolean | A bool flag indicates if compute arc distance (true) or Euclidean distance (false). |
isMile |
Boolean | A bool flag indicates if the distance unit is mile (true) or km (false). |
- Source:
Returns:
An instance of GeoDaWeights
- Type
- Object
getKnnWeights(mapUid, k, power, isInverse, isArc, isMile) → {Object}
Create a K-Nearest Neighbors weights.
Create a K-Nearest Neighbors weights.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
k |
Number | A positive integer number for k-nearest neighbors |
power |
Number | The power (or exponent) indicates how many times to use the number in a multiplication. |
isInverse |
Boolean | A bool flag indicates whether or not to apply inverse on distance value. |
isArc |
Boolean | A bool flag indicates if compute arc distance (true) or Euclidean distance (false). |
isMile |
Boolean | A bool flag indicates if the distance unit is mile (true) or km (false). |
- Source:
Returns:
An instance of GeoDaWeights
- Type
- Object
getLabels() → {Array}
Get labels
.Get labels
- Source:
Returns:
- Type
- Array
getLisaValues() → {Array}
lisa values
.lisa values
- Source:
Returns:
- Type
- Array
getMapType(mapUid) → {Number}
Get map type
.Get map type
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id |
- Source:
Returns:
return map type
- Type
- Number
getMinDistanceThreshold(mapUid, isArc, isMile) → {Number}
Get a distance that guarantees that every observation has at least 1 neighbor.
Get a distance that guarantees that every observation has at least 1 neighbor.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
isArc |
Boolean | A bool flag indicates if compute arc distance (true) or Euclidean distance (false). |
isMile |
Boolean | A bool flag indicates if the distance unit is mile (true) or km (false). |
- Source:
Returns:
- Type
- Number
getNeighbors(weights, idx) → {Array}
Get neighbors (indices) of an observation.
Get neighbors (indices) of an observation.
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
idx |
Number | An integer number represents the index of which observation to get its neighbors. |
- Source:
Returns:
The indices of neighbors.
- Type
- Array
getNeighbors() → {Array}
nearest neighbors
.nearest neighbors
- Source:
Returns:
- Type
- Array
getNumberObservations(mapUid) → {Number}
Get the number of observations or rows in the geojson map.
Get the number of observations or rows in the geojson map.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id |
- Source:
Returns:
Returns the number of observations or rows in the geojson map.
- Type
- Number
getPValues() → {Array}
psudo-p values
.psudo-p values
- Source:
Returns:
- Type
- Array
getQueenWeights(mapUid, order, includeLowerOrder, precision_threshold) → {Object}
Create a contiguity weights.
Create a contiguity weights.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
order |
Number | An integet number for order of contiguity |
includeLowerOrder |
Boolean | Indicate if include lower order when creating weights |
precision_threshold |
Number | Used when the precision of the underlying shape file is insufficient to allow for an exact match of coordinates to determine which polygons are neighbors. |
- Source:
Returns:
An instance of GeoDaWeights
- Type
- Object
getRookWeights(mapUid, order, includeLowerOrder, precisionThreshold) → {Object}
Create a Rook contiguity weights.
Create a Rook contiguity weights.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id. |
order |
Number | An integet number for order of contiguity |
includeLowerOrder |
Boolean | Indicate if include lower order when creating weights |
precisionThreshold |
Number | Used when the precision of the underlying shape file is insufficient to allow for an exact match of coordinates to determine which polygons are neighbors. |
- Source:
Returns:
An instance of GeoDaWeights
- Type
- Object
getViewport(mapUid, mapHeight, mapWidth) → {Object}
Get viewport for e.g.
Get viewport for e.g. Deck.gl or GoogleMaps
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id |
mapHeight |
Number | The height of map (screen pixel) |
mapWidth |
Number | The width of map (screen pixel) |
- Source:
Returns:
- Type
- Object
has(mapUid) → {Boolean}
Check if a geojson map has been read into GeoDaWasm.
Check if a geojson map has been read into GeoDaWasm.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique map id that has been read into GeoDaWasm. |
- Source:
Returns:
Returns True if the geojson map has been read. Otherwise, returns False.
- Type
- Boolean
hinge15Breaks(values) → {Array}
Boxplot (hinge=1.5) breaks, including the top, bottom, median, and two quartiles of the data
.Boxplot (hinge=1.5) breaks, including the top, bottom, median, and two quartiles of the data
Parameters:
Name | Type | Description |
---|---|---|
values |
Array | The values of selected variable. |
- Source:
Returns:
Returns an array of break point values.
- Type
- Array
hinge30Breaks(values) → {Array}
Boxplot (hinge=3.0) breaks, including the top, bottom, median, and two quartiles of the data
.Boxplot (hinge=3.0) breaks, including the top, bottom, median, and two quartiles of the data
Parameters:
Name | Type | Description |
---|---|---|
values |
Array | The values of selected variable. |
- Source:
Returns:
Returns an array of break point values.
- Type
- Array
isInt(n) → {Boolean}
Help function: check if number is an integer.
Help function: check if number is an integer.
Parameters:
Name | Type | Description |
---|---|---|
n |
Number |
- Source:
Returns:
- Type
- Boolean
localBiJoinCount(weights, values1, values2, permutations, significanceCutoff, seed) → {Object}
Bivariate or no-colocation local join count works when two events cannot happen in the same location.
Bivariate or no-colocation local join count works when two events cannot happen in the same location. It can be used to identify negative spatial autocorrelation.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
values1 |
Array | The first numeric column that contains the binary values (e.g. 0 and 1) for LISA statistics |
values2 |
Array | The second numeric column that contains the binary values (e.g. 0 and 1) for LISA statistics |
permutations |
Number | The number of permutations for the LISA computation. Default: 999.
|
significanceCutoff |
Number | The cutoff value for significance p-values to filter not-significant clusters. Default: 0.05 |
seed |
Number | The seed for random number generator |
- Source:
Returns:
LISA object GeoDaLisa
- Type
- Object
localG(weights, values, permutations, seed) → {Object}
Apply local G statistics
.Apply local G statistics
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
values |
Array | The values that local moran statistics will be applied on. |
permutations |
Number | the number of permutations for the LISA computation. Default: 999.
|
seed |
Number | The seed for random number generator used in LISA statistics. Default: 123456789. |
- Source:
Returns:
An instance of LisaResult
- Type
- Object
localGeary(weights, values, permutations, permutationMethod, seed) → {Object}
Apply local Geary statistics
.Apply local Geary statistics
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
values |
Array | The values that local moran statistics will be applied on. |
permutations |
Number | the number of permutations for the LISA computation. Default: 999. |
permutationMethod |
String | The permutation method used for the LISA computation. Options are 'complete', 'lookup'. Default: 'lookup'. |
seed |
Number | The seed for random number generator used in LISA statistics. Default: 123456789. |
- Source:
Returns:
An instance of LisaResult
- Type
- Object
localGStar(weights, values, permutations, seed) → {Object}
Apply local G* statistics
.Apply local G* statistics
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
values |
Array | The values that local moran statistics will be applied on. |
permutations |
Number | the number of permutations for the LISA computation. Default: 999.
|
seed |
Number | The seed for random number generator used in LISA statistics. Default: 123456789. |
- Source:
Returns:
An instance of LisaResult
- Type
- Object
localJoinCount(weights, values, permutations, seed) → {Object}
Apply local Join Count statistics
.Apply local Join Count statistics
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
values |
Array | The values that local moran statistics will be applied on. |
permutations |
Number | the number of permutations for the LISA computation. Default: 999.
|
seed |
Number | The seed for random number generator used in LISA statistics. Default: 123456789. |
- Source:
Returns:
An instance of LisaResult
- Type
- Object
localMoran(weights, values, permutations, seed) → {Object}
Apply local Moran statistics
.Apply local Moran statistics
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
values |
Array | The values that local moran statistics will be applied on. |
permutations |
Number | The number of permutations for the LISA computation. Default: 999.
|
seed |
Number | The seed for random number generator used in LISA statistics. Default: 123456789. |
- Source:
Returns:
An instance of LisaResult
- Type
- Object
localMultiGeary(weights, values1, permutations, significanceCutoff, seed) → {Object}
Multivariate local geary is a multivariate extension of local geary which measures the extent to which neighbors in multiattribute space are also neighbors in geographical space.
Multivariate local geary is a multivariate extension of local geary which measures the extent to which neighbors in multiattribute space are also neighbors in geographical space.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
values1 |
Array | The array of the numeric columns that contains the values for LISA statistics |
permutations |
Number | The number of permutations for the LISA computation. Default: 999.
|
significanceCutoff |
Number | The cutoff value for significance p-values to filter not-significant clusters. Default: 0.05 |
seed |
Number | The seed for random number generator |
- Source:
Returns:
LISA object GeoDaLisa
- Type
- Object
localMultiJoinCount(weights, values, permutations, significanceCutoff, seed) → {Object}
Multivariate or colocation local join count (2019) works when two or more events happen in the same location.
Multivariate or colocation local join count (2019) works when two or more events happen in the same location.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
values |
Array | The array of numeric columns that contains the binary values (e.g. 0 and 1) for LISA statistics |
permutations |
Number | The number of permutations for the LISA computation. Default: 999.
|
significanceCutoff |
Number | The cutoff value for significance p-values to filter not-significant clusters. Default: 0.05 |
seed |
Number | The seed for random number generator |
- Source:
Returns:
LISA object GeoDaLisa
- Type
- Object
maxpGreedy(weights, values, iterations, minBoundValues, minBounds, maxBoundValues, maxBounds, scaleMethod, distanceMethod, seed) → {Object}
A greedy algorithm to solve the max-p-region problem.
A greedy algorithm to solve the max-p-region problem.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
values |
Array | The list of numeric vectors of selected variable. |
iterations |
Number | The number of iterations of greedy algorithm. Defaults to 1. |
minBoundValues |
Array | The list of numeric array of selected minimum bounding variables. |
minBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be greater than. |
maxBoundValues |
Array | The list of numeric array of selected maximum bounding variables. |
maxBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be less than. |
scaleMethod |
String | The scaling methods {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'}. Defaults to 'standardize'. |
distanceMethod |
String | The distance methods {"euclidean", "manhattan"}. Defaults to 'euclidean'. |
seed |
Number | The seed for random number generator |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
maxpSA(weights, values, coolingRate, saMaxIt, iterations, minBoundValues, minBounds, maxBoundValues, maxBounds, scaleMethod, distanceMethod, seed) → {Object}
A simulated annealing algorithm to solve the max-p-region problem.
A simulated annealing algorithm to solve the max-p-region problem.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
values |
Array | The list of numeric vectors of selected variable. |
coolingRate |
Number | The cooling rate of a simulated annealing algorithm. Defaults to 0.85 |
saMaxIt |
Number | The number of iterations of simulated annealing. Defaults to 1 |
iterations |
Number | The number of iterations of greedy algorithm. Defaults to 1. |
minBoundValues |
Array | The list of numeric array of selected minimum bounding variables. |
minBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be greater than. |
maxBoundValues |
Array | The list of numeric array of selected maximum bounding variables. |
maxBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be less than. |
scaleMethod |
String | The scaling methods {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'}. Defaults to 'standardize'. |
distanceMethod |
String | The distance methods {"euclidean", "manhattan"}. Defaults to 'euclidean'. |
seed |
Number | The seed for random number generator. |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
maxpTabu(weights, values, tabuLength, convTabu, iterations, minBoundValues, minBounds, maxBoundValues, maxBounds, scaleMethod, distanceMethod, seed) → {Object}
A tabu-search algorithm to solve the max-p-region problem
.A tabu-search algorithm to solve the max-p-region problem
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
values |
Array | The list of numeric vectors of selected variable. |
tabuLength |
Number | The length of a tabu search heuristic of tabu algorithm. Defaults to 10. |
convTabu |
Number | The number of non-improving moves. Defaults to 10. |
iterations |
Number | The number of iterations of greedy algorithm. Defaults to 1. |
minBoundValues |
Array | The list of numeric array of selected minimum bounding variables. |
minBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be greater than. |
maxBoundValues |
Array | The list of numeric array of selected maximum bounding variables. |
maxBounds |
Array | The list of minimum value that the sum value of bounding variables in each cluster should be less than. |
scaleMethod |
String | The scaling methods {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'}. Defaults to 'standardize'. |
distanceMethod |
String | The distance methods {"euclidean", "manhattan"}. Defaults to 'euclidean'. |
seed |
Number | The seed for random number generator. |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
multiQuantileLisa(weights, ks, quantiles, values, permutations, significanceCutoff, seed) → {Object}
Multivariate Quantile LISA (2019) is a type of local spatial autocorrelation that applies multivariate local join count statistics to quantiles of multiple continuous variables.
Multivariate Quantile LISA (2019) is a type of local spatial autocorrelation that applies multivariate local join count statistics to quantiles of multiple continuous variables.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
ks |
Array | The array of integer numbers that specify quantiles for each variable |
quantiles |
Array | The array of integer numbers that specify which quantile is used for each variable |
values |
Array | The array of numeric columns that contains the binary values (e.g. 0 and 1) for LISA statistics |
permutations |
Number | The number of permutations for the LISA computation. Default: 999.
|
significanceCutoff |
Number | The cutoff value for significance p-values to filter not-significant clusters. Default: 0.05 |
seed |
Number | The seed for random number generator |
- Source:
Returns:
LISA object GeoDaLisa
- Type
- Object
naturalBreaks(k, values) → {Array}
Natural breaks
.Natural breaks
Parameters:
Name | Type | Description |
---|---|---|
k |
Number | Number of breaks |
values |
Array | The values that the classify algorithm will be applied on. |
- Source:
Returns:
Returns an array of break point values.
- Type
- Array
neighborMatchTest(mapUid, knn, data, scaleMethod, distanceMethod, power, isInverse, isArc, isMile) → {Array}
The local neighbor match test is a method to identify significant locations by assessing the extent of overlap between k-nearest neighbors in geographical space and k-nearest neighbors in multi-attribute space.
The local neighbor match test is a method to identify significant locations by assessing the extent of overlap between k-nearest neighbors in geographical space and k-nearest neighbors in multi-attribute space.
Parameters:
Name | Type | Description |
---|---|---|
mapUid |
String | A unique string represents the geojson map that has been read into GeoDaWasm. |
knn |
Number | k nearest neighbor for both attribute and geographical space |
data |
Array | The array of numeric columns that contains the values for neighbor match test |
scaleMethod |
String | The scaling method: {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'}. Default: 'standardize' |
distanceMethod |
String | The distance method: {'euclidean', 'manhattan'}. Default: 'euclidean'. |
power |
Number | The power/exponent corresponds to the number of times the base (dist_band) is used as a factor. Default: 1. |
isInverse |
Boolean | The bool value indicates if apply inverse on distance value. Default: False. |
isArc |
Boolean | The bool value indicates if compute arc distance between two observations. Default: FALSE. |
isMile |
Boolean | The bool value indicates if convert distance unit from mile to kilometer(KM). Default: TRUE. |
- Source:
Returns:
{'cardinality', 'probability'}
- Type
- Array
New() → {Object}
Create a GeoDaWasm
instance built using WASM.
Create a GeoDaWasm
instance built using WASM.
Returns:
geoda - a GeoDaWasm instance built from WASM
- Type
- Object
Example
const jsgeoda = require('jsgeoda')
let geoda = await jsgeoda.New()
parseVecDouble(input) → {Object}
Help function: convert GeoDa std::vector to javascript Array e.g.
Help function: convert GeoDa std::vector to javascript Array e.g. []
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
parseVecInt(input) → {Object}
Help function: convert GeoDa std::vector to javascript Array e.g.
Help function: convert GeoDa std::vector to javascript Array e.g. []
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
parseVecString(input) → {Object}
Help function: convert GeoDa std::vector to javascript Array e.g.
Help function: convert GeoDa std::vector to javascript Array e.g. []
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
parseVecVecDouble(input) → {Object}
Help function: convert GeoDa 2d std::vector to javascript 2d Array e.g.
Help function: convert GeoDa 2d std::vector to javascript 2d Array e.g. [[]]
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
parseVecVecInt(input) → {Object}
Help function: convert GeoDa 2d std::vector to javascript 2d Array e.g.
Help function: convert GeoDa 2d std::vector to javascript 2d Array e.g. [[]]
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
percentileBreaks(values) → {Array}
Percentile breaks
.Percentile breaks
Parameters:
Name | Type | Description |
---|---|---|
values |
Array | The values of selected variable. |
- Source:
Returns:
Returns an array of break point values.
- Type
- Array
quantileBreaks(k, values) → {Array}
Quantile breaks
.Quantile breaks
Parameters:
Name | Type | Description |
---|---|---|
k |
Number | The number of breaks |
values |
Array | The values of selected variable. |
- Source:
Returns:
Returns an array of break point values.
- Type
- Array
quantileLisa(weights, values, permutations, seed) → {Object}
Apply Quantile LISA statistics
.Apply Quantile LISA statistics
Parameters:
Name | Type | Description |
---|---|---|
weights |
String | The weights object |
values |
Array | The values that local moran statistics will be applied on. |
permutations |
Number | the number of permutations for the LISA computation. Default: 999.
|
seed |
Number | The seed for random number generator used in LISA statistics. Default: 123456789. |
- Source:
Returns:
An instance of LisaResult
- Type
- Object
readGeoJSON(ab) → {String}
Read a geojson map from a file object in the format of ArrayBuffer.
Read a geojson map from a file object in the format of ArrayBuffer.
You can use readFileSync
in fs to read the geojson file and
return a ArrayBuffer
;
Or use FileReader.readAsArrayBuffer
to read the content of a
specified Blob
of File
.
Parameters:
Name | Type | Description |
---|---|---|
ab |
ArrayBuffer | The content of the geojson file in format of ArrayBuffer. |
- Source:
Returns:
A unique id of the geoda object.
- Type
- String
Example
// In node.js
const fs = require('fs');
const jsgeoda = require('jsgeoda');
const geoda = await jsgeoda.New();
let ab = fs.readFileSync("NAT.geojson").buffer;
let nat = geoda.read_geojson(ab);
let numObs = geoda.get_numobs(nat);
E.g. the geojson file name.
redcap(weights, k, values, method, minBound, boundVals, scaleMethod, distanceMethod) → {Object}
Regionalization with dynamically constrained agglomerative clustering and partitioning (REDCAP)
.Regionalization with dynamically constrained agglomerative clustering and partitioning (REDCAP)
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
k |
Number | The number of clusters |
values |
Array | The list of numeric vectors of selected variable |
method |
String | The REDCAP method: {'single-linkage', 'average-linkage', 'complete-linkage', 'Ward-linkage'}. |
minBound |
Number | The minimum value that the sum value of bounding variable in each cluster should be greater than |
boundVals |
Array | The numeric vector of selected bounding variable |
scaleMethod |
String | The scaling method: {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'} |
distanceMethod |
String | The distance method: {"euclidean", "manhattan"} |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
redcapMethods() → {Array}
Helper function: Get REDCAP methods.
Helper function: Get REDCAP methods.
- Source:
Returns:
- Type
- Array
scaleMethods() → {Object}
Help function: Get scale methods.
Help function: Get scale methods.
- Source:
Returns:
- Type
- Object
schc(weights, k, values, method, minBound, boundVals, scaleMethod, distanceMethod) → {Object}
Spatially Constrained Hierarchical Clucstering (SCHC)
.Spatially Constrained Hierarchical Clucstering (SCHC)
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
k |
Number | The number of clusters |
values |
Array | The list of numeric vectors of selected variable |
method |
String | The method of agglomerative hierarchical clustering: {"single", "complete", "average","ward"}. |
minBound |
Number | The minimum value that the sum value of bounding variable in each cluster should be greater than |
boundVals |
Array | The numeric vector of selected bounding variable |
scaleMethod |
String | The scaling method: {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'} |
distanceMethod |
String | The distance method: {"euclidean", "manhattan"} |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'}
- Type
- Object
schcMethods() → {Array}
Get the SCHC methods.
Get the SCHC methods.
- Source:
Returns:
- Type
- Array
skater(weights, k, values, minBound, boundVals, scaleMethod, distanceMethod) → {Object}
Spatial C(K)luster Analysis by Tree Edge Removal
.Spatial C(K)luster Analysis by Tree Edge Removal
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
k |
Number | The number of clusters |
values |
Array | The list of numeric vectors of selected variable |
minBound |
Number | The minimum value that the sum value of bounding variable int each cluster should be greater than |
boundVals |
Array | The numeric vector of selected bounding variable |
scaleMethod |
String | The scaling method: {'raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust'} |
distanceMethod |
String | The distance method: {"euclidean", "manhattan"} |
- Source:
Returns:
Return a ClusteringResult object: {'total_ss', 'within_ss', 'between_ss', 'ratio', 'clusters'
- Type
- Object
spatialEmpiricalBayes(weights, eventValues, baseValues) → {Array}
Spatial Empirical Bayes (EB) Smoothing
.Spatial Empirical Bayes (EB) Smoothing
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
eventValues |
Array | The values of an event variable. |
baseValues |
Array | The values of an base variable. |
- Source:
Returns:
- Type
- Array
spatialLag(weights, values, isBinary, rowStandardize, includeDiagonal) → {Array}
Compute spatially lagged variable.
Compute spatially lagged variable.
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
values |
Array | The values of a selected variable. |
isBinary |
Boolean | The bool value indicates if the spatial weights is used as binary weights. Default: TRUE. |
rowStandardize |
Boolean | The bool value indicates if use row-standardized weights. Default: TRUE |
includeDiagonal |
Bollean | The bool value indicates if include diagonal of spatial weights. Default: FALSE |
- Source:
Returns:
- Type
- Array
spatialRate(weights, eventValues, baseValues) → {Array}
Spatial rate smoothing
.Spatial rate smoothing
Parameters:
Name | Type | Description |
---|---|---|
weights |
WeightsResult | The weights object |
eventValues |
Array | The values of an event variable. |
baseValues |
Array | The values of an base variable. |
- Source:
Returns:
- Type
- Array
standardDeviationBreaks(values) → {Array}
Standard deviation breaks
.Standard deviation breaks
Parameters:
Name | Type | Description |
---|---|---|
values |
Array | The values of selected variable. |
- Source:
Returns:
Returns an array of break point values.
- Type
- Array
toVecDouble(input) → {Object}
Help function: convert javascript Array e.g.
Help function: convert javascript Array e.g. [] to GeoDa std::vector
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
toVecInt(input) → {Object}
Help function: convert javascript Array e.g.
Help function: convert javascript Array e.g. [] to GeoDa std::vector
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
toVecString(input) → {Object}
Help function: convert javascript Array e.g.
Help function: convert javascript Array e.g. [] to GeoDa std::vector
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object
toVecVecDouble(input) → {Object}
Help function: convert javascript 2d Array e.g.
Help function: convert javascript 2d Array e.g. [[]] to GeoDa 2d std::vector
Parameters:
Name | Type | Description |
---|---|---|
input |
Array |
- Source:
Returns:
- Type
- Object