Я давний программист, новичок в ГИС. Я пытаюсь понять аспекты базы данных ГИС, и я понимаю, что есть некоторые базы данных, которые специализируются для использования ГИС. В основном я пытаюсь понять, использовать ли такую базу данных или придерживаться чрезвычайно популярного, хорошо известного, широко поддерживаемого (и бесплатного) MySql.
Тип приложений, которые я должен кодировать, может быть таким:
- управление автопарком (наземные или морские транспортные средства)
- отслеживание сотрудников
- инвентарный контроль (при детализации физического положения с точностью до метра или около того)
- эээ, вот и все, на самом деле
Я обычно ожидаю, что буду отслеживать не более 1 сотни (максимум, возможно, несколько тысяч) предметов. Иногда элементы могут быть расположены в том же (большом) здании, серии зданий, городе, стране или по всему миру, в зависимости от применения.
Иногда я буду визуально представлять их либо на индивидуальном плане здания, либо, что более вероятно, в Google Планета Земля и т. П. (Подробнее об этом в другом вопросе).
Мне кажется, что я так же хорошо справляюсь с MySql и добавляю столбцы для lat / long или других позиционных данных, но это может быть только потому, что я знаю MySql.
Есть ли какая-то причина, почему я должен смотреть на более специализированную базу данных?
Вам, безусловно, следует учитывать чрезвычайно популярный, хорошо зарекомендовавший себя, широко поддерживаемый (и бесплатный) PostGIS . Он будет делать все, что может делать MySQL, и обрабатывать пространственные местоположения как объекты первого класса. Таким образом, вы можете выполнять выборки на основе точек в ограничительной рамке (или другом многоугольнике) без необходимости записывать все сравнения и т. Д.
Как только вы начинаете задавать вопросы, например, какие объекты находятся в какой стране (или здании), PostGIS действительно вступает в свои права, и если вы решите, что вам нужно отобразить ваши объекты, тогда все популярные инструменты с открытым исходным кодом будут общаться с PostGIS из коробка.
источник
Чтобы добавить к ответам и повторить некоторые пункты, можно использовать базу данных с пространственной поддержкой, если у вас есть запросы, которые относятся к пространственным отношениям данных, некоторые из которых следующие:
Если такие запросы, относящиеся к WHERE, являются важной особенностью для приложения, то обычно настоятельно рекомендуется использовать пространственную базу данных.
Конечно, для некоторых из этих запросов можно прибегнуть к логике кодирования / приложения, например, используя формулу расстояния для 1, но не нужно заново изобретать колесо.
источник