SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003211SAS.Планета[All Projects] Багpublic10-04-2017 18:2322-06-2018 18:37
ReporterRobbi 
Assigned Tozed 
PrioritynormalSeveritymajorReproducibilityrandom
StatusresolvedResolutionfixed 
PlatformWindowsOS7OS VersionProfessional
Product Version160707 
Target Version181221Fixed in Version181221 
Summary0003211: База меток в MongoDB: Отображение протяжённых объектов из меток
DescriptionЕсть большой полигон. При отображении на карте произвольно пропадают и появляются его части или вся видимая часть при перемещении - зуммировании карты. Трек хранится в монго, если это имеет значение.
Tagsmongo, метки
Attached Files

- Relationships
related to 0003212resolvedzed База меток в MongoDB: Не полностью отображается список меток 

-  Notes
(0017886)
zed (manager)
13-04-2017 06:14

Можете выложить этот трек?
(0017893)
Robbi (developer)
13-04-2017 16:56

треки в этом архиве https://yadi.sk/d/QT6BP98BcFJnF
при центре экрана примерно в этой точке N53°59'47,60" E124°14'02,95" трек то пропадает то появляется на разных масштабах
(0017894)
zed (manager)
14-04-2017 06:32
edited on: 15-04-2017 13:16

Да, на z10 отображается, а на z11 пропадает. Глючит гео-индекс монги. Вот на такой запрос трек находится:

{$and:[
  {mGeoJsonIdx:{$geoIntersects:{$geometry:{type:"Polygon",coordinates:[[
    [120.234375,55.178867663282],
    [127.44140625,55.178867663282],
    [127.44140625,52.6963610782745],
    [120.234375,52.6963610782745],
    [120.234375,55.178867663282]]]}}}},
  {$or:[{mGeoType:1},{mGeoLonSize:{$gte:16384}},{mGeoLatSize:{$gte:9641}}]}
]}

а вот на такой, нет:

{$and:[
  {mGeoJsonIdx:{$geoIntersects:{$geometry:{type:"Polygon",coordinates:[[
    [122.6953125,54.4700376128058],
    [125.595703125,54.4700376128058],
    [125.595703125,53.4357192066942],
    [122.6953125,53.4357192066942],
    [122.6953125,54.4700376128058]]]}}}},
  {$or:[{mGeoType:1},{mGeoLonSize:{$gte:8192}},{mGeoLatSize:{$gte:4820}}]}
]}

Соответственно, выхода 2:
- думать, почему индекс не хочет работать и возможно ли его безболезненно "подкрутить"
- отказаться от индекса и выборку геометрии сделать так же, как и для СУБД. Но в этом случае, схема БД изменится и сломается обратная совместимость для монги.

(0017895)
zed (manager)
15-04-2017 13:11

Немного погуглил и поэкспериментировал и пришёл к выводу, что это фатальный недостаток индекса монги - не умеет она нормально работать с объектами, размером больше чем в пол Земли. Причём, это касается как геометрии в БД, так и области поиска.

В версии 3.0 они сделали попытку победить проблему с областью поиска (MongoDB 3.0 features: Big Polygon), но у себя в тестах на 3.4.2 я не заметил кардинальных улучшений (простая метка так и пропадает на z4..z6).

В общем, дело швах и по-моему надо переходить на схему, аналогичную СУБД.
(0017916)
zed (manager)
26-04-2017 08:32

Мне нужен какой-то фидбек от пользователей, использующих MongoDB для хранения меток. Мне стОит отказаться от гео-индекса монги и переделать схему или нет?
(0017920)
Robbi (developer)
01-05-2017 17:03

На мой взгляд тут всего два варианта. Или делать в обход гео-индекса или пинать разработчиков MongoDB. Интересно, сколько помимо меня пользователей MongoDB в связке с SASPlanet
(0017922)
zed (manager)
01-05-2017 17:37

Я монгой не пользуюсь и пинать её разработчиков не буду.
(0018334)
zed (manager)
18-06-2018 10:57

Да, таки надо отказываться от гео-индекса и переходить на схему как у СУБД.

Планирую заняться этим вопросом в ближайшую неделю, если никто сильно не возражает.
(0018337)
zed (manager)
22-06-2018 18:37

Переделал. Чтобы перенести существующие метки нужно сделать экспорт (например в SQLite), а затем импорт. Старые метки в новой версии отображаться на карте не будут (по понятным причинам), но в "Управлении метками" всё останется на своём месте.

- Users who viewed this issue
User List Anonymous (3047x), SilentJim (2x), Robbi (11x), vdemidov (20x), OfK (1x), ygorigor (2x), zed (27x)
Total Views 3110
Last View 19-04-2024 11:44

- Issue History
Date Modified Username Field Change
10-04-2017 18:23 Robbi New Issue
10-04-2017 18:33 vdemidov Relationship added related to 0003212
10-04-2017 18:33 vdemidov Tag Attached: mongo
10-04-2017 18:33 vdemidov Tag Attached: метки
13-04-2017 06:14 zed Note Added: 0017886
13-04-2017 09:58 vdemidov Status new => feedback
13-04-2017 16:56 Robbi Note Added: 0017893
13-04-2017 16:56 Robbi Status feedback => new
14-04-2017 06:32 zed Note Added: 0017894
15-04-2017 13:11 zed Note Added: 0017895
15-04-2017 13:15 zed Note Edited: 0017894 View Revisions
15-04-2017 13:16 zed Note Edited: 0017894 View Revisions
24-04-2017 15:33 vdemidov Summary Отображение протяжённых объектов из меток => База меток в Mongo. Отображение протяжённых объектов из меток
26-04-2017 08:27 zed Product Version .Nightly => 160707
26-04-2017 08:27 zed Summary База меток в Mongo. Отображение протяжённых объектов из меток => База меток в MongoDB: Отображение протяжённых объектов из меток
26-04-2017 08:32 zed Note Added: 0017916
26-04-2017 08:33 zed Status new => feedback
01-05-2017 17:03 Robbi Note Added: 0017920
01-05-2017 17:03 Robbi Status feedback => new
01-05-2017 17:37 zed Note Added: 0017922
05-05-2017 17:21 zed Status new => feedback
18-06-2018 10:57 zed Note Added: 0018334
22-06-2018 18:37 zed Note Added: 0018337
22-06-2018 18:37 zed Status feedback => resolved
22-06-2018 18:37 zed Fixed in Version => 181221
22-06-2018 18:37 zed Resolution open => fixed
22-06-2018 18:37 zed Assigned To => zed
22-06-2018 18:37 zed Target Version => 181221



Copyright © 2007 - 2024 SAS.Planet Team