Teď jsem problém našel. Uživatel nakreslil polygon začínající vpravo dole a šel po směru hodinových ručiček. Pokud změním pořadí bodů od největší zeměpisné šířky a pak půjdu proti směru řazením podle dlouhé, zeměpisné šířky, funguje to. Našel jsem pro to pomocníka, ale ten funguje pouze tehdy, když „víš, že je to špatně“:
if(sqlGeography.EnvelopeAngle() > 90)
sqlGeography ? sqlGeography.ReorientObject();
Stačí dát dohromady malé řešení, které opraví mé hodnoty:https://github.com/danielwertheim/GeographyFactory
a blogový příspěvek o tom: http://danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position/
a pokračování o skutečném „problému“, pravidle levé ruky:
http:// danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position-no/