НАСТРОЙКА
У меня есть таблица, которая содержит строки. Линия состоит из нескольких географических точек. Каждая точка состоит из широты и долготы. Примечание: значение строки хранится в базе данных как TEXT.
Таким образом, одна строка в таблице может выглядеть следующим образом:
id: целое число
линейная строка: x1, y2, x2, y2, x3, y3, x4, y4
ПРОБЛЕМА
Карты Google позволяют отображать только до 1000 элементов одновременно. В моем случае я отображаю 850 строк и мне нужно будет добавить еще много в будущем.
ВОПРОС
Довольно многие из линий линий соединяются с одной или несколькими другими линиями линий, что означает, что они начинаются и / или заканчиваются в одинаковых координатах. Я хотел бы найти лучший способ оптимизировать набор данных, чтобы строки строк, соединяющиеся на концах, были объединены в таблице БД. Это уменьшит общее количество элементов при анализе таблицы БД и создании файла отображения для карт Google.
Пример * ** тысяча двадцать-один * тысяча двадцать два
Представьте, что в этом примере значения альфа (A, B, C) представляют географические точки. Неоптимизированная таблица может выглядеть так:
до оптимизации:
id linestring
1 А, В, С
2 С, Д
3 B, A
4 F, G, H
5 г, я
6 H, J
После оптимизации:
1 A, B, C, D
2 F, G, H, J
3 г, я
Так каков наилучший способ оптимизации данных? Есть ли конкретный алгоритм, который работает лучше всего? У меня есть некоторые идеи для решений, которые я сформулирую и добавлю, но они кажутся многословными и запутанными.
Я не майор CS, поэтому извините за неаккуратную терминологию и дайте мне знать, если где-то нужны пояснения. Спасибо!
К вашему сведению ... Я использую БД MySQL. Я не использую пространственные расширения. Если у вас есть смущающее простое решение, использующее пространственные расширения, я бы все равно хотел услышать об этом.