From a9222018c0087774e0f0485cf88f401e37c264f4 Mon Sep 17 00:00:00 2001 From: Andy Eschbacher Date: Wed, 7 Mar 2018 17:03:30 -0500 Subject: [PATCH] adds docs --- .../crankshaft/analysis_data_provider.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/py/crankshaft/crankshaft/analysis_data_provider.py b/src/py/crankshaft/crankshaft/analysis_data_provider.py index b4a4a3a..20fc5e0 100644 --- a/src/py/crankshaft/crankshaft/analysis_data_provider.py +++ b/src/py/crankshaft/crankshaft/analysis_data_provider.py @@ -49,6 +49,20 @@ class AnalysisDataProvider(object): - `denominator` (str, optional): Used in conjunction with `numerator`. """ + if params.get('w_type') == 'queen': + geom_type = plpy.execute(''' + SELECT DISTINCT ST_GeometryType("{geom_col}") as g + FROM ({subquery}) as _w + WHERE "{geom_col}" is not null; + '''.format( + geom_col=params.get('geom_col'), + subquery=prams.get('subquery') + )) + if geom_type[0]['g'] not in ('ST_Polygon', 'ST_MultiPolygon'): + raise plpy.error( + 'Polygon geometries are needed when using `queen` weights ' + 'with this analysis. {} was found instead.'.format( + geom_type[0]['g'])) query = pu.construct_neighbor_query(w_type, params) return plpy.execute(query)