Merge branch 'develop' into add-nonspatial-kmeans-w-class-framework

This commit is contained in:
Andy Eschbacher
2018-01-09 13:47:29 -05:00
262 changed files with 54158 additions and 342 deletions

View File

@@ -14,7 +14,7 @@ from crankshaft.clustering import Kmeans
kmeans = Kmeans()
return kmeans.spatial(query, no_clusters, no_init)
$$ LANGUAGE plpythonu;
$$ LANGUAGE plpythonu VOLATILE PARALLEL UNSAFE;
-- Non-spatial k-means clustering
-- query: sql query to retrieve all the needed data
@@ -70,7 +70,7 @@ BEGIN
RETURN Array[newX,newY,newW];
END
$$ LANGUAGE plpgsql;
$$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE;
CREATE OR REPLACE FUNCTION CDB_WeightedMeanF(state NUMERIC[])
@@ -83,7 +83,7 @@ BEGIN
RETURN ST_SETSRID(ST_MakePoint(state[1]/state[3], state[2]/state[3]),4326);
END IF;
END
$$ LANGUAGE plpgsql;
$$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE;
-- Create aggregate if it did not exist
DO $$
@@ -100,6 +100,7 @@ BEGIN
SFUNC = CDB_WeightedMeanS,
FINALFUNC = CDB_WeightedMeanF,
STYPE = Numeric[],
PARALLEL = SAFE,
INITCOND = "{0.0,0.0,0.0}"
);
END IF;