This commit is contained in:
Raul Marin
2019-02-07 18:30:22 +01:00
parent 698f8e1a60
commit 54646acc56
11 changed files with 151 additions and 146 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
comment = 'CartoDB Spatial Analysis extension'
default_version = '0.8.1'
default_version = '0.8.2'
requires = 'plpythonu, postgis'
superuser = true
schema = cdb_crankshaft
+10 -19
View File
@@ -11,22 +11,13 @@ CREATE OR REPLACE FUNCTION
$$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE;
-- Create aggregate if it did not exist
DO $$
BEGIN
IF NOT EXISTS (
SELECT *
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE n.nspname = 'cdb_crankshaft'
AND p.proname = 'cdb_pyagg'
AND p.proisagg)
THEN
CREATE AGGREGATE CDB_PyAgg(NUMERIC[]) (
SFUNC = CDB_PyAggS,
STYPE = Numeric[],
PARALLEL = SAFE,
INITCOND = "{}"
);
END IF;
END
$$ LANGUAGE plpgsql;
DO $$ BEGIN
CREATE AGGREGATE CDB_PyAgg(NUMERIC[]) (
SFUNC = CDB_PyAggS,
STYPE = Numeric[],
PARALLEL = SAFE,
INITCOND = "{}"
);
EXCEPTION
WHEN duplicate_function THEN NULL;
END $$;
+12 -20
View File
@@ -85,24 +85,16 @@ BEGIN
END
$$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE;
-- Create aggregate if it did not exist
DO $$
BEGIN
IF NOT EXISTS (
SELECT *
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE n.nspname = 'cdb_crankshaft'
AND p.proname = 'cdb_weightedmean'
AND p.proisagg)
THEN
CREATE AGGREGATE CDB_WeightedMean(geometry(Point, 4326), NUMERIC) (
SFUNC = CDB_WeightedMeanS,
FINALFUNC = CDB_WeightedMeanF,
STYPE = Numeric[],
PARALLEL = SAFE,
INITCOND = "{0.0,0.0,0.0}"
);
END IF;
END
$$ LANGUAGE plpgsql;
DO $$ BEGIN
CREATE AGGREGATE CDB_WeightedMean(geometry(Point, 4326), NUMERIC) (
SFUNC = CDB_WeightedMeanS,
FINALFUNC = CDB_WeightedMeanF,
STYPE = Numeric[],
PARALLEL = SAFE,
INITCOND = "{0.0,0.0,0.0}"
);
EXCEPTION
WHEN duplicate_function THEN NULL;
END $$;
+10 -10
View File
@@ -1,14 +1,14 @@
SET client_min_messages TO WARNING;
\set ECHO none
the_geom | h | hpop | dist
--------------------------------------------+-------------------------+--------------------------+----------------
01010000001361C3D32B650140DD24068195B34440 | 1.51078258369747945249 | 12.08626066957983561994 | 4964.714459152
01010000002497FF907EFB0040713D0AD7A3B04440 | 98.29730954183620807430 | 688.08116679285345652007 | 99.955141922
0101000000A167B3EA733501401D5A643BDFAF4440 | 63.70532894711274639196 | 382.23197368267647835174 | 2488.330566505
010100000062A1D634EF380140BE9F1A2FDDB44440 | 35.35415870080995954879 | 176.77079350404979774397 | 4359.370460594
010100000052B81E85EB510140355EBA490CB24440 | 33.12290506987740864904 | 132.49162027950963459615 | 3703.664449828
0101000000C286A757CA320140736891ED7CAF4440 | 65.45251754279248087849 | 196.35755262837744263547 | 2512.092358644
01010000007DD0B359F5390140C976BE9F1AAF4440 | 62.83927792471345639225 | 125.67855584942691278449 | 2926.25725244
0101000000D237691A140D01407E6FD39FFDB44440 | 53.54905726651871279586 | 53.54905726651871279586 | 3744.515577777
the_geom | h | hpop | dist
--------------------------------------------+-------------------------+--------------------------+---------------
01010000001361C3D32B650140DD24068195B34440 | 1.51078258364442906811 | 12.08626066915543254492 | 4964.71445918
01010000002497FF907EFB0040713D0AD7A3B04440 | 98.29730954188030446151 | 688.08116679316213123058 | 99.95514192
0101000000A167B3EA733501401D5A643BDFAF4440 | 63.70532894705201858635 | 382.23197368231211151808 | 2488.33056652
010100000062A1D634EF380140BE9F1A2FDDB44440 | 35.35415870089041483312 | 176.77079350445207416562 | 4359.37046061
010100000052B81E85EB510140355EBA490CB24440 | 33.12290506980103110470 | 132.49162027920412441880 | 3703.66444985
0101000000C286A757CA320140736891ED7CAF4440 | 65.45251754269189849135 | 196.35755262807569547404 | 2512.09235866
01010000007DD0B359F5390140C976BE9F1AAF4440 | 62.83927792460778869550 | 125.67855584921557739101 | 2926.25725246
0101000000D237691A140D01407E6FD39FFDB44440 | 53.54905726665024972591 | 53.54905726665024972591 | 3744.51557778
(8 rows)
+3 -5
View File
@@ -1,7 +1,5 @@
SET client_min_messages TO WARNING;
\pset format unaligned
\set ECHO none
avg_area
----------------------
0.000178661700690617
within_tolerance
t
(1 row)
+2 -2
View File
@@ -1,4 +1,4 @@
SET client_min_messages TO WARNING;
\pset format unaligned
\set ECHO none
WITH a AS (
@@ -11,5 +11,5 @@ b as(
FROM a
)
SELECT
avg(st_area(result)) as avg_area
abs(avg(st_area(result)) - 0.000178661700690617) < 1e-6 as within_tolerance
FROM b;
+4 -4
View File
@@ -1,5 +1,5 @@
joblib==0.8.3
numpy==1.6.1
scipy==0.14.0
joblib==0.9.4
numpy==1.11.0
scipy==0.17.0
pysal==1.14.3
scikit-learn==0.14.1
scikit-learn==0.17.0
+1 -1
View File
@@ -41,7 +41,7 @@ setup(
# The choice of component versions is dictated by what's
# provisioned in the production servers.
# IMPORTANT NOTE: please don't change this line. Instead issue a ticket to systems for evaluation.
install_requires=['joblib==0.8.3', 'numpy==1.6.1', 'scipy==0.14.0', 'pysal==1.14.3', 'scikit-learn==0.14.1'],
install_requires=['joblib==0.9.4', 'numpy==1.11.0', 'scipy==0.17.0', 'pysal==1.14.3', 'scikit-learn==0.17.0'],
requires=['pysal', 'numpy', 'sklearn'],