PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Dragon_Knight
Отправлено: 26 Апреля, 2017 - 22:07:12
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Май 2012  
Откуда: г.Мытищи, МО


Помог: 0 раз(а)




Всем привет.
Прошу помощи, кто разбирается в необычных типах полей базы МySQL, которые позволяют работать с пространством, а именно POINT и LINESTRING.

Ситуация такая: есть много точек, которые организованны в линии, которые имеют параметры: ID, Название, Описание, ..., и их реально много: Одна линия состоит в среднем из 50 точек (координат GPS) и всего около 100к линий.
Задача состоит в поиске произвольной точке в базе, нахождению ID записи и выборка значений этой записи, при этом нужна линейная интерполяция между точками записи в БД.
Например у нас в БД есть запись линии с координатами (0 0, 6 6, 10 10). Мы делаем запрос точки (3 3) и получаем значение вышеописанной записи, при этом если сделать запрос точки (2 3) то запись уже не будет получена, т.к. точка не лежит на линии.
Так-же два важных момента: т.к. мы работает с координатами, то работаем с числами типа float, и второе Точка может иметь погрешность, переводя в метры до 50, при этом это не должно влиять на результат.

Для реализации задачи мне приглянулись поля типа LINESTRING, которые по сути выполняют большую часть работы, но найти толковой инструкции с примерами по работе я не нашёл и пришёл сюда, просить более умных людей о помощи.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB