Suite

Comment créer une matrice de distance routière OD dans QGIS?

Comment créer une matrice de distance routière OD dans QGIS?


Je recherche les étapes nécessaires pour produire une matrice de coûts origine-destination (OD).

Ce que je recherche, c'est une matrice de route distances. L'outil de matrice de distance ne produit que des distances euclidiennes. Le plugin QGIS Roadgraph produit la distance routière la plus courte à partir de un origine vers N destinations. Ce dont j'ai besoin, c'est d'un fichier contenant les distances de tous origines vers les N destinations les plus proches. J'ai beaucoup d'origines donc répéter les analyses avec Roadgraph n'est pas une option. Merci encore.

Je recherche une description étape par étape, en partant de zéro (c'est-à-dire avec mes 3 fichiers de formes : origines, destinations, réseau routier).


QGIS a tous les algorithmes nécessaires, mais il n'y a pas encore d'interface graphique pour créer des matrices. Avec une certaine connaissance de Python, la documentation de la bibliothèque Network Analysis devrait vous aider à démarrer.


MISE À JOUR - QGIS3 :

Comme cela semble être un sujet important, je voudrais partager ma réponse sur une question similaire.

Si vous utilisez la version actuelle de QGIS (3), vous pouvez utiliser le plugin QNEAT3. CA offre algorithmes de traitement multiples qui produisent des matrices origine-destination (OD-Matrix) sous forme de couche de ligne, de table ou de fichier csv prêt à l'emploi. Tous les algorithmes reposent sur ledijkstra()méthode dans leqgis.analysemodule, donc tous les coûts sont calculés sur la base des chemins les plus courts et utilisent du code C++ pour une exécution plus rapide.

Vous pouvez obtenir plus d'informations sur le plugin à la référentiel de plugins qgis et au niveau des plugins Documentation.


Je suppose que pgRouting serait la meilleure option pour vous. Pourriez-vous s'il vous plaît jeter un oeil à ces messages et dire si c'est en général ce que vous recherchez?

Créer de nombreuses routes origine-destination avec pgRouting (Réponse d'Otto Coster) Si oui, alors il y aurait une boucle supplémentaire nécessaire pour faire les calculs pour toutes les destinations


Dans QGIS, il y a l'outil Distance Matrix dans la barre du haut : vecteur/outils d'analyse/outil de matrice de distance (j'espère que la traduction est correcte à cause de ma version territoriale).

j'espère que ça aide


Calculer une matrice de distance

L'API Distance Matrix de Bing Maps fournit le temps de trajet et les distances pour un ensemble d'origines et de destinations. Les distances et les temps renvoyés sont basés sur les itinéraires calculés par l'API Bing Maps Route. Les heures sont basées sur des informations de trafic prédictives, en fonction de l'heure de début spécifiée dans la demande. Des matrices de distance peuvent être calculées pour les trajets en voiture, à pied et en transport en commun. Cette API peut également générer des matrices de distance qui incluent éventuellement un histogramme des temps de trajet sur une période de temps avec un intervalle défini qui prend en considération le trafic prévu à ces moments.

Les matrices de distance sont utilisées dans plusieurs types d'applications différentes. Le plus courant est d'alimenter des algorithmes qui résolvent le problème du voyageur de commerce (TSP) et le problème de tournée des véhicules (VRP). Certaines autres applications courantes incluent :

  • Trier les résultats de la recherche en fonction de la distance ou du temps de déplacement réel.
  • Déterminer les heures d'arrivée en fonction des temps de trajet.
  • Calculez la différence de temps de trajet entre les emplacements. Par exemple : Nous cherchons à déménager dans un nouveau bureau, quel est l'impact sur les temps de trajet pour notre personnel ?
  • Regrouper les données en fonction du temps de trajet et des distances. Par exemple : recherchez toutes les maisons situées à moins de 1 mile (1 km) d'un dépanneur.

Lorsque vous effectuez une demande à l'aide de l'un des modèles d'URL suivants, la réponse renvoie une ressource Distance Matrix qui contient soit un tableau de cellules Distance Matrix, soit des informations sur la demande asynchrone qui a été effectuée pour calculer une matrice de distance. Chaque cellule de la matrice de distance contient l'emplacement et l'indice de l'origine et de la destination auxquelles elle est liée, le temps de trajet et la distance. Si un histogramme de matrice de distance est demandé, une heure de départ pour le moment où dans l'histogramme la cellule à laquelle il est lié sera incluse. Pour plus d'informations sur la ressource Distance Matrix, consultez Données de la matrice de distance. Vous pouvez également afficher l'exemple d'URL et les valeurs de réponse dans la section Exemples.

Pour la disponibilité géographique Calculer une matrice de distance, voir le paramètre travelMode ci-dessous.


J'ai regardé votre demande https://maps.googleapis.com/maps/api/distancematrix/xml?origins=12413&destinations=12211&key=YOUR_API_KEY

Veuillez noter que 12413 et 12211 dans les paramètres d'origine et de destination sont des valeurs très ambiguës. Vous devez fournir des adresses plus précises afin d'obtenir des résultats. L'API Distance Matrix géocodera les 12413 et 12211 en interne.

Par exemple, le 12413 sera géocodé en « Le Caire, NY 12413, États-Unis », un code postal aux États-Unis. Vous pouvez le voir dans l'outil Geocoder :

Le 12211 sera géocodé en 'Albany, NY 12211, USA' :

Dans les deux cas, ce n'est pas un code PIN au Cambodge comme vous vous y attendez.

Encore plus, lorsque j'essaie de trouver un code postal 12413 ou 12211 au Cambodge à l'aide d'un filtrage par composants, j'obtiens ZERO_RESULTS :

Les tentatives pour obtenir le code postal à partir du géocodage inversé des coordonnées au Cambodge conduisent également à ZERO_RESULTS :

Bien que la localité pour la même coordonnée puisse être trouvée:

C'est 'Phnom Penh' avec l'ID de lieu ChIJ42tqxz1RCTERuyW1WugOAZw .

Compte tenu de tous ces faits, il semble que Google n'ait pas d'informations de code PIN pour le Cambodge dans sa base de données.

Je peux suggérer d'utiliser une place de saisie semi-automatique dans votre application. De cette façon, l'utilisateur peut sélectionner une adresse suggérée et vous pouvez utiliser un identifiant de lieu sélectionné par l'utilisateur pour exécuter des demandes de matrice de distance. Consultez également les bonnes pratiques de géocodage dans la documentation officielle :


Utilisez l'API Directions pour obtenir un "itinéraire" de GeoPoint X à GeoPoint Y. Vous obtiendrez une liste de points, qui représentent des lignes (jambes ou segments) que vous devrez emprunter pour atteindre Y à partir de X.

Vous pouvez mesurer les distances entre les points mais FAIRE NE PAS FAITES CELA parce que le résultat XML ou JSON sera contiennent la distance totale de l'itinéraire. Vous pouvez utiliser les informations sur chaque ligne pour tracer une polyligne sur la carte.

Il ne semble pas y avoir d'API Android, seulement une API qui renvoie XML ou JSON que vous devrez analyser. Comme ce qui se fait ici : Google Maps Directions - Quelle API ?


2 réponses 2

La matrice OSRM est très rapide (secondes pour 300 emplacements) mais elle ne fournit que les temps de conduite. Pour obtenir les distances, vous devrez appeler le service d'itinéraire régulier pour chaque paire de coordonnées (heures).

D'autres alternatives auto-hébergées sont GraphHopper (pas de matrice, appels répétés à l'itinéraire) et Valhalla (matrice de distance et de temps).

Si vous devez préparer la matrice une seule fois, un service de matrice de paiement à l'utilisation pourrait être une meilleure option. GraphHopper et Mapzen de Valhalla en fournissent un, vérifiez si la taille de votre matrice est prise en charge et quel en est le coût.


Comment calculer et administrer les tables de distance - Informations techniques

Le module PTV xDima offre la fonctionnalité de calcul et d'administration des tables de distance.

Importez et exportez les formats de fichiers Dima : De plus amples informations sur les formats de fichiers binaires et les formats de fichiers texte peuvent être obtenues.

Le format de fichier du fichier d'emplacement binaire est défini comme suit :

  • La coordonnée X Xje et coordonnée Y Ouije de chaque emplacement Lje sommes
    stocké dans une valeur entière signée de 4 octets.
  • Les tuples XYje pour i=1. m (nombre d'emplacements) sont stockés linéairement.

Le format de fichier du fichier de table de distance binaire est défini comme suit :

  • La distance je et période de conduite pje entre les emplacements Lje et
    Lj sont chacun stockés dans une valeur entière signée de 4 octets. Le tuple de
    la distance et la période sont appelées dpje.
  • Les tuples dpje pour i=1. m (nombre d'emplacements) et j = 1. n sommes
    stockées linéairement.
  • Par exemple : Un tableau des distances qui comprend les distances et les trajets
    périodes entre 3 emplacements est stocké comme suit :
    dp11,dp12,dp13,dp21,dp22,dp23,dp31,dp32,dp33

Les valeurs d'erreur possibles suivantes sont stockées dans la partie distance du tuple :

  • -1: le tuple dpje de la relation associée n'est pas encore calculé.
  • -2: l'itinéraire entre les emplacements de la relation associée dpje n'a pas pu être trouvé.

Le format de fichier du fichier d'emplacement de texte est défini comme suit :

  • La coordonnée X Xje et coordonnée Y Ouije de chaque emplacement Lje sommes
    stocké dans une ligne séparée séparée par un point-virgule ().

Le format de fichier du table de distance de texte fichier est défini comme suit :

  • La distance je et période de conduite pje entre le point de départ Lje
    et chaque destination-lieu Lj pour j = 1. n sont stockés séparément
    lignes séparées par un point-virgule (). Le tuple de la distance et de la conduite
    période est appelée dpje.
  • Par exemple : Un tableau des distances qui comprend les distances et les trajets
    périodes entre 3 emplacements est stocké comme suit :
    dp11dp12dp13
    dp21dp22dp23
    dp31dp32dp33

Les valeurs d'erreur possibles suivantes sont stockées dans la partie distance du tuple :

  • -1: le tuple dpje de la relation associée n'est pas encore calculé.
  • -2: l'itinéraire entre les emplacements de la relation associée dpje n'a pas pu être trouvé.

PhD Defense : calculs de distance réseau à haut débit pour l'analyse spatiale à l'intérieur de n'importe quel magasin

Au cours des dernières décennies, des méthodes de calcul de la distance la plus courte pour les réseaux routiers ont été développées et se concentrent sur la façon d'accélérer la latence d'une requête de distance source-cible unique. Les grandes applications analytiques sur les réseaux routiers, y compris les simulations (par exemple, la planification d'évacuation), la logistique, la publicité basée sur l'emplacement et la planification des transports nécessitent des méthodes qui fournissent un débit élevé (c. clusters de calcul distribués. Bien que la diminution du temps de latence pour une requête source-cible entraîne une réduction du temps de réponse total pour une requête d'analyse spatiale, c'est loin d'être suffisant car ces méthodes ne prennent pas en compte des considérations telles que les résultats du cache, l'optimisation des requêtes, les multi-threads , systèmes distribués, etc. Cette thèse développe largement l'utilisation de l'oracle de distance sur les réseaux routiers pour atteindre les objectifs ci-dessus. Dans la première partie, nous présentons un nouveau cadre appelé All-Store Distance Oracle (ASDO) pour les grands réseaux routiers et montrons comment le calculer efficacement pour tout grand réseau routier dans un cluster distribué. La représentation ASDO est une décomposition en paires bien séparées (WSPD) d'un réseau routier utilisant la distance du réseau au lieu de la distance euclidienne. La représentation ASDO bénéficie de la petite taille du WSPD qui permet à la représentation ASDO de répondre à des requêtes de distance réseau approximatives en $epsilon$ à un débit élevé et peut être facilement intégrée dans n'importe quel système de base de données, y compris RDBMS, SGBD orienté colonnes, et les magasins de valeurs-clés. Les résultats expérimentaux montrent que la représentation ASDO du réseau routier américain peut être calculée en quelques heures à l'aide d'un cluster de taille modeste. En comparaison, les approches précédentes centrées sur les bases de données ne s'adaptent pas aux grands réseaux routiers ou sont de plusieurs ordres de grandeur plus lentes que l'ASDO proposé pour les requêtes spatiales. Dans la deuxième partie, nous montrons à quel point la représentation ASDO est utile dans des applications réelles évaluant deux propositions architectures sur une variété de requêtes analytiques spatiales d'usage courant telles que KNN, matrice de distance et requêtes de trajectoire. Une architecture est notre représentation ASDO intégrée dans PostgreSQL, et l'autre est une architecture hybride largement utilisée dans l'industrie. L'intégration de la représentation ASDO dans PostgreSQL prend en charge les performances de requêtes analytiques complexes sur les réseaux routiers à l'aide de SQL standard. Cela rend les résultats d'ASDO simples à utiliser, mais considérablement expressifs, par rapport aux méthodes traditionnelles qui nécessitent un effort de développement important. Les résultats expérimentaux indiquent que notre architecture ASDO au sein de PostgreSQL peut calculer plus de 60 000 opérations de distance routière par seconde sur un grand réseau routier (par exemple, aux États-Unis), ce qui permet d'obtenir un débit 20 fois supérieur par rapport aux méthodes de calcul de distance les plus courtes de l'état de l'art. Dans la troisième partie, comme certaines applications nécessitent la capacité d'évoluer sur de grands clusters de calcul distribués, un framework appelé SPDO est présenté qui implémente un algorithme distribué extrêmement rapide pour le calcul de requêtes analytiques spatiales sur Apache Spark. L'approche étend la représentation ASDO qui a maintenant été adaptée pour utiliser l'ensemble de données distribuées résilientes (RDD) de Spark. SPDO améliore le débit d'au moins deux ordres de grandeur, ce qui rend l'approche adaptée aux applications qui doivent calculer des millions de distances de réseau par seconde. Entretiens avec des dizaines d'entreprises liées que nous avons jugées captivantes pour effectuer des requêtes analytiques sur les réseaux routiers nous a amenés à observer qu'ils sont généralement concentrés dans une zone locale couvrant plusieurs villes et ont besoin d'une solution à haut débit telle que l'exécution de millions de calculs sur la distance la plus courte par seconde. Dans la quatrième partie, nous démontrons d'abord une solution, appelée City Distance Oracles (CDO) pour réaliser jusqu'à 7 millions de calculs de distance la plus courte par seconde et par machine de base sur un réseau routier urbain. Ensuite, nous étendons la démo CDO pour produire un nouveau système d'oracle de distance (DOS) pour les réseaux routiers généraux. Il peut résoudre la plupart des requêtes d'analyse spatiale et son débit atteint 5 millions de calculs de distance par seconde, même sur l'ensemble du réseau routier américain. De plus, une matrice origine-distance (OD) 10K X 10K peut être calculée en 20 secondes.
Commission d'examen :

Président : Dr Hanan Samet Représentant du doyen : Dr Shunlin Liang Membres : Dr Ramani Duraiswami Dr David Mount Dr Udaya Shankar


Abstrait

Remplacer une partie de l'énergie dérivée des combustibles fossiles par de la bioénergie dérivée des flux de déchets solides peut être une méthode prometteuse pour faire face à la double crise de l'accumulation croissante de déchets et du changement climatique mondial. Dans cette étude, nous proposons un système décentralisé de co-gazéification des boues d'épuration et de la biomasse ligneuse pour Singapour. Nous évaluons les émissions de gaz à effet de serre du système proposé et les comparons au système existant grâce à l'analyse du cycle de vie. Le système proposé devrait permettre une réduction annuelle nette des émissions de 137,0 à 164,1 kilotonnes de CO2éq. L'augmentation de la récupération d'électricité, la séquestration du carbone dans le biochar produit et l'évitement de l'utilisation de combustible supplémentaire pour l'incinération des boues d'épuration sont les principaux contributeurs à la réduction des émissions. Le système proposé est capable d'augmenter la production nette d'électricité à partir des boues d'épuration et de la biomasse ligneuse de 3 à 24 %. Cela pourrait entraîner une augmentation annuelle de la récupération d'électricité de 12,1 à 74,8 GWh. On estime que le système proposé peut produire 34 kilotonnes de biochar par an. On constate que la décentralisation contribue à réduire les tonnes-km annuelles parcourues de 4,23 millions de tonnes-km, ce qui pourrait diminuer le nombre de véhicules routiers nécessaires pour le traitement des déchets.


Abstrait

L'urbanisation rapide modifie les paysages, entraînant souvent la dégradation des services écosystémiques et de la qualité de la vie urbaine. La télédétection et les outils SIG peuvent fournir des informations précieuses pour approfondir notre compréhension de la dynamique de ces changements afin de mieux planifier et construire des villes durables pour l'avenir. À l'aide de données de télédétection, de données socio-économiques et d'observations sur le terrain, nous avons simulé la dynamique spatio-temporelle de l'utilisation des terres et des changements de couverture des terres dans la ville de Thimphu. Les résultats de la simulation révèlent que le paysage de la ville de Thimphu a considérablement changé au cours de la période d'étude et que la tendance au changement devrait se poursuivre jusqu'en 2050. L'étude a observé une augmentation significative (12,77 %) de la zone bâtie de 2002 (52,88 %) à 2018 (65,5%), suivi d'une légère augmentation de la couverture du sol nu. Au contraire, le couvert forestier a diminué drastiquement (15,25%) suivi de l'agriculture (1,01%). La croissance démographique rapide déclenchée par l'exode rural et le développement socio-économique hâtif post-démocratique sont les principaux moteurs de ces changements. Ces changements ont fragmenté la couverture forestière, accru l'érosion des sols/ravins, le ruissellement de surface et les inondations des égouts pluviaux et sanitaires induites par les tempêtes, affectant ainsi la qualité de vie globale dans la ville. Dans le scénario du statu quo, l'analyse des prévisions pour l'année 2050 montre que la zone bâtie consommera la quasi-totalité de la zone urbaine (73,21 %), la forêt étant considérablement réduite à des parcelles ne représentant qu'environ 16 % de la ville. Ces résultats suggèrent un besoin urgent de mettre en œuvre une planification efficace, spécialement pour protéger les ressources forestières et hydriques existantes contre une dégradation supplémentaire.


Abstrait

Le choix du site d'implantation de la centrale d'incinération des déchets solides municipaux dans une perspective de développement durable est une décision multicritères. L'identification des facteurs qui l'affectent entraînera plus d'avantages, notamment la réduction des coûts et l'élimination du mécontentement de la communauté. Dans cette recherche, afin de fournir le modèle le plus optimal, les critères d'installation de la centrale électrique MSWI ont été développés sous la forme de trois principaux critères environnementaux, économiques et socioculturels. Premièrement, la technique du laboratoire d'essai et d'évaluation de prise de décision (DEMATEL) a été appliquée pour identifier les interrelations entre les facteurs. Ensuite, ils ont été classés par importance par processus de réseau analytique flou (FANP). Sur la base des résultats, l'importance la plus élevée et la plus faible ont été attribuées respectivement aux principaux critères économiques, socioculturels et sous-critères d'utilisation des terres et de chemin de fer. Enfin, une étude de cas a été menée dans le comté de Rasht afin d'évaluer l'efficacité du modèle obtenu. À l'aide d'un système d'information géographique, SIG, nous avons appliqué les poids finaux aux couches de chacun des sous-critères et les avons superposés. Les résultats de la carte de sortie ont indiqué la capacité du modèle obtenu basé sur le FANP et le SIG à sélectionner le bon endroit pour installer la centrale électrique MSWI et son application dans d'autres études similaires.


Styliser les données temporelles (temps) dans QGIS

Donc, le premier semestre universitaire de cette année est terminé et épousseté, maintenant j'ai du temps libre. Blog de toutes les choses!

Il s'agit d'un post de suivi d'une discussion qui a été lancée sur LinkedIn sur l'affichage de fonctionnalités plus anciennes ou plus récentes, puis à une certaine date de couleurs différentes. Je recommande à tout le monde de le regarder. Une très bonne présentation.

J'ai recommandé que vous puissiez utiliser le moteur de rendu basé sur des règles, mais le moteur d'expression dans QGIS n'a pas encore de fonctions de date. Très bien, nous pouvons les ajouter si nous en avons besoin et une fois que j'aurai compris le moteur d'expression, je prévois de faire exactement cela. Mais pour l'instant, nous pouvons procéder différemment.

Nous allons utiliser Spatialite, mais n'importe quelle base de données fera l'affaire (la syntaxe et le processus varient).

Regardons une couche d'inspection que nous avons dans notre base de données Spatialite vue dans QGIS :

Assez ennuyeux et difficile de voir ce qui a été fait au cours des 30 derniers jours. Maintenant, avec le manque de prise en charge des dates dans le moteur d'expression, nous devons utiliser une autre méthode. Pour cet exemple, nous utiliserons le plugin DBManger très pratique qui est désormais livré avec QGIS à partir de 1.8. Chargez-le, connectez-vous à votre base de données et exécutez la requête suivante :

Comme vous pouvez le voir, tout ce qui est dans les 30 jours a maintenant la chaîne “Within 30 Days” dans la colonne d'âge, ou bien il a “older”. Les instructions CASE peuvent parfois être des choses très puissantes en SQL.

Maintenant, chargez-le dans QGIS, stylisez-le et étiquetez-le à l'aide du nouveau âge colonne

Vous avez maintenant un calque dont le style est basé sur l'âge mais qui est également dynamique. L'ajout d'un nouveau point d'inspection sera désormais stylisé en fonction de ces règles. (Bien que vous deviez modifier la couche d'inspection normale avec elle désactivée car les vues/requêtes ne sont pas modifiables – sans une configuration de toute façon)

Cela peut être une chose simple pour certains, mais il est parfois difficile de trouver les bons mots pour décrire ce que vous voulez lorsque vous recherchez ce genre de chose. J'espère donc que cela a aidé quelques personnes à commencer à visualiser leurs données basées sur l'heure/la date dans QGIS.


Voir la vidéo: Comment faire une carte facilement en géographie avec QGis 3: Tuto!