Maintenant, j'ai trouvé le problème. L'utilisateur a dessiné le polygone en commençant en bas à droite et dans le sens des aiguilles d'une montre. Si je réorganise les points à partir de la plus grande latitude, puis que je vais dans le sens inverse en triant sur long, lat cela fonctionne. J'ai trouvé une aide pour cela, mais cela ne fonctionne que si vous "savez que c'est faux":
if(sqlGeography.EnvelopeAngle() > 90)
sqlGeography ? sqlGeography.ReorientObject();
Il suffit de mettre en place une petite solution qui fixera mes valeurs :https://github.com/danielwertheim/GeographyFactory
et un article de blog à ce sujet : http://danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position/
et un suivi sur le vrai "problème", la règle de la main gauche :
http:// danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position-no/