Documentation / @openassistant/geoda / spatialWeights
Variable: spatialWeights
constspatialWeights:OpenAssistantTool<SpatialWeightsFunctionArgs,SpatialWeightsLlmResult,SpatialWeightsAdditionalData,SpatialWeightsFunctionContext>
Defined in: src/weights/tool.ts:110
spatialWeights Tool
This tool creates spatial weights matrices for spatial analysis. Spatial weights define the spatial relationships between observations and are essential for spatial autocorrelation analysis.
Spatial Weights Methods
The tool supports various spatial weights methods:
- queen: Queen contiguity (shares edge or vertex)
- rook: Rook contiguity (shares edge only)
- knn: K-nearest neighbors
- threshold: Distance-based weights
Parameters
datasetName: Name of the dataset containing the geometriestype: Spatial weights method to use (see above)k: Number of neighbors for knn method (optional)orderOfContiguity: Order of contiguity for queen/rook (optional)includeLowerOrder: Include lower order contiguity (optional)precisionThreshold: Precision threshold for geometry operations (optional)distanceThreshold: Distance threshold for threshold method (optional)isMile: Use miles instead of kilometers for distance (optional)useCentroids: Use centroids instead of full geometries (optional)mapBounds: Map bounds for visualization (optional)
Example user prompts:
- "Create spatial weights using queen contiguity"
- "Generate k-nearest neighbors weights with k=5"
- "Make distance-based weights with 10km threshold"
Example
typescript
import { spatialWeights } from "@openassistant/geoda";
import { convertToVercelAiTool } from "@openassistant/utils";
const weightsTool = {
...spatialWeights,
context: {
getGeometries: async (datasetName: string) => {
// Implementation to retrieve geometries from your data source
return geometries;
},
},
};
const result = await generateText({
model: openai('gpt-4.1', { apiKey: key }),
prompt: 'Create spatial weights using queen contiguity',
tools: { spatialWeights: convertToVercelAiTool(weightsTool) },
});INFO
The spatialWeights tool should always be used with other spatial analysis tools like globalMoran, lisa, etc.
