Je suis un programmeur de longue date, nouveau dans le SIG. J'essaie de me faire une idée des aspects de base de données du SIG et je comprends qu'il existe des bases de données spécialisées pour l'utilisation du SIG. Fondamentalement, j'essaie de comprendre s'il faut utiliser une telle base de données ou s'en tenir à MySql, très populaire, bien établi, largement pris en charge (et gratuit).
Le type d'applications que je suis susceptible de coder serait par exemple:
- gestion de flotte (véhicules terrestres ou océaniques)
- suivi des employés
- contrôle des stocks (à une granularité d'une position physique précise avec un mètre environ)
- euh, c'est tout, vraiment
Je m'attendrais normalement à ne pas suivre plus de 1 centaines d'articles (maximum, peut-être quelques milliers). Parfois, les articles seront situés dans le même (grand) bâtiment, série de bâtiments, ville, pays ou dans le monde, selon l'application.
Je vais parfois les représenter visuellement sur un plan d'étage personnalisé d'un bâtiment ou, plus probablement, dans Google Earth ou similaire (plus dans une autre question).
Il me semble que je suis aussi bien avec MySql et l'ajout de colonnes pour lat / long ou d'autres données de position, mais c'est peut-être parce que je connais MySql.
Y a-t-il une raison pour laquelle je devrais consulter une base de données plus spécialisée?
Vous devriez certainement considérer le PostGIS extrêmement populaire, bien établi, largement pris en charge (et gratuit) . Il fera tout ce que MySQL peut faire et gérera les emplacements spatiaux comme des objets de première classe. Ainsi, vous pouvez effectuer des sélections basées sur des points avec dans une boîte englobante (ou un autre polygone) sans avoir à écrire toutes les comparaisons, etc.
Une fois que vous commencez à avoir besoin de poser des questions comme quels objets se trouvent dans quel pays (ou bâtiment), PostGIS prend vraiment sa place et si vous décidez de mapper vos objets, tous les outils open source populaires parleront à PostGIS hors de la boîte.
la source
Pour compléter les réponses et réitérer certains points, on utilise une base de données spatialisée si vous avez des requêtes qui se rapportent aux relations spatiales des données, dont quelques-unes sont les suivantes:
Si de telles requêtes concernant WHERE sont une caractéristique importante pour une application, il est généralement recommandé d'utiliser une base de données spatiale.
Bien sûr, on peut recourir à la logique de codage / application pour certaines de ces requêtes, comme l'utilisation de la formule de distance pour 1, mais il n'est pas nécessaire de réinventer la roue.
la source