Compare commits
8 Commits
weighted-m
...
check-trav
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14bc873d0e | ||
|
|
aad4c772f6 | ||
|
|
a0021db87f | ||
|
|
c73fcfcfa9 | ||
|
|
1bebeb2bb6 | ||
|
|
a285f8741a | ||
|
|
636a298eda | ||
|
|
4c4ddd2047 |
@@ -38,11 +38,12 @@ before_install:
|
||||
- sudo apt-get -y remove --purge postgis
|
||||
- sudo apt-get -y autoremove
|
||||
|
||||
# - sudo apt-get -y install libgdal1h=1.11.0-0cdb1~precise3
|
||||
- sudo apt-get -y install postgresql-9.5=9.5.2-2ubuntu1
|
||||
- sudo apt-get -y install postgresql-server-dev-9.5=9.5.2-2ubuntu1
|
||||
- sudo apt-get -y install postgresql-plpython-9.5=9.5.2-2ubuntu1
|
||||
- sudo apt-get -y install postgresql-9.5-postgis-2.2=2.2.2.0-cdb2
|
||||
- sudo apt-get -y install postgresql-9.5-postgis-scripts=2.2.2.0-cdb2
|
||||
- sudo apt-get -y install postgresql-9.5-postgis-2.2=2.2.2.0-cdb2
|
||||
|
||||
# configure it to accept local connections from postgres
|
||||
- echo -e "# TYPE DATABASE USER ADDRESS METHOD \nlocal all postgres trust\nlocal all all trust\nhost all all 127.0.0.1/32 trust" \
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
CREATE OR REPLACE FUNCTION CDB_WeightedMedianCenter(geoms geometry[], vals numeric[])
|
||||
RETURNS geometry(Point, 4326)
|
||||
AS $$
|
||||
DECLARE
|
||||
i INT;
|
||||
median_val numeric;
|
||||
median_index INT;
|
||||
BEGIN
|
||||
|
||||
-- find the median value
|
||||
SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY v) INTO median_val
|
||||
FROM unnest(vals) As x(v);
|
||||
|
||||
-- find the index of the median value
|
||||
FOR i in 1..array_length(vals, 1)
|
||||
LOOP
|
||||
IF vals[i] < median_val
|
||||
THEN
|
||||
median_index := i;
|
||||
EXIT;
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
-- return the geometry that has the median value of the dataset
|
||||
IF ST_GeometryType(geoms[median_index]) <> 'ST_Point'
|
||||
THEN
|
||||
RETURN ST_Centroid(geoms[median_index]);
|
||||
ELSE
|
||||
RETURN geoms[median_index];
|
||||
END IF;
|
||||
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
Reference in New Issue
Block a user