172 похожих чатов

Ребят, а посоветуйте по архитектуре. Дано: карта, на карте много (

>1млн) треков (трек это линия, состоящая из точек ХУ). Надо треки показывать по области, которая у клиента отражается.

Сами треки в базе хранить нет смысла - данных излишне много. Треки хранятся в файлах, у каждого трека есть номер.

Думаю в сторону "тайлов" - как в OpenStreetMaps - карту делим на квадратики, и в базе хранить номер квадратика и номер трека.

Вопрос вот какой:
0.
Постгис использовать кажется смысла нет, так как с геометрией по сути не работаю. Хотя может быть я не нашел вкусные фичи у него.
1.
Как лучше хранить связь "номер тайла - номер трека" - делать в самом треке массив тайлов, через которые он проходит, или отдельную табличку Тайл-Трек.

Есть ли разница в производительности?


2. Есть ли у постгреса что-то похожее на выборку по дереву? То есть сказать, что мне нужны все листья вот этого узла.
Хочу адаптировать под QuadKey/QuadTree. Можно конечно использовать строки Like 12214%, но мне кажется это не оч эффективным. Я ошибаюсь?

1 ответов

20 просмотров

А Вы бы всё равно лучше этот вопрос задали и в чате по postgis (он тут где-то был), на всякий случай — им уж эта тема куда ближе.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта