TGViewer
StepOne | Степан Минин StepOne | Степан Минин @steponeit · 3.27K subscribers
Post #697 2.65K
StepOne | Степан Минин ШарпиZм update 👩‍💻 Теперь в закрытом канале есть регулярный эксклюзивный технический контент В постах о технологиях: - разбираю новинки - открываю «hidden gems» - копаю в глубину По промокоду JAVASOSAT можно получить скидку 40% на первый месяц подписки!…
Как я работал с wkt и гео запросами 👩‍💻

Была задача - вытащить данные по гео-запросу из монги, а потом сделать по ним гео-поиск в SQL Server
Так странно, потому что "микросервисы"

Код был написан, локально на винде работал - а в проде обосрамс. Оказалось Linux не умеет работать с Microsoft.SqlServer.Types.SqlGeometry

Не помогало ничего, даже мок-пакет от dotMorten. Проблема слишком низкоуровневая и зашита dll биндинги клиентской библиотеки.

Но по сути, мне надо было вжухнуть в запрос wkt строку, из которой СУБД собрала объект геометрии сама.
wkt - Well Known Text, что-то вроде JSON для геоданных: точки, полигоны, дырки и так далее. Почитайте на досуге


Решил проблему можно сказать через ООП - нашёл библиотеку Geo.
Дальше собрал объект геометрии и сериализовал. Почти вот так:
var settings = new WktWriterSettings {
LinearRing = false;
Triangle = false;
DimensionFlag = true;
NullOrdinate = Coordinate.NullOrdinate.ToString(CultureInfo.InvariantCulture);
MaxDimesions = 4;
};
var writer = new WktWriter(settings); // Pass the settings object into the writer's constructor
var pointString = writer.Write(new Point(68.389, 73.89));


Дальше пульнул строку в запрос и отвязался от OS зависимостей.

Больше таких постов найдёте в ШарпиZме 📱
GitHub GitHub - sibartlett/Geo: A geospatial library for .NET A geospatial library for .NET. Contribute to sibartlett/Geo development by creating an account on GitHub.
  • 🔥 12
  • 👍 4
  • ❤ 3
  • ❤‍🔥 1
More from @steponeit
  1. Sep 22, 2026Post #858
  2. Sep 21, 2026Post #857
  3. Sep 15, 2026Напомню, что у меня есть WireMock.Grpc.Protobuf — расширение для тех, кто пишет компонентн…
  4. Sep 12, 2026StepOne — официальный контрибутор FusionCache 🤙 Между набросами можно ещё и код писать Fu…
  5. Sep 11, 2026Стояк работодателей 2026 🤫 Оказывается, год назад я предсказал выход Астры! И вместе с эт…
  6. Sep 10, 2026Доставка - новое IT Мужчина на видео делится опытом заработка 350 000 ₽ за месяц без выход…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →