How many times can you spot the letter i in:
Q: SQLGeography in SQL Server Строю полигоны в c# и заполняю ими соответствующую табличку в sqlserver(где уже есть информация и айдишники полигонов), примерно вот так:
updateCommandRelations.CommandText = UPDATE [Polygons] SET [Polygon] = geography::STGeomFromText( + polygonString + , 4326) WHERE IdPolygons =  + idPolygons; 
updateCommandRelations.ExecuteNonQuery();

Всё вроде без ошибок проходит, но тут я решил проверить, как же они строятся, используя возможности SSMS, и вижу это:
 
Почему же полигон охватывает весь земной шар? Такс, давайте разбираться, приближаем:

То есть, почти то, что я и хотел, только наоборот, выделенная область должна быть внутри, а не снаружи) Пришлось перерыть интернет, и  оказалось, что действительно, есть разница как выстраивать точки в полигоне: по часовой стрелке(полигон - область вне):
или против часовой(полигон - область внутри):

Но заметил это, когда отстроил около 500 тысяч полигонов(прошу заметить примерно 48 часов работы приложения), когда встал вопрос: входит ли точка в полигон? (проверял только в самом программе замкнутость полигонов и порядок выстраивания точек, но не мог и догадываться, что направление имеет значение).
Использовал функцию STContains и ,естественно, полигонов в ответе было больше, чем мне нужно. 
selectCommand.CommandText = DECLARE @g geography; 
SET @g=geography::STGeomFromText(POINT( + lng.Replace(,, .) +   + lat.Replace(,, .) + ), 4326); 
SELECT Info FROM [Polygons] WHERE ([Polygon].MakeValid()).STContains(@g) = 1;;

Так подошли к сути вопроса, как с этим бороться, не перестраивая полигоны(использовать отрицание нельзя, так как половина полигонов построилось по часовой стрелке, половина против)?(есть идея костыля типа проверки какой-нибудь крайней точки, и если входит, то инверсия ответа)
А если это, увы, невозможно после построения, то как же отследить при построении, что полигон строится именно против часовой стрелки? 

user
There are eleven "i"s in the text you provided.
assistant