Итак, я делаю домашнее задание, и я не могу понять этот шаг.
- Щелкните правой кнопкой мыши по таблицам, которые вы только что создали, щелкните Дизайн , затем добавьте в него новый столбец, который называется GEOG , тип данных география . Сохраните изменения в ваших таблицах.
- Заполните столбец GEOG столбцом WKT , преобразованным в
Line
/ Polygon
данные.
- Для таблицы округов создать новый запрос
UPDATE
, преобразовать WKT в Polygon
и сохранить его в столбец GEOG .
Таблица 1 - brazosStreet , а таблица 2 - округов .
Table1 WKT равен LINESTRING
, а Table2 равен POLYGON
.
Я застрял на шаге Table2 Polygon
.
Проверить данные и выполнить пересечение:
Geog.MakeValid();
Geog.STIntersects(Geog1) = 1;
Валидация:
Update [dbo].[Counties]
set Geog = Geog.MakeValid()
Выполните выбор:
SELECT *
FROM [dbo].[counties]
WHERE Geog.STIntersects(geography::STLineFromText(‘LINESTRING(-98.144094 31.915186, -93.914357 30.977930)’, 4326);
Независимо от того, что я ввожу для «Выполнить выбор» , я получаю сообщение об ошибке. Я попытался STPolyFromText
, и я попытался удалить и запустить более 3 раз.
Единственное, о чем я могу думать, это то, что я пропустил этот раздел, потому что не могу заставить его работать:
Проверить данные и выполнить пересечение
Geog.MakeValid();
Geog.STIntersects(Geog1) = 1;
То, как я это читал, было похоже на обзор того, что должно произойти. Так как Geog.MakeValid();
является частью этапа проверки, а Geog.STIntersects(Geog1) = 1;
выглядит как часть этапа выбора.
Почему мой синтаксис не работает должным образом? Я не уверен, что это за язык SQL. Пожалуйста, дайте мне знать, если мне нужно больше объяснить эту ситуацию. Заранее спасибо за помощь!
UPDATE [dbo].[brazosStreets]
SET
[Geog] = geography::STLineFromText([WKT],4326);
UPDATE [dbo].[counties]
SET Geog = Geog.MakeValid;
select *
from [dbo].[counties] c
where c.STIntersect(geography::STLineFromText(‘LINESTRING(-98.144097
31.915186, -93.914357 30.977930)’,4326))=1;
Я получаю ошибку 102, когда пытаюсь запустить это .. Ошибка с размещением «одинарной кавычки» с использованием небулева оператора