Как лучше хранить полилинию (карты Google) в базе данных? - PullRequest
3 голосов
/ 14 января 2011

Сначала прости мой английский ... Я должен хранить много полилинии в базе данных. Мне пришло в голову создать таблицу с названием «точки» и сохранить все точки от каждой полилинии. Еще одна вещь, которая пришла мне в голову - это сериализовать (с помощью php) полилины и хранить в одной строке каждый полилин

Какой вариант лучше?

Очень спасибо

Ответы [ 5 ]

3 голосов
/ 14 января 2011

Если вы не состоите в браке с MySQL, PostgreSQL имеет расширение PostGIS , которое обрабатывает географические данные, включая запросы к ним.

Если вы настроены на MySQL, я бы сделал это как точки, чтобы вы могли запрашивать отдельные точки. Сериализация может быть немного более эффективной для извлечения строки, но это разрушает запросы.

0 голосов
/ 01 декабря 2016

Mysql имеет расширение для пространственных данных, вот ссылка: http://dev.mysql.com/doc/refman/5.7/en/spatial-extensions.html надеюсь, это кому-нибудь поможет.

0 голосов
/ 15 января 2011

Создание таблицы точек с другим отношением, отображающим набор в ломаную / многоугольник, - неплохая практика.Я написал несколько одноразовых ГИС-схем с этим подходом.Да, некоторые БД имеют пространственные расширения, но вы также можете выполнять много другой работы, просто настраивая отдельные точки, масштабируя их, и т.*

0 голосов
/ 14 января 2011

Либо / или. Вы можете нормализовать дизайн с помощью своей таблицы Баллов или поместить все точки в одно поле таблицы Полилинии.

Первый способ более расширяемый и позволяет моделировать данные в БД более точно. Второй будет включать меньше операций чтения / записи в БД и может быть быстрее, но потребует от вас разбора точек в вашем коде, и будет сложнее искать конкретную точку.

Зависит от вашего приложения. :)

0 голосов
/ 14 января 2011

Создание таблицы для хранения каждой точки по отдельности звучит как перебор и чрезмерная нормализация, если только вы не хотите выполнять запросы по этим точкам.

Я просто сериализовал бы их в строку и сохранял бы их в текстовом поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...