mirror of
https://github.com/CartoDB/crankshaft.git
synced 2024-11-01 10:20:48 +08:00
2.1 KiB
2.1 KiB
Contour maps
Function to generate a contour map from an scatter dataset of points, using one of these three methods:
CDB_Contour (geom geometry[], values numeric[], resolution integer, buffer numeric, method, classmethod integer, steps integer)
Arguments
Name | Type | Description |
---|---|---|
geom | geometry[] | Array of points's geometries |
values | numeric[] | Array of points' values for the param under study |
buffer | numeric | Value between 0 and 1 for spatial buffer of the set of points |
method | integer | 0:nearest neighbor, 1: barycentric, 2: IDW |
classmethod | integer | 0:equals, 1: heads&tails, 2:jenks, 3:quantiles |
steps | integer | Number of steps in the classification |
max_time | integer | if <= 0: max processing time in seconds (smart resolution) , if >0: resolution in meters |
Returns
Returns a table object
Name | Type | Description |
---|---|---|
the_geom | geometry | Geometries of the classified contour map |
avg_value | numeric | Avg value of the area |
min_value | numeric | Min value of the area |
max_value | numeric | Max value of the areal |
bin | integer | Index of the class of the area |
Example Usage
WITH a AS (
SELECT
ARRAY[800, 700, 600, 500, 400, 300, 200, 100]::numeric[] AS vals,
ARRAY[ST_GeomFromText('POINT(2.1744 41.403)',4326),ST_GeomFromText('POINT(2.1228 41.380)',4326),ST_GeomFromText('POINT(2.1511 41.374)',4326),ST_GeomFromText('POINT(2.1528 41.413)',4326),ST_GeomFromText('POINT(2.165 41.391)',4326),ST_GeomFromText('POINT(2.1498 41.371)',4326),ST_GeomFromText('POINT(2.1533 41.368)',4326),ST_GeomFromText('POINT(2.131386 41.41399)',4326)] AS g
),
b as(
SELECT
foo.*
FROM
a,
cdb_crankshaft.CDB_contour(a.g, a.vals, 0.0, 1, 3, 5, 60) foo
)
SELECT bin, avg_value from b order by bin;