Bonjour,
Dans le cadre d'un petit projet interne dans mon entreprise (concours de dev) nous allons essayer de créer une application de cartographie.
Peu importe le dessin derrière, ce qui nous interresse, c'est de récupérer et de stocker le chemin parcourus par des personnes ayant un smartphone avec GPS.
A chaque changement d'emplacement, leur smartphone sauvegarde puis nous envoie des données sur leur environnement technique et le statut de la connexion.
L'idée n'est pas révolutionnaire, mais nous allons avoir une granularité de l'ordre du m², peut être de 4m².
De ce points de vue là, une ville de 20km / 20km faisant 400 Millions de m², on aura déjà 400Millions de lignes dans notre BDD. (ou 100M dans le cas ddes 4m²)
Notre objectif étant de rendre cette carte compatible avec des surfaces de la taille d'une ville dans un premier temps, mais à l'échelle d'un pays dans une seconde étape.
Voici notre modèle de table :
Comme optimisation, on envisageait de rassembler en rectangle les cases adjacentes ayant le même statut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Carte : id latitude_min latitude_max longitude_min longitude_max statut
Outre le fait que l'on a aucune idée d'un algorythme qui pourrait faire ca de manière efficace, on se demandait si cette solution était la bonne en théorie. On imagine que de nombreuses personnes ont pris le temps de réflechir au problème et qu'il existe peut être des techniques pour modéliser une carte de manière plus intelligente.
Une idée que l'on avait par exemple était de sauvegarder le tout dans une image BMP de 3 ou 4 couleurs.
Une ville serait donc stockée dans 50-100Mo de données. En appliquant un encodage, type PNG sans perte de précision, on pourrait imaginer d'optimiser notre place en bdd automatiquement.
Est ce possible de le faire en BDD ?
Merci,
Pierre
Partager