Suite

Suivi d'itinéraire sur google map php


Je dois créer un logiciel qui permet de suivre un véhicule sur Google Map à l'aide du GPS. J'ai presque terminé ce projet mais je suis bloqué à un moment donné, le client a besoin d'un système qui permet de suivre le bus sur un itinéraire. J'ai terminé l'itinéraire mais comment puis-je suivre un véhicule sur l'itinéraire ou hors route, je ressemble à quelques exemples comme le post SIG ou l'index spatial sur MYSQL mais je ne sais pas par où commencer

Dans MYSQL, je crée une chaîne de lignes, ma structure de base de données est

Champ, Type, Null, Clé, Par défaut, ID supplémentaire,int(11),NO,PRI,NULL,auto_increment route_name,varchar(45),YES,,NULL, from_id,varchar(45),YES,,NULL, to_id ,varchar(45),OUI,,NULL, chaîne_ligne,géométrie,NON,MUL,NULL,

où une colonne line_string est une colonne géométrique où je stocke mes coordonnées de tous les itinéraires maintenant j'ai un lat long qui est situé sur cette ligne ou qui n'a pas à le calculer


Comment tracer un itinéraire entre deux marqueurs dans google maps

Salut, j'essaie de dessiner une carte d'itinéraire entre deux marqueurs à l'aide de javascript. J'ai essayé divers exemples trouvés en ligne, mais ma carte ne se charge pas lors de l'essai de différents exemples. Je n'arrive pas à trouver la cause de l'erreur. Ma carte ne se charge tout simplement pas.

J'essaie de tracer un itinéraire pour les deux marqueurs ci-dessous.

Quelqu'un peut-il m'aider à tracer un itinéraire entre les deux marqueurs ?


Suivi d'itinéraire sur google map php - Systèmes d'Information Géographique

REMARQUE: Cette application de démonstration n'est plus fonctionnelle car elle a plusieurs dépendances qui doivent être mises à jour.

Google Transport Tracker est un ensemble d'applications conçues pour suivre une gamme d'actifs en mouvement (tels que des véhicules) et les visualiser sur une carte en direct. Les applications utilisent un mélange de technologies - Android, Firebase, Google Maps, GTFS (General Transit Feed Specification), et plus encore.

Noter: Cette application implémente le suivi des actifs. Pour une utilisation dans un environnement de production, vous avez donc besoin d'une licence Google Maps API Premium Plan. Pour plus d'informations, consultez les conditions d'utilisation des API Google Maps.

Il s'agit de la version open source du I/O Bus Tracker.

Le référentiel se compose d'un certain nombre de composants, représentant les pièces mobiles individuelles du système de suivi des bus. Il comprend une application Android, dans /android , installée sur les appareils Android et déployée sur les véhicules à chenilles, ainsi qu'une interface utilisateur d'administration correspondante dans /admin .

Le référentiel contient également le côté affichage du système, conçu pour piloter des téléviseurs LCD 60". Il y a /backend , écrit en Node.js et exécuté sur Google Compute Engine, qui reçoit les emplacements signalés par l'application Android, ainsi qu'une heure table fournie au format GTFS et effectue des mises à jour régulières d'une base de données en temps réel Firebase. Le client dans /map reçoit les mises à jour de la base de données Firebase et les affiche sur le téléviseur LCD.

Le projet contient les sous-répertoires suivants, chacun abritant un seul composant :

Une interface Web permettant aux administrateurs de voir un aperçu rapide de tous les actifs suivis.

L'application Android qui réside avec chaque actif à suivre. Une fois configurée, cette application garde son emplacement synchronisé avec Firebase et rapporte d'autres mesures, telles que la durée de vie de la batterie.

Le composant côté serveur qui gère l'état de la base de données Firebase. Pour un tutoriel sur ce composant, veuillez consulter Transport Tracker Backend codelab

L'interface Web publique qui affiche les informations de planification et les emplacements des actifs. Pour un tutoriel sur ce composant, veuillez consulter l'atelier de programmation de Transport Tracker Map


Exemple de géocodage Google Maps avec PHP

Vous pouvez utiliser ce code si vous souhaitez créer un localisateur de magasins. Pourquoi est-ce utile ? Imaginez si vous avez plusieurs adresses dans votre base de données, vous ne voudrez jamais indiquer manuellement la latitude et la longitude de chacune de ces adresses.

C'est pourquoi nous avons la méthode de géocodage. Entrez simplement les adresses et Google essaiera d'identifier l'emplacement approximatif de cette adresse.

Le contenu de cet article comprend :

  • Étape 1 : code HTML de base.
  • Étape 2: Créez un formulaire à l'intérieur de la balise body.
  • Étape 3 : Mettez quelques exemples d'adresses avant le formulaire.
  • Étape 4 : Créez la fonction PHP geocode().
  • Étape 5 : Le code lorsque l'utilisateur a soumis le formulaire.
  • Exemple de code complet sur Google Maps Geocoding avec PHP

Étape 0 : Configuration de la 3G/4G LTE (facultatif)

Si vous voulez que votre Raspberry Pi ait des capacités GPS sans dépendance WiFi, vous devrez utiliser un bouclier LTE. La configuration est assez simple et vous devrez vous rendre sur cette page pour la configuration.

Une fois que vous êtes sur la page, suivez attentivement les sections d'instructions “Hardware Setup” ainsi que les instructions “Software Setup”. Ici, vous téléchargerez essentiellement les bibliothèques, packages et référentiels GitHub nécessaires pour exécuter le logiciel SIXFAB’s sur le matériel.

Enfin, suivez la section “Autoconnect on Reboot” pour vous assurer que RPI se connecte à LTE au démarrage.


Procédure pas à pas du code

Pour travailler avec le code, vous devrez l'intégrer dans votre propre projet à l'aide de CodePen, ou télécharger le code HTML dans un fichier et l'exécuter à l'aide de votre serveur HTTP préféré. Nous aimons éditer du code dans l'IDE Web CodePen comme ceci :

Une fois que vous êtes dans l'IDE, vous pourrez effectuer les modifications mineures du code pour que l'application s'exécute rapidement.

Installation et configuration de l'application

La structure de la page Web doit être familière si vous avez déjà travaillé avec des applications Web. Nous commençons avec une application HTML5 + JavaScript simple qui a une balise DIV pour l'affichage de la carte. Nous incluons la bibliothèque PubNub pour les communications en temps réel dans le HEAD de la page HTML.

Vous voudrez également inclure l'API Google Maps à l'aide d'une balise SCRIPT au bas de la page HTML. Au moment de la rédaction, la version pertinente est 3.exp.

Notez que vous devrez remplacer la clé API des cartes d'espace réservé dans l'attribut SCRIPT SRC en conséquence ci-dessus.

Il convient de mentionner que pour que la localisation HTML5 fonctionne, vous comptez sur l'utilisateur pour autoriser explicitement l'accès à la localisation à votre application sur son appareil. La gestion d'un repli gracieux dans les cas où l'autorisation de localisation est refusée dépasse le cadre de ce didacticiel.

Les paramètres PubNub sont inclus dans une simple carte JavaScript. Vous pouvez les mettre à jour avec vos propres valeurs comme suit :

Exécuter le code

Vous n'avez rien de spécial à faire pour exécuter l'application dans CodePen –, elle s'exécute automatiquement à partir de l'éditeur en ligne. Selon l'endroit où vous affichez l'application (géolocalisation) et les capacités de votre connexion (WiFi ou LTE), vous pouvez voir différents emplacements signalés (IP vers géo par rapport à l'emplacement GPS). Nous avons constaté que différents appareils, ainsi que différents navigateurs, ont leurs propres caractéristiques de précision de localisation, certaines plus précises que d'autres.


1 réponse 1

Vous cherchez à mettre à jour des entités de coordonnées (position lat/long) sur une carte (google maps ou autre) en temps réel au fur et à mesure des mises à jour. Voici un article de blog qui pourrait vous aider à démarrer dans la bonne direction : http://blog.pubnub.com/streaming-geo-coordinates-from-mongodb-to-your-iphone-app-with-pubnub-using-websocket -sdk/ - cela utilise MongoDB et Ruby plutôt que PHP et MySQL. Cependant, il sera facile de configurer les choses dans ce cas avec une carte en temps réel en PHP et MySQL sur une page HTML avec les détails suivants. Et il y a aussi une vidéo : https://vimeo.com/60716860


Suivi d'itinéraire sur google map php - Systèmes d'Information Géographique

Les systèmes de suivi des véhicules actuels ont leurs racines dans l'industrie du transport maritime. Les entreprises possédant de grandes flottes de véhicules avaient besoin d'une sorte de système pour déterminer où se trouvait chaque véhicule à un moment donné. Les systèmes de localisation des véhicules peuvent désormais également être trouvés dans les véhicules des consommateurs en tant que dispositif de prévention et de récupération du vol. La police peut suivre le signal émis par le système de localisation pour localiser un véhicule volé.

De nombreux systèmes de suivi des véhicules utilisent désormais une forme de localisation automatique du véhicule (AVL) pour permettre une localisation facile du véhicule. Le système de satellite GPS a été construit et est entretenu par le gouvernement et est disponible gratuitement pour les civils. Cela rend cette technologie très peu coûteuse. D'autres systèmes AVL n'exigent pas que l'antenne soit en ligne de vue directe avec le ciel. Les systèmes terrestres tels que les unités de localisation LORAN et LoJack utilisent des émetteurs de radiofréquence (RF) qui transmettront à travers les murs, les garages ou les bâtiments. De nombreuses voitures de police dans le monde ont une forme de suivi AVL en équipement standard dans leurs véhicules.

Il existe plusieurs types de dispositifs de localisation de véhicules. Généralement, ils sont classés comme passifs et actifs. Les appareils passifs stockent la position GPS, la vitesse, le cap et parfois un événement déclencheur tel qu'une touche marche/arrêt, une porte ouverte/fermée. Une fois que le véhicule revient à un point prédéterminé, le dispositif est retiré et les données téléchargées sur un ordinateur pour évaluation. Les systèmes passifs incluent un type de téléchargement automatique qui transfère les données via un téléchargement sans fil. Les appareils actifs collectent également les mêmes informations, mais transmettent généralement les données en temps réel via des réseaux cellulaires ou satellites à un ordinateur ou à un centre de données pour évaluation.

GPS (système de positionnement global)

Des systèmes de navigation par satellite similaires incluent le GLONASS russe (incomplet en 2008), le futur système de positionnement européen Galileo, le système de navigation COMPASS proposé en Chine et l'IRNSS en Inde.

Après l'abattage du vol 007 de Korean Air Lines en 1983, le président Ronald Regan a publié une directive rendant le système disponible gratuitement pour un usage civil en tant que bien commun. Depuis lors, le GPS est devenu une aide à la navigation largement utilisée dans le monde entier et un outil utile pour la création de cartes, l'arpentage, le commerce, les utilisations scientifiques et les loisirs tels que la géocachette. Le GPS fournit également une référence temporelle précise utilisée dans de nombreuses applications, notamment l'étude scientifique des tremblements de terre et la synchronisation des réseaux de télécommunications.

Les débuts du GPS

Le système comprend plusieurs composants : une constellation de 24 satellites NAVSTAR (exploités par l'US Air Force) en orbite terrestre avec des horloges atomiques à bord, des stations au sol qui contrôlent le système, cinq satellites de rechange en orbite et des récepteurs pour les utilisateurs.

Les lancements de satellites GPS ont commencé en 1978 et les satellites de deuxième génération ont été lancés à partir de 1989. Le système est devenu pleinement opérationnel en 1995, avec un signal pour les utilisateurs militaires et un signal moins précis pour les civils, mais le marché commercial avait commencé à s'ouvrir. plus d'une décennie plus tôt.

En 1983, des intercepteurs à réaction soviétiques ont abattu un avion de ligne civil de Korean Air transportant 269 passagers qui étaient entrés par erreur dans l'espace aérien soviétique.

Parce que l'accès de l'équipage à de meilleurs outils de navigation aurait pu empêcher la catastrophe, le président Ronald Reagan a publié une directive garantissant que les signaux GPS seraient disponibles gratuitement pour le monde lorsque le système serait devenu opérationnel. Le marché commercial n'a cessé de croître depuis.

En 2004, le président Bush a publié une politique mise à jour qui maintient le GPS civil exempt de frais d'utilisation directs.

Comment fonctionne le GPS

Chaque satellite GPS transmet des données qui indiquent son emplacement et l'heure actuelle. Tous les satellites GPS synchronisent les opérations afin que ces signaux répétés soient transmis au même instant. Les stations au sol suivent avec précision l'orbite de chaque satellite.

Les satellites GPS transmettent des signaux sur deux fréquences porteuses principales -- L1 et L2. Les signaux, se déplaçant à la vitesse de la lumière, arrivent à un récepteur GPS à des moments légèrement différents car certains satellites sont plus éloignés que d'autres.

La distance aux satellites GPS peut être déterminée en estimant le temps nécessaire à leurs signaux pour atteindre le récepteur. Lorsque le récepteur estime la distance à au moins quatre satellites GPS, il calcule sa position en trois dimensions.

La précision d'une position déterminée par GPS dépend du récepteur. La plupart des appareils GPS portables ont une précision de 10 à 20 mètres. D'autres récepteurs utilisent une méthode appelée GPS différentiel (DGPS) pour une précision beaucoup plus élevée.

Le DGPS nécessite un récepteur itinérant et un récepteur fixé à un emplacement connu à proximité. Les observations faites par le récepteur fixe permettent de corriger les positions enregistrées par les mobiles et avec une précision inférieure à 1 mètre.

Lorsque le système GPS a été créé, le ministère de la Défense a inséré des erreurs de synchronisation dans ses transmissions pour limiter la précision des récepteurs GPS non militaires à 100 mètres. Cette « disponibilité sélective » a été supprimée en mai 2000.

Développement international

Pendant ce temps, d'autres pays - dont la Russie, l'Union européenne, le Japon et la Chine - développent leurs propres systèmes internationaux de navigation par satellite.

Le système russe, GLONASS (pour Global Navigation Satellite System), est un système de radionavigation par satellite dont les satellites sont entrés en service en 1983. Le système, exploité pour le gouvernement russe par les forces spatiales russes, a été achevé en 1995.

Comme le GPS, la constellation GLONASS se compose de 24 satellites - 21 en fonctionnement et trois de rechange en orbite. En raison des conditions économiques difficiles en Russie, seuls environ 14 satellites fonctionnent actuellement, selon les médias.

Les Russes ont développé un satellite GLONASS avancé avec une durée de vie opérationnelle de sept ans et ont lancé un bloc de trois satellites de la nouvelle version le 26 décembre 2004. Un satellite GLONASS encore plus amélioré, avec un poids réduit et une durée de vie opérationnelle de 10 à 12 ans , doit entrer en service en 2008.

Dans une coentreprise avec la Russie en 2005, le gouvernement indien a accepté de partager les coûts de développement des satellites GLONASS améliorés et d'en lancer deux depuis l'Inde. Avec cette aide, les Russes proposent de remettre GLONASS opérationnel d'ici 2008 avec 18 satellites, et d'ici 2010 avec 24 satellites.

L'Union européenne (UE) construit une alternative au GPS et au GLONASS. Le système de positionnement Galileo proposé sera un système de navigation par satellite à 30 satellites qui devrait être opérationnel d'ici 2010.

Galileo est destiné à donner aux utilisateurs accès à une plus grande précision que celle actuellement disponible, selon l'UE, et à améliorer la couverture des signaux satellites à des latitudes plus élevées. Un seul des quatre services de navigation prévus par Galileo sera disponible gratuitement pour les utilisateurs.

Depuis 2003, plusieurs pays ont rejoint le projet – la Chine (qui investit 296 millions de dollars), Israël, l'Ukraine, l'Inde, le Maroc, l'Arabie saoudite et la Corée du Sud.

Le Japon prévoit également de construire un système de positionnement régional à trois satellites appelé Quasi-Zenith Satellite System (QZSS) qui complétera et sera interopérable avec le GPS. Le premier lancement de satellite est prévu pour 2008, les deuxième et troisième en 2009.

QZSS pourrait améliorer le service régional pour les utilisateurs de positionnement, de synchronisation et de navigation au Japon et dans les régions avoisinantes, où le terrain montagneux et la densité de population rendent parfois le GPS indisponible.

La Chine développe également un système de navigation par satellite indépendant. Le système de positionnement rapide Twinstar, ou système de navigation Beidou, se compose de deux satellites en orbite géosynchrone.

Deux satellites ont été lancés en 2000, et la Chine prévoit de compléter le système avec une deuxième paire, selon les médias. Un autre satellite a été mis en orbite en 2003. La Chine est également associée au système européen Galileo.

Parmi ces améliorations figurent de nouveaux signaux satellites à usage civil – L2C, L5 et L1C.

L2C, disponible dès maintenant, s'améliorera à mesure que de nouveaux satellites seront ajoutés à la constellation GPS. Il sera également interopérable avec le QZSS japonais.

L5 sera disponible après le prochain lancement de satellite GPS amélioré plus tard cette année. L5 transmettra à une puissance plus élevée que les signaux GPS civils actuels et aura une bande passante plus large. Il sera compatible avec Galileo, GLONASS et QZSS. Sa fréquence plus basse peut améliorer la réception en intérieur.

L1C est né d'un accord sur le GPS et Galileo signé par les États-Unis et les États membres de l'UE pour disposer d'un signal compatible et interopérable sur la fréquence L1. L1C aura une conception avancée et sera diffusé à un niveau de puissance plus élevé.

"Les ventes mondiales de GPS ont dépassé les 20 milliards de dollars par an", a déclaré David Sampson du département du Commerce, "et continueront de croître à un rythme soutenu, selon les estimations de l'industrie".

Plus de 95 pour cent des unités GPS vendues, a-t-il ajouté, sont vendues à des fins civiles.

"Tout ce développement et cette croissance extraordinaires", a déclaré Sampson, "est le résultat de politiques gouvernementales cohérentes qui encouragent l'utilisation civile et commerciale du GPS."

Sources d'erreurs de signal GPS

Les facteurs qui peuvent dégrader le signal GPS et donc affecter la précision sont les suivants :

Retards dans l'ionosphère et la troposphère — Le signal du satellite ralentit lorsqu'il traverse l'atmosphère. Le système GPS utilise un modèle intégré qui calcule un délai moyen pour corriger partiellement ce type d'erreur.

Trajet multiple du signal — Cela se produit lorsque le signal GPS est réfléchi par des objets tels que des immeubles de grande hauteur ou de grandes surfaces rocheuses avant d'atteindre le récepteur. Cela augmente le temps de parcours du signal, provoquant ainsi des erreurs.

Erreurs d'horloge du récepteur — L'horloge intégrée d'un récepteur n'est pas aussi précise que les horloges atomiques à bord des satellites GPS. Par conséquent, il peut y avoir de très légères erreurs de synchronisation.

Erreurs orbitales — Également connues sous le nom d'erreurs d'éphéméride, il s'agit d'inexactitudes de l'emplacement signalé par le satellite.

Nombre de satellites visibles — Plus un récepteur GPS peut "voir" de satellites, meilleure est la précision. Les bâtiments, le terrain, les interférences électroniques ou parfois même un feuillage dense peuvent bloquer la réception du signal, provoquant des erreurs de position ou peut-être aucune lecture de position du tout. Les unités GPS ne fonctionneront généralement pas à l'intérieur, sous l'eau ou sous terre.

Géométrie/ombrage des satellites — Il s'agit de la position relative des satellites à un moment donné. La géométrie idéale des satellites existe lorsque les satellites sont situés à de grands angles les uns par rapport aux autres. Une mauvaise géométrie se produit lorsque les satellites sont situés en ligne ou dans un groupe serré.

Le GPRS peut être utilisé pour des services tels que l'accès au protocole d'application sans fil (WAP), le service de messages courts (SMS), le service de messagerie multimédia (MMS) et pour les services de communication Internet tels que le courrier électronique et l'accès au World Wide Web. Le transfert de données GPRS est généralement facturé par mégaoctet de trafic transféré, tandis que la communication de données via la commutation de circuits traditionnelle est facturée par minute de temps de connexion, que l'utilisateur utilise réellement la capacité ou qu'il soit en veille. Le GPRS est un service à commutation de paquets au mieux, par opposition à la commutation de circuits, où une certaine qualité de service (QoS) est garantie lors de la connexion pour les utilisateurs non mobiles.

Les systèmes cellulaires 2G combinés au GPRS sont souvent décrits comme "2.5G", c'est-à-dire une technologie entre la deuxième (2G) et la troisième (3G) générations de téléphonie mobile. Il fournit un transfert de données à vitesse modérée, en utilisant des canaux à accès multiple par répartition dans le temps (TDMA) inutilisés, par exemple, dans le système GSM. À l'origine, on pensait étendre le GPRS pour couvrir d'autres normes, mais à la place, ces réseaux sont en train d'être convertis pour utiliser la norme GSM, de sorte que le GSM est le seul type de réseau où GPRS est utilisé. Le GPRS est intégré à GSM Release 97 et aux versions plus récentes. Il a été normalisé à l'origine par l'Institut européen des normes de télécommunications (ETSI), mais maintenant par le projet de partenariat de 3e génération (3GPP).

Principes de base du GPRS

Le GPRS prenait en charge (en théorie) les connexions Internet Protocol (IP), Point-to-Point Protocol (PPP) et X.25. Le dernier a été généralement utilisé pour des applications telles que les terminaux de paiement sans fil, bien qu'il ait été supprimé de la norme. X.25 peut toujours être pris en charge sur PPP, ou même sur IP, mais cela nécessite soit un routeur pour effectuer l'encapsulation, soit une intelligence intégrée au périphérique/terminal, par ex. UE (équipement utilisateur). En pratique, le navigateur mobile intégré utilise IPv4. Dans ce mode, PPP n'est souvent pas pris en charge par l'opérateur de téléphonie mobile, tandis qu'IPv6 n'est pas encore populaire. Mais si le mobile est utilisé comme modem vers l'ordinateur connecté, PPP est utilisé pour tunneler l'IP vers le téléphone. Cela permet à DHCP d'attribuer une adresse IP, puis d'utiliser IPv4, car les adresses IP utilisées par les équipements mobiles ont tendance à être dynamiques.

Peut être connecté au service GPRS et au service GSM (voix, SMS), en utilisant les deux en même temps. De tels dispositifs sont connus pour être disponibles aujourd'hui.

Peut être connecté au service GPRS et au service GSM (voix, SMS), mais en n'utilisant que l'un ou l'autre à un moment donné. Pendant le service GSM (appel vocal ou SMS), le service GPRS est suspendu, puis repris automatiquement une fois le service GSM (appel vocal ou SMS) terminé. La plupart des appareils mobiles GPRS sont de classe B.

Sont connectés soit au service GPRS, soit au service GSM (voix, SMS). Doit être basculé manuellement entre l'un ou l'autre service.

Un véritable appareil de classe A peut être tenu de transmettre sur deux fréquences différentes en même temps, et aura donc besoin de deux radios. Pour contourner cette exigence coûteuse, un mobile GPRS peut implémenter la fonction de mode de transfert double (DTM). Un mobile compatible DTM peut utiliser simultanément la voix et les données par paquets, le réseau se coordonnant pour s'assurer qu'il n'est pas obligé de transmettre sur deux fréquences différentes en même temps. De tels mobiles sont considérés comme de la pseudo-classe A, parfois appelée "classe simple A". Certains réseaux devraient prendre en charge le DTM en 2007.

GPRS est une nouvelle technologie dans laquelle la vitesse est une fonction directe du nombre d'intervalles de temps TDMA attribués, qui est le moindre de (a) ce que la cellule particulière prend en charge et (b) la capacité maximale de l'appareil mobile exprimée en tant que classe GPRS Multislot.

UDP et TCP

Il existe deux protocoles pour la transmission de données via GPRS. L'un est UDP et l'autre est TCP. Ils sont expliqués ci-dessous :

Le protocole UDP (User Datagram Protocol) est l'un des principaux protocoles de la suite de protocoles Internet. En utilisant UDP, les programmes sur les ordinateurs en réseau peuvent s'envoyer des messages courts parfois appelés datagrammes (à l'aide de Datagram Sockets). UDP est parfois appelé Universal Datagram Protocol. Le protocole a été conçu par David P. Reed en 1980 et formellement défini dans la RFC 768.

UDP ne garantit pas la fiabilité ou l'ordre de la même manière que TCP. Les datagrammes peuvent arriver dans le désordre, apparaître en double ou disparaître sans préavis. Éviter la surcharge de vérifier si chaque paquet est réellement arrivé rend UDP plus rapide et plus efficace, pour les applications qui n'ont pas besoin d'une livraison garantie. Les applications sensibles au temps utilisent souvent UDP car les paquets abandonnés sont préférables aux paquets retardés. La nature sans état d'UDP est également utile pour les serveurs qui répondent à de petites requêtes provenant d'un grand nombre de clients. Contrairement à TCP, UDP est compatible avec la diffusion de paquets (envoi à tous sur le réseau local) et la multidiffusion (envoi à tous les abonnés).

Les applications réseau courantes qui utilisent UDP incluent : le service de noms de domaine (DNS), les applications multimédias en continu telles que IPTV, Voice over IP (VoIP), Trivial File Transfer Protocol (TFTP) et les jeux en ligne.

UDP est un protocole de couche transport orienté message minimal qui est actuellement documenté dans IETF RFC 768.

Dans la suite de protocoles Internet, UDP fournit une interface très simple entre une couche réseau en dessous (par exemple, IPv4) et une couche de session ou une couche d'application au-dessus.

UDP ne fournit aucune garantie au protocole de couche supérieure pour la livraison des messages et un expéditeur UDP ne conserve aucun état sur les messages UDP une fois envoyés (pour cette raison, UDP est parfois appelé protocole de datagramme non fiable). UDP ajoute uniquement le multiplexage d'application et la somme de contrôle de l'en-tête et de la charge utile. Si une quelconque fiabilité des informations transmises est nécessaire, elle doit être mise en œuvre dans les couches supérieures.

Le Transmission Control Protocol (TCP) est l'un des principaux protocoles de la suite de protocoles Internet. TCP est si central que l'ensemble de la suite est souvent appelé "TCP/IP". Alors qu'IP gère les transmissions de niveau inférieur d'ordinateur à ordinateur lorsqu'un message circule sur Internet, TCP fonctionne à un niveau supérieur, concerné uniquement par le deux systèmes d'extrémité, par exemple votre navigateur Web et un serveur Web. En particulier, TCP fournit une livraison fiable et dans l'ordre d'un flux d'octets d'un programme sur un ordinateur à un autre programme sur un autre ordinateur. Outre le Web, d'autres applications courantes de TCP incluent le courrier électronique et le transfert de fichiers. Parmi ses tâches de gestion, TCP contrôle la taille des messages, la vitesse à laquelle les messages sont échangés et la congestion du trafic réseau.

TCP fournit un service de communication à un niveau intermédiaire entre un programme d'application et le protocole Internet (IP). C'est-à-dire que lorsqu'un programmeur d'application souhaite envoyer une grande quantité de données sur Internet en utilisant IP, au lieu de diviser les données en morceaux de taille IP et d'émettre une série de demandes IP, le programmeur peut émettre une seule demande à TCP et laisser TCP gère les détails IP.

IP fonctionne en échangeant des informations appelées paquets. Un paquet est une séquence d'octets et se compose d'un en-tête suivi d'un corps. L'en-tête décrit la destination du paquet, que les routeurs sur Internet utilisent pour faire passer le paquet, généralement dans la bonne direction, jusqu'à ce qu'il arrive à sa destination finale. Le corps contient les données transmises par IP. Lorsque IP transmet des données au nom de TCP, le contenu du corps du paquet IP est constitué de données TCP.

En raison de la congestion du réseau, de l'équilibrage de la charge du trafic ou d'autres comportements imprévisibles du réseau, les paquets IP peuvent être perdus ou livrés dans le désordre. TCP détecte ces problèmes, demande la retransmission des paquets perdus, réorganise les paquets dans le désordre et aide même à minimiser la congestion du réseau pour réduire l'occurrence des autres problèmes. Une fois que TCP à l'extrémité réceptrice a finalement réassemblé une copie parfaite du gros bloc de données initialement transmis, il transmet ce bloc unique au programme d'application à l'extrémité réceptrice. Ainsi, TCP simplifie grandement la tâche de communication réseau du programmeur d'applications.

TCP est largement utilisé par bon nombre des protocoles d'application les plus populaires d'Internet et des applications résultantes, notamment le World Wide Web, la messagerie électronique, le protocole de transfert de fichiers, Secure Shell et certaines applications de diffusion multimédia en continu.

Cependant, étant donné que TCP est optimisé pour une livraison précise plutôt que pour une livraison en temps voulu, TCP subit parfois des délais relativement longs (de l'ordre de quelques secondes) en attendant des messages dans le désordre ou des retransmissions de messages perdus, et il n'est pas particulièrement adapté pour de vrais -temps des applications telles que la voix sur IP. Pour de telles applications, des protocoles tels que le protocole de transport en temps réel (RTP) exécuté sur le protocole de datagramme utilisateur (UDP) sont généralement recommandés à la place.

TCP est un service de livraison de flux fiable qui garantit la livraison d'un flux de données envoyé d'un hôte à un autre sans duplication ni perte de données. Le transfert de paquets n'étant pas fiable, une technique connue sous le nom d'accusé de réception positif avec retransmission est utilisée pour garantir la fiabilité des transferts de paquets. Cette technique fondamentale exige que le récepteur réponde par un message d'accusé de réception lorsqu'il reçoit les données. L'expéditeur conserve un enregistrement de chaque paquet qu'il envoie et attend un accusé de réception avant d'envoyer le paquet suivant. L'expéditeur conserve également une minuterie à partir du moment où le paquet a été envoyé et retransmet un paquet si la minuterie expire. Le temporisateur est nécessaire au cas où un paquet serait perdu ou corrompu.

GOOGLE MAPS

Google Maps (appelé pendant un certain temps Google Local) est une application et une technologie de service de cartographie Web gratuite fournie par Google qui alimente de nombreux services basés sur des cartes, notamment le site Web Google Maps, Google Ride Finder et des cartes intégrées sur des sites Web tiers via Google Maps. API. Il propose des plans des rues, un planificateur d'itinéraires pour les vélos, les piétons (itinéraires de moins de 10 km) et les voitures, ainsi qu'un localisateur d'entreprises urbaines pour de nombreux pays à travers le monde.

Un produit connexe est Google Earth, un programme autonome pour Microsoft Windows, Mac OS X et Linux qui offre plus de fonctionnalités de visualisation du globe.

Google Maps fournit des images satellite haute résolution de la plupart des zones urbaines du Canada et des États-Unis (y compris Hawaï, Alaska, Porto Rico et les îles Vierges américaines), ainsi que certaines parties de la Nouvelle-Zélande, de l'Australie, de l'Égypte, de la France, de l'Allemagne, de Hong Kong, Hongrie, Iran, Islande, Italie, Irlande, Irak, Japon, Jordanie, Taïwan, Bahamas, Bermudes, Koweït, Mexique, Pays-Bas, Royaume-Uni et de nombreux autres pays. Google Maps couvre également de nombreuses villes, dont Moscou, Istanbul et la majeure partie de l'Inde.

Divers gouvernements se sont plaints de la possibilité que des terroristes utilisent les images satellites pour planifier des attaques. Google a brouillé certaines zones de sécurité (principalement aux États-Unis), y compris la zone de l'observatoire naval américain (où se trouve la résidence officielle du vice-président), et jusqu'à récemment, le Capitole des États-Unis et la Maison Blanche (qui dessus de maison effacé). D'autres installations gouvernementales bien connues sont visibles, notamment les zones 51 dans le désert du Nevada.

Avec l'introduction d'un outil de cartographie et d'imagerie satellite facilement accessible et consultable, le moteur de cartographie de Google a suscité un regain d'intérêt pour l'imagerie satellite. Des sites ont été établis qui présentent des images satellites de points de repère naturels et artificiels intéressants, y compris des nouveautés telles que l'écriture "de gros caractères" visible dans l'imagerie, ainsi que des stades célèbres et des formations terrestres uniques.

Bien que Google utilise le mot "satellite", la plupart des images haute résolution sont des photographies aériennes prises à partir d'avions plutôt que de satellites.

Comme beaucoup d'autres applications Web de Google, Google Maps utilise beaucoup JavaScript. Au fur et à mesure que l'utilisateur fait glisser la carte, les carrés de la grille sont téléchargés depuis le serveur et insérés dans la page. Lorsqu'un utilisateur recherche une entreprise, les résultats sont téléchargés en arrière-plan pour insertion dans le panneau latéral et la carte - la page n'est pas rechargée. Les emplacements sont dessinés dynamiquement en positionnant une épingle rouge (composée de plusieurs PNG partiellement transparents) au-dessus des images de la carte.

La technique consistant à fournir une plus grande interactivité à l'utilisateur en effectuant des requêtes réseau asynchrones avec Javascript et XMLHttpRequest est récemment connue sous le nom d'Ajax. Maps utilise en fait XmlHttpRequest avec parcimonie, préférant un IFrame masqué avec soumission de formulaire car il préserve l'historique du navigateur. Il utilise également JSON pour le transfert de données plutôt que XML, pour des raisons de performances. Ces techniques relèvent toutes deux du large parapluie Ajax.

Les données SIG (Système d'information géographique) utilisées dans Google Maps sont fournies par Tele Atlas, NAVTEQ, MapABC et MAPIT MSC, Malaisie, tandis que les petites parcelles d'imagerie satellitaire haute résolution sont en grande partie fournies par DigitalGlobe et son satellite QuickBird, avec quelques images également de sources gouvernementales. La principale base d'images mondiale appelée NaturalVue a été dérivée des images Landsat 7 de MDA Federal (anciennement Earth Satellite Corporation). Cette base d'images globale constitue la base essentielle de l'ensemble de l'application.

As the Google Maps code is almost entirely JavaScript and XML, some end-users reverse-engineered the tool and produced client-side scripts and server-side hooks which allowed a user or website to introduce expanded or customised features into the Google Maps interface.

Using the core engine and the map/satellite images hosted by Google, such tools can introduce custom location icons, location coordinates and metadata, and even custom map image sources into the Google Maps interface. The script-insertion tool Greasemonkey provides a large number of client-side scripts to customize Google Maps data.

Combined with photo sharing websites such as Flickr, a phenomenon called "memory maps" emerged. Using copies of the Keyhole satellite photos of their home towns or other favorite places, the users take advantage of image annotation features to provide personal histories and information regarding particular points of the area.

Google created the Google Maps API to facilitate developers integrating Google Maps into their web sites with their own data points. It is a free service, which currently does not contain ads, but Google states in their terms of use that they reserve the right to display ads in the future.

By using the Google Maps API you can embed the full Google Maps on an external web site. Start by creating an API Key, it will be bound to the web site and directory you enter when creating the key. Creating your own map interface involves adding the Google JavaScript code to your page, and then using Javascript functions to add points to the map.

When the API first launched, it lacked the ability to geocode addresses, requiring you to manually add points in (latitude, longitude) format. This has since been rectified.

At the same time as the release of the Google Maps API, Yahoo! released their own Maps API. Both were released to coincide with the O'Reilly Web 2.0 Conference. Yahoo! Maps lacks international support, but included a geocoder in the first release.

As of October 2006, Google Gadgets' Google maps implementation is much easier to use with just the need of one line of script. The drawback is that it is not as customizable as the full API.

In late 2006, Yahoo began a campaign to upgrade their maps, to compete better with Google Local and other online map companies. Several of the maps used in a survey were similar to Google maps.

Google Maps actively promotes the commercial use of their API. One of its earliest adopters at large scale are real estate mashup sites. Google's case study is about Nestoria, a property search engine in the UK and Spain.

In late 2006, Google introduced a Java application called Googel Maps for Mobile, which is intended to run on any Java based phone or mobile device. Most, if not all, web based features are available from within the application.

On November 28th, 2007, Google Maps for Mobile 2.0 was released. It introduced a GPS-like location service that does not require a GPS receiver. The "my location" feature works by utilizing the GPS location of the mobile device, if it is available. This information is supplemented by the software determining the nearest cell site. The software then looks up the location of the cell site using a database of known cell sites. The software plots a blue icon with a blue circle around the estimated range of the cell site based on the transmitter's rated power (among other variables). The estimate is refined using the strength of the cell phone signal to estimate how close to the cell site the mobile device is.

As of July 10, 2008, this service is available for the following platforms:

  • iPhone
  • Windows Mobile
  • Nokia / Symbian (S60 3rd edition only)
  • Symbian OS (UIQ v3)
  • BlackBerry
  • Phones with Java-Platform (MIDP 2.0 and up), for example the Sony Ericsson K800i
  • Palm OS (Centro and newer)

MICROSOFT VIRTUAL EARTH

Microsoft Virtual Earth is a geospatial mapping platform produced by Microsoft. It allows developers to create applications that layer location-relevant data on top of the Virtual Earth map imagery. This includes imagery taken from satellite sensors, aerial cameras (including "Bird's Eye" aerial imagery taken at 45 degree angle view to show building façades and entrances) as well as 3D city models and terrain. The Virtual Earth platform also provides a comprehensive point-of-interest database and the capability to search by business, person and address. Microsoft uses the Virtual Earth platform to power its Live Search Maps platform.

Users can browse and search topographically-shaded street maps for many cities worldwide. Maps include certain points of interest built-in, such as metro stations, stadiums, hospitals, and other facilities. It is also possible to browse public user-created points of interest. Search can cover public collections, businesses or types of business, locations, or people.

For some countries, like South Africa, and South Korea, Live Search Maps has data on highways and some arterial roads, but lacks local streets or alleys. There is also detailed map data available for several global cities in developing countries like Rio de Janeiro, Istanbul, and Mexico City. However, for such cities, the detail of the map decreases significantly as one moves outward from the city center.

Live Search Maps has a tendency to mark certain unsigned three-digit Interstates in the United States, such as I-444 , I-110, , I-478, and the Interstate Highways in Alaska. Still other auxiliary Interstates, whose signs are not posted for various reasons, are labeled incorrectly as part of another Interstate. Examples are I-695 (DC), which is labeled as part of I-295 (DC), and I-878, which is labeled as I-678.

Live Search Maps also includes several terabytes of satellite and aerial imagery. In many areas, maximum resolution is approximately 4.5 pixels per meter. Elsewhere, especially in the most remote areas of the world, top resolution is a few orders of magnitude less. Users may toggle labels on or off, choosing whether to see the ground as it would appear from an airplane versus closer to how it would appear on a map.

List of countries that have detailed satellite images:

  • United States
  • Canada
  • United Kingdom
  • Germany
  • Italy
  • Australia
  • New Zealand
  • Japan
  • India

In over 100 cities in the United States and in over 80 European locations, a bird's-eye view offers aerial photos from four angles. These Pictometry images are much more detailed than the aerial views from directly above buildings. Signs, advertisements, pedestrians, and other objects are clearly visible in many bird's eye views.

The 3D Maps feature lets user see buildings in 3D, with the added ability to rotate and tilt the angle in addition to panning and zooming. To attempt to achieve near-photorealism, all 3D buildings are textured using composites of aerial photography.

To view the 3D maps, users must install a plugin, then enable the "3D" option on "Virtual Earth". In addition to exploring the maps using a mouse and keyboard, it is possible to navigate the 3D environment using an Xbox 360 controller or another game controller in Windows Vista or Windows XP. As of April 2007, users may also use 3Dconnexion's SpaceNavigator input device.

Currently, roughly 68 cities worldwide may be viewed in 3D, including most of the major cities in the United States and a few cities in Canada, the United Kingdom, and France. Some additional cities have had a select few important landmarks modelled in 3D, such as the Colosseum in Rome. Terrain data is available for the entire world. It is also possible to use a simple 3D modelling program called Virtual Earth - 3DVIA to add one's own models to the 3D map.

The following is a partial list of cities that have most areas rendered in 3D:

United States Atlanta, Augusta, Aurora-Naperville, Baton Rouge, Birmingham, Boston, Buffalo, Cape Coral, Cedar Rapids, Chattanooga, Chicago, Cleveland, Cincinnati, Coral Springs, Dallas-Fort Worth, Denver, Detroit, Huntsville, Indianapolis, Jackson, Jacksonville, Joliet, Kansas City, Knoxville, Las Vegas, Los Angeles, Louisville, Miami, Milwaukee, Minneapolis, Mobile, Montgomery, Nashville, New Orleans, New York, Orlando, Philadelphia, Phoenix, Portland (OR), Redmond, Rockford, Sacramento, San Diego, San Francisco, Savannah, Seattle, Shreveport, St. Louis, St. Petersburg, Tacoma, Tallahassee, Tampa, Tucson, West Palm Beach.

Canada Calgary, Edmonton, Hamilton, Montreal, Ottawa, Quebec, Toronto

United Kingdom Brighton, Bristol, Cardiff, Eastbourne, Gloucester, Liverpool, Northampton, Norwich, Plymouth, Swindon, Wolverhampton

Microsoft announced in March 2008 that it will be releasing its latest software technology called “ClearFlow”. It is a Web-based service for driving directions available on Live.com in 72 cities across the U.S. The tool took five years for Microsoft’s Artificial Intelligence team to develop. ClearFlow provides real-time traffic data to help drivers avoid traffic congestion. Differing from Yahoo! Maps, Google Maps and Mapquest, ClearFlow not only gives information for alternative routes, but supplies traffic conditions on city streets adjacent to highways.[11] Clearflow anticipates traffic patterns, while taking into account sporting/arena events, time of day and weather conditions, and then reflects the back ups and their consequential spill over onto city streets. Often, ClearFlow found it may be faster to stay on the highway instead of seeking alternative side street routes, which involve traffic lights and congestion as well.

According to U.S Microsoft employee and artificial intelligence expert, Eric Horvitz, “…ClearFlow would be integrated into Live Search Mobile and other Microsoft mobile applications, including in-car navigation and personal navigation devices.” Clearflow will be available at no cost. The one draw back of Clearflow is that it offers no real-time updates regarding highway and road closures or accidents.

Yahoo! Maps is a free online mapping portal provided by Yahoo!.

The main Yahoo! Maps site offers street maps and driving directions for the United States and Canada. It has the following notable features:

Address Book: Registered Yahoo! users can store a list of commonly used street addresses, making it unnecessary to type them in again. A recently entered address can be quickly recalled by selecting one from a drop-down list.

Live Traffic: Traffic incident markers and current highway conditions can be viewed on the map.

Point of Interest Finder: SmartView (tm) can be used to find businesses and other points of interest near the current location, with clickable icons that supply an address, a telephone number, and links for more information.

Driving Directions: Driving directions can be displayed on a map or in printable form, with optional turn-by-turn maps, or as simple text. Links to driving directions can be e-mailed, and text directions sent to mobile phones.

A new and improved Yahoo! Local Maps has been recently made available. It offers maps with significantly more interactivity for broadband users. It is written using AJAX, leveraging Rich Internet Application techniques. Some features:

Draggable maps: The current map view can be manipulated by dragging it with the mouse or tapping the arrow keys. Zoom level can be controlled via the mouse scroll wheel, "Page Up"/"Page Down" keys, or the map's zoom bar.

Multi-point driving directions: Multiple addresses can be entered and manually reordered for complex driving directions.

Find On The Map: A local search by business name or category can be typed into the "Find On The Map" box to locate it in the current map view. A list of clickable point of interest categories is also available. The results can be further refined by user rating, or related category.

Widgets: A number of widgets over the map include a navigator widget, map type (map, satellite & hybrid) controller and a zoom level control.

Satellite Imagery: Labelled (hybrid) and unlabelled satellite imagery is available world-wide.

Overview map: Collapsible overview map provides context, with draggable grey area controlling the main map view.

International Coverage: Outside the US and Canada, Yahoo! Maps Beta can recognize city, province, and country names, and provide a small-scale map or satellite views.

Right click to set waypoint: an origin, destination, or midpoint can be set by right-clicking on the desired location on the map.

Draggable markers: Any marker can be dragged to the 'Get Map' text entry area to add that location to a route.

Live traffic, address book, and send to phone features are also available.

Developers can embed Yahoo! Maps into their own web pages (to create a mashup) through the Yahoo! Maps Developer APIs. Many exciting new web sites have come about recently by displaying content from other sources on top of maps provided by the various mapping portals (the Google Maps API getting the most publicity). The Yahoo! Maps APIs come in three basic flavors:

The Flash APIs, that use the Adobe Flash platform. Three variations, allowing the developer to write in JavaScript, ActionScript, or Adobe Flex 1.5, are available.

The Ajax API, for interactive maps that use capabilities inherent in web browsers, without using the Flash plug-in. Ajax applications are written in JavaScript.

The "Simple" API. The Simple API is basically an XML data format, an extension of GeoRSS, for displaying point of interest data on top of Yahoo!'s main map site. The Flash and Ajax APIs also support display of GeoRSS formatted data.

Vehicle tracking systems are an integrated part of the “layered approach” to vehicle protection, recommended by the National Insurance Crime Bureau (NICB) to prevent motor vehicle theft. This approach recommends four layers of security based on the risk factors pertaining to a specific vehicle. Vehicle Tracking Systems are one such layer, and are described by the NICB as “very effective” in helping police recover stolen vehicles.

Stolen Vehicle Recovery: Both consumer and commercial vehicles can be outfitted with RF or GPS units to allow police to do tracking and recovery. In the case of LoJack, the police can activate the tracking unit in the vehicle directly and follow tracking signals.

Fleet Management: When managing a fleet of vehicles, knowing the real-time location of all drivers allows management to meet customer needs more efficiently. Whether it is delivery, service or other multi-vehicle enterprises, drivers now only need a mobile phone with telephony or Internet connection to be inexpensively tracked by and dispatched efficiently.

Asset Tracking: Companies needing to track valuable assets for insurance or other monitoring purposes can now plot the real-time asset location on a map and closely monitor movement and operating status.

Field Service Management : Companies with a field service workforce for services such as repair or maintenance, must be able to plan field workers’ time, schedule subsequent customer visits and be able to operate these departments efficiently. Vehicle tracking allows companies to quickly locate a field engineer and dispatch the closest one to meet a new customer request or provide site arrival information.

Field Sales: Mobile sales professionals can access real-time locations. For example, in unfamiliar areas, they can locate themselves as well as customers and prospects, get driving directions and add nearby last-minute appointments to itineraries. Benefits include increased productivity, reduced driving time and increased time spent with customers and prospects.

Trailer Tracking: Haulage and Logistics companies often operate lorries with detachable load carrying units. The part of the vehicle that drives the load is know as the cab and the load carrying unit is known as the trailer. There are different types of trailer used for different applications, e.g., flat bed, refrigerated, curtain sider, box container.

Wildlife Tracking: These tracking systems can be modified and used for tracking of wildlife by fitting a tracking device on their neck which logs their location and transmits via sms or GPRS after a predetermined frequency. GPS wildlife tracking is a process whereby biologists, scientific researchers or conservation agencies can remotely observe relatively fine-scale movement or migratory patterns in a free-ranging wild animal using the Global Positioning System and optional environmental sensors or automated data-retrieval technologies such as Argos satellite uplink, mobile data telephony or GPRS and a range of analytical software tools.

A GPS-enabled device will normally record and store location data at a pre-determined interval or on interrupt by an environmental sensor. These data may be stored pending recovery of the device or relayed to a central data store or internet-connected computer using an embedded cellular (GPRS), radio, or satellite modem. The animal's location can then be plotted against a map or chart in near real-time or, when analysing the track later, using a GIS package or custom software.

While GPS tracking devices may also be attached to domestic animals such as pets, pedigree livestock and working dogs, and similar systems are used in fleet management of vehicles, wildlife tracking can place additional constraints on size and weight and may not allow for post-deployment recharging or replacement of batteries or correction of attachment.

As well as allowing in-depth study of animal behaviour and migration, the high-resolution tracks available from a GPS-enabled system can potentially allow for tighter control of animal-borne communicable diseases such as the H5N1 strain of avian influenza.

Fleet control. For example, a delivery or taxi company may put such a tracker in every of its vehicles, thus allowing the staff to know if a vehicle is on time or late, or is doing its assigned route. The same applies for armored trucks transporting valuable goods, as it allows to pinpoint the exact site of a possible robbery.

Stolen vehicle searching. Owners of expensive cars can put a tracker in it, and "activate" them in case of theft. "Activate" means that a command is issued to the tracker, via SMS or otherwise, and it will start acting as a fleet control device, allowing the user to know where the thieves are.

Animal control. When put on a wildlife animal (e.g. in a collar), it allows scientists to study its activities and migration patterns. Vaginal implant transmitters are used to mark the location where pregnant females give birth. Animal tracking collars may also be put on domestic animals, to locate them in case they get lost.

Race control. In some sports, such as gliding, participants are required to have a tracker with them. This allows, among other applications, for race officials to know if the participants are cheating, taking unexpected shortcuts or how far apart they are. This use has been featured in the movie "Rat Race", where some millionaires see the position of the racers in a wall map.

Espionage/surveillance. When put on a person, or on his personal vehicle, it allows the person monitoring the tracking to know his/her habits. This application is used by private investigators, and also by some parents to track their children.

Technologies Used in Vehicle Tracking

A geocoder is a piece of software or a (web) service that helps in this process.

A simple method of geocoding is address interpolation. This method makes use of data from a street geographic information system where the street network is already mapped within the geographic coordinate space. Each street segment is attributed with address ranges (e.g. house numbers from one segment to the next). Geocoding takes an address, matches it to a street and specific segment (such as a block, in towns that use the "block" convention). Geocoding then interpolates the position of the address, within the range along the segment.

Take for example: 742 Evergreen Terrace

Let's say that this segment (for instance, a block) of Evergreen Terrace runs from 700 to 799. Even-numbered addresses would fall on one side (e.g. west side) of Evergreen Terrace, with odd-numbered addresses on the other side (e.g. east side). 742 Evergreen Terrace would (probably) be located slightly less than halfway up the block, on the west side of the street. A point would be mapped at that location along the street, perhaps offset some distance to the west of the street centerline.

However, this process is not always as straightforward as in this example.

Distinguishing between ambiguous addresses such as 742 Evergreen Terrace and 742 W Evergreen Terrace.

Geocoding new addresses for a street that is not yet added to the geographic information system database.

While there might be 742 Evergreen Terrace in Springfield, there might also be a 742 Evergreen Terrace in Shelbyville. Asking for the city name (and state, province, country, etc. as needed) can solve this problem. Some situations require use of postal codes or district name for disambiguation. For example, there are multiple 100 Washington Streets in Boston, Massachusetts because several cities have been annexed without changing street names.

Finally, several caveats on using interpolation.

The typical attribution of a street segment assumes that all "even" numbered parcels are on one side of the segment, and all "odd" numbered parcels are on the other. This is often not true in real life.

Interpolation assumes that the given parcels are evenly distributed along the length of the segment. This is almost never true in real life it is not uncommon for a geocoded address to be off by several thousand feet.

Segment Information (esp. from sources such as TIGER) includes a maximum upper bound for addresses and is interpolated as though the full address range is used. For example, a segment (block) might have a listed range of 100-199, but the last address at the end of the block is 110. In this case, address 110 would be geocoded to 10% of the distance down the segment rather than near the end.

Most interpolation implementations will produce a point as their resulting "address" location. In reality, the physical address is distributed along the length of the segment, i.e. consider geocoding the address of a shopping mall - the physical lot may run quite some distance along the street segment (or could be thought of as a two-dimensional space-filling polygon which may front on several different streets - or worse, for cities with multi-level streets, a three-dimensional shape that meets different streets at several different levels) but the interpolation treats it as a singularity.

A very common error is to believe the accuracy ratings of a given map's geocodable attributes. Such "accuracy" currently touted by most vendors has no bearing on an address being attributed to the correct segment, being attributed to the correct "side" of the segment, nor resulting in an accurate position along that correct segment. With the geocoding process used for U.S. Census TIGER datasets, 5-7.5% of the addresses may be allocated to a different census tract, while 50% of the geocoded points might be located to a different property parcel.

Because of this, it is quite important to avoid using interpolated results except for non-critical applications, such as pizza delivery. Interpolated geocoding is usually not appropriate for making authoritative decisions, for example if life safety will be impacted by that decision. Emergency services, for example, do not make an authoritative decision based on their interpolations an ambulance or fire truck will always be dispatched regardless of what the map says.

Other means of geocoding might include locating a point at the centroid (center) of a land parcel, if parcel (property) data is available in the geographic information system database. In rural areas or other places lacking high quality street network data and addressing, GPS is useful for mapping a location. For traffic accidents, geocoding to a street intersection or midpoint along a street centerline is a suitable technique. Most highways in developed countries have mile markers to aid in emergency response, maintenance, and navigation. It is also possible to use a combination of these geocoding techniques - using a particular technique for certain cases and situations and other techniques for other cases.

The proliferation and ease of access to geocoding (and reverse-geocoding) services raises privacy concerns. For example, in mapping crime incidents, law enforcement agencies aim to balance the privacy rights of victims and offenders, with the public's right to know. Law enforcement agencies have experimented with alternative geocoding techniques that allow them to mask some of the locational detail (e.g., address specifics that would lead to identifying a victim or offender). As well, in providing online crime mapping to the public, they also place disclaimers regarding the locational accuracy of points on the map, acknowledging these location masking techniques, and impose terms of use for the information.

Reverse GEOCODING

Reverse geocoding is the process of finding a place name from a given latitude and longitude.Once you have generated latitude and longitude information for an image, you can right click on the image and use the Location names menu to tell Geotag to search for location names for one or more images.

Geotag does this by sending a request to geonames.org, a web site that offers lookups as a free service. Many thanks to the good people at geonames.org

By default Geotag asks only for the nearest place name geonames knows, but you can use the Settings dialog to customize this. By specifying a "search radius" (in kilometers or miles depending on your settings) Geotag will request location names within this radius. By specifying the "Number of results" you can limit how many location names are retrieved within the search radius. You can then select one of the location names retrieved by right clicking on the image and selecting Location names->Select. If geonames.org knows more than one name for the same location, Geotag will display all known names in a sub-menu for you to choose from.

Another way of getting location names is finding the names of Wikipedia articles that have been tagged with coordinates close to the image coordinates. This can help if the image location is a point of interest (with Wikipedia article) far away from the next populated place. Also in populated, touristy places you might find that the subject of your image has a Wikipedia entry with coordinates (works great in London). Luckily geonames.org offers such a service. Unfortunately it only supplies the title of the Wikipedia article, but not (yet - I'm told) the country, city or region. That's why, when you select a Wikipedia location name, the region and country are left unchanged. Wikipedia location names are easily recognizable by the little 'W' icon next to the name.

If you select a new place name for an image, Geotag does the following:

If the selected location is a Wikipedia entry, only the location name will be updated. The city, province and country will remain unchanged.

If the selected location is a populated place, the city name, province and country will be updated and the location name is not changed.

Otherwise the location name, province and country will be updated and the city name is not changed.

If anyone has a better suggestion for handling this, please let me know. It's not perfect, but I think it's a reasonable solution. You can always manually edit Geotag's suggestions.

A third way of giving your picture a location, region and country name is to click on the corresponding field in the images table and enter the names manually. Not very high-tech, but it works.


Setting up the Map in a Stateful Widget

I defined a StatefulWidget appelé MapPage with its corresponding State class, where I imported the required packages, as well as some upfront constants I’ll be using throughout my widget, such as the camera related configurations (I wanted to give my map a tilted look and a specific zoom) plus some hardcoded source and destination location (for the sake of this tutorial).

I also need references to my GoogleMapController, as well as a collection of markers that I’ll be updating frequently. I’ll also be showing some custom pin icons / markers as well as polylines to draw the route on my map between source and destination, and of course I’ll be needing my Google Maps API key.

Remember to enable Directions API , Maps SDK for Android et Maps SDK for iOS for your API key.

But the most important properties to pay attention to are the Location et LocationData properties below. The Location’s location property will hold a reference to the location information in a very encapsulated way, by providing a set of APIs to retrieve the user’s current location as well as hooks to obtain notifications to real-time changes in their location. The LocationData’s currentLocation is how the Location reference exposes the user’s location information, providing properties such as the lat, long, speed, accuracy, altitude, etc. I’ll also hold on to the destination location in a reference of type LocationData for consistency.

Let’s proceed to handle the initial state of this widget and set some listeners.

In the code below, I’m overriding the initState() as commonly done in a StatefulWidget, where I create an instance of Location so I can get the user’s location (setInitialLocation)and listen for updates on location changes (onLocationChanged). I also set upfront what my custom marker pins will look like for later use (setSourceAndDestinationIcons). Notice how by subscribing to the location’s onLocationChanged event I receive the current user’s position (the cLoc parameter of type LocationData) , from which I can later on extract the lat and long position and use it to move the pin across the map as the user moves in almost real time. We’ll look at the updatePinOnMap method further down below.

Le onLocationChanged event fires as many times as the location receives a position change, and you can change the defaults by calling the location’s changeSettings method and changing values such as the accuracy (how accurate the location tracking measurement is high by default), interval (how frequent the location is updated, 1 sec. by default, or in milliseconds ,1000) and distantFilter (in meters, by default 0, which ensures the location is being updated only if there’s a change in location within the meters value specified).

Now, let’s proceed to build our widget.


Track Cyclone Yaas: How to track the cyclone using Esri India GIS map

Cyclone Yaas is on its way to hit several parts of the country including Bengal, Odisha, among others later today. We previously listed several websites and apps, which allow everyone to track every cyclone happening in the country as well as globally. Esri India, the country’s one of the leading Geographic Information System (GIS) Software & Solutions provider, has now announced a map to follow Cyclone Yass path live.

Esri India closely works with government, state government and weather mapping agencies, Survey of India and other public and private institutions. In a disaster scenario such as Cyclone, the company said, “Esri leverages mapping technology to help the public, NGO’s, Civil Societies and the government departments with scientifically generated & processed weather information and forecasts, with Geographic reference.”

The GIS map is built with ArcGIS Online, which is Esri’s mapping and analytics system. The map provides updates on the weather, wind speed, number of households and population in the area. The map consolidates the information from various authoritative feeds and sources for an integrated view on the movement and impact of Cyclone Yass.”

The GIS Map provides users with early information such as forecast position, forecast trend, observed track for cyclone, wind speed, watches, and warnings among others, that can turn out to be useful in mapping and risk preparedness. “The Cyclone Yass Live Path GIS Map application would also help in early preparedness in terms of most affected areas, evacuation planning, shelters, and rehabilitation plans,” the company claimed.

Commenting on the matter, Agendra Kumar, Managing Director, Esri India, said, “The objective is to give a common view to relevant authorities, departments and social organizations in order to maximize reach-out to citizens so that there is timely action for the safety of life and property. The Cyclone Yass Live Path Map is specifically created to provide updates leveraging Geographic Information Systems (GIS) technology. This will help citizens and organizations involved to prepare and temporarily re-locate to lesser severe areas.”

“At Esri India, our focus is to bring information together from different sources and share in a common GIS platform so that it can help reduce damages and facilitate a collaborative response in saving lives and property,” Kumar added.