Я выбрал другой подход.1. Я преобразовал поле геометрии в строку 2. Проанализировал строку и преобразовал ее в XML 3. Сохранил ее в отдельном поле 4. Запустил XML-запрос из этого поля.
Поле geom в моемдело хранит районы для городов.В некоторых случаях области не перекрываются, поэтому фактически имеют отдельные области.
Вот запрос, который я использовал для преобразования в XML.
update city set geomxml = '<city>' + replace(replace(replace(replace
(replace(replace(replace
(geom.ToString(),'POLYGON ',''),
'((','<area><point><long>'),
'(','<area><point><long>'),
'))','</lat></point></area>'),
'), ','</lat></point></area>'),
', ','</lat></point><point><long>'),
' ','</long><lat>') +
'</city>'
Вот запрос, чтобы получить максимум имин для широты и долготы
select geomxml.query('max(//lat)') as maxlat, geomxml.query('min(//lat)') as minlat, geomxml.query('max(//long)') as maxlong, geomxml.query('min(//long)') as minlong
from city