2015-11-16 2 views
0

ТАК Я пытаюсь получить количество точек такси за блок переписи, используя STIntersects и функцию count. Я создал пространственный индекс для точек только запросить Bay Area SF Когда я запускаю мой запрос я получаю эту ошибку:STIntersects с ошибкой пространственного индекса

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. 

(0 row(s) affected) 

Вот мой код:

DECLARE @POLY GEOMETRY = (SELECT GEOM FROM BayArea_Counties_PH) 
SELECT COUNT(geom) as pct 
FROM DF_Testing1 with (index(BA_Points_Index)) 
WHERE @POLY.STIntersects(Geom)=1 
group by 
Id 

Я надеюсь, что в группу по ID или что-то, чтобы я мог визуализировать интенсивность на блок на карте. Есть идеи?

+0

Попытка понять ваш запрос; Какова цель DF_Testing1? Причина, о которой я прошу, заключается в том, что таблица не возвращает никаких значений, присоединяется к другим таблицам или задается. Кроме того, в отношении вашей ошибки вы пытаетесь установить несколько значений в скалярную переменную. Вы можете уточнить? –

+0

@MikeZalansky Итак, DF_Testing1 - это таблица точек сбрасывания такси. Я создал для него столбец Geometry и создал пространственный индекс, чтобы индексировать только точки окружения SF Bay Area. Как я могу это исправить? – ABaut

ответ

0

Проблема (как указано другим плакатом) заключается в том, что вы пытаетесь присвоить несколько значений скаляру при объявлении @POLY. Однако это могло бы сделать то, что вы хотите, с меньшим количеством шагов:

SELECT b.id, t.id, COUNT(geom) as pct 
FROM DF_Testing1 as [t] with (index(BA_Points_Index)) 
join BayArea_Counties_PH as [b] 
    on b.Geom.STIntersects(t.Geom) = 1 
group by b.Id, t.Id; 
0

Я считаю, что здесь вопрос:

DECLARE @POLY GEOMETRY = (SELECT GEOM FROM BayArea_Counties_PH) 

Сколько записей вы имеете в BayArea_Counties_PH? Он должен быть одним, чтобы правильно назначить GEOM. Вы должны добавить правильное предложение WHERE, чтобы эта строка работала, если у вас несколько записей.

Смежные вопросы