Suite

Supprimer des lignes non connectées avec QGIS

Supprimer des lignes non connectées avec QGIS


J'utilise une carte routière au format shapefile afin de calculer un itinéraire entre deux points. La carte est téléchargée à partir d'OpenStreetMap et contient de petites lignes non connectées qui perturbent mon routage.

Existe-t-il un moyen de m'en débarrasser sans avoir à les supprimer manuellement un par un ? Les lignes ressemblent à ceci : http://screencast.com/t/4jnQFx57


Vous pouvez calculer une zone tampon (pas plus de 5 mètres) pour le début et la fin de chaque ligne. Ensuite, croisez la zone tampon avec le réseau routier. Une ligne qui ne coupe pas la zone tampon est susceptible d'être une route non connectée « correcte ». Cependant, vous devrez jouer avec le rayon du tampon pour des résultats satisfaisants.


Utilisez peut-être la requête spatiale pour sélectionner toutes les lignes qui se croisent, touchent ou chevauchent d'autres lignes. Ensuite, pourriez-vous inverser la sélection (pour sélectionner toutes les lignes qui ne se coupent pas, ne se touchent pas ou ne se chevauchent pas) et supprimer les lignes ?

Peut-être que le vérificateur de topologie pourrait fonctionner pour vous aider à sélectionner ou à identifier des lignes ne touchant pas d'autres lignes.


Mes grilles ne s'affichent pas en degrés dans QGIS

J'ai ajouté des coordonnées de grille à ma carte, mais elle donne des coordonnées erronées/insignifiantes.

Comment puis-je lui faire afficher les coordonnées correctes de ma carte ?

Une réponse

Une cause courante de ce problème est l'utilisation d'un crs non géographique pour vos lignes de quadrillage.

En règle générale, vous souhaiterez utiliser un CRS qui mesure en mètres, miles ou kilomètres pour votre analyse spatiale. Bien que ces unités soient idéales pour l'analyse et la création de rapports, elles ne sont pas les meilleures pour la conception de cartes. Imaginez une carte qui mesure/affiche ses longitudes et latitudes en mètres, miles ou kilomètres.

Donc, maintenant nous sommes à une jonction en T et ne savons pas quelle direction prendre pour utiliser un crs géographique et risquer un résultat incorrect mais une mise en page de carte soignée/interprétable ou utiliser un résultat non géographique et obtenir des résultats fiables mais une mise en page médiocre/illisible.

Heureusement pour nous, il existe un moyen de contourner cela. Tout d'abord, utilisez n'importe quel SCR de votre choix pour votre analyse. Deuxièmement, lorsque vous accédez au compositeur d'impression et ajoutez des grilles à votre carte (comme expliqué dans cet article https://geoafrikana.com/how-add-grids-and-grid-frame-map-qgis ), cliquez sur la grille de modification , sous la section "apparence", vous verrez une liste déroulante intitulée "CRS". Cliquez dessus et sélectionnez un SIR géographique (EPSG 4326).

Voila ! Désormais, vos grilles s'afficheront en degrés et non en mètres, miles et kilomètres.


3 réponses 3

Des réponses objectives et argumentées sont les bienvenus ici, quelle que soit leur source. Les personnes ayant des liens avec les fournisseurs peuvent parfois fournir des conseils ou des informations uniques ou difficiles à obtenir, ce qui peut être particulièrement apprécié. Je suis reconnaissant de voir de telles contributions. L'une des forces de notre communauté est qu'elle compte de nombreux membres précieux et très appréciés qui travaillent pour des fournisseurs commerciaux ou développent des solutions open source.

Lorsqu'un nouvel utilisateur cache son association avec un produit et crée un modèle pour le recommander comme solution quelle que soit la question spécifique posée, la communauté réagit rapidement et prend les mesures appropriées allant de la suppression des publications incriminées à la suppression définitive des comptes d'utilisateurs (ce qui se produit lorsque les messages sont des spams évidents et sans aucun lien avec le SIG). S'il y a des questions sur la bonne marche à suivre, les membres de la communauté initient généralement un dialogue (via des commentaires, un chat ou un fil de discussion) avec cet utilisateur afin de dissiper tout malentendu.

Si vous vous retrouvez à recommander ou à commenter une solution dans laquelle vous avez un intérêt personnel (qu'il soit commercial ou non), c'est toujours une bonne idée d'identifier votre association avec cette solution : c'est juste une façon de plus de fournir les informations dont les gens ont besoin pour évaluer votre réponse.


Ma nouvelle recette préférée dans QGIS Map Design 2nd ed

Si vous me suivez sur Twitter, vous avez probablement déjà entendu dire que l'ebook de “QGIS Map Design 2nd Edition” a été publié et nous nous attendons à ce que la version imprimée soit en vente plus tard ce mois-ci. Gretchen Peterson et moi – avec notre éditeur Gary Sherman (oui, ce Gary Sherman !) – avons travaillé dur pour vous fournir des tonnes de workflows de conception de cartes nouveaux et améliorés et de nombreuses cartes complètement nouvelles. D'après le décompte de Gretchen, cette édition contient 23 nouvelles cartes, il est donc très difficile de choisir une favorite !

Comme la 1ère édition, nous proposons des recettes de plus en plus avancées en trois chapitres, chacun se concentrant sur le style des calques, l'étiquetage ou la création de mises en page d'impression. Si je devais choisir un favori, je devrais aller avec “Maîtriser les cartes pivotées”, l'une des recettes avancées du chapitre sur les mises en page imprimées. Il a l'air d'une simplicité trompeuse, mais il combine une variété d'excellentes fonctionnalités QGIS et des idées intelligentes pour concevoir une carte qui fournit des informations sur plusieurs niveaux de détail. Outre le nom inspirant des éléments de carte pivotés, cette conception combine

  • aperçus de la carte
  • thèmes de carte
  • lignes et polygones gradués
  • une flèche nord tournée
  • lignes de repère de fantaisie

“QGIS Map Design 2nd Edition” fournit des instructions pratiques, ainsi que des fichiers de données et de projet pour chaque recette. Vous pouvez donc vous lancer directement et travailler avec les matériaux fournis ou appliquer les techniques à vos propres données.


Queues non attachées (stubs) sur les lignes SPI

J'ai une conception de circuit qui utilise l'une des 2 prises pour brancher un contrôleur. L'idée est de permettre à un utilisateur d'activer l'un des contrôleurs pour contrôler une radio à l'aide de SPI. Dans la conception, l'utilisateur n'est autorisé à brancher qu'un contrôleur ou l'autre.

La fréquence d'horloge SPI est de 25 MHz. J'ai des résistances de 22 ohms (changées en 33 ohms) situées à la source des signaux SPI.

Le problème ici est qu'en faisant cela, les lignes SPI auront toujours une queue en circuit ouvert ou une trace de tronçon (peut-être 2-3 cm) attachée entre la radio et la prise de contrôleur inutilisée. Dans l'image ci-dessous, si le Controller-A est branché et que la prise SPI n'est pas utilisée, une courte trace non connectée (stub) existera sur la carte.

La question est donc la suivante : ce court stub sera-t-il un problème important pour la signalisation SPI ou est-il préférable d'ajouter des cavaliers de sélection. Est-ce une pratique courante de ne pas s'inquiéter de ces queues supplémentaires lorsqu'elles sont électriquement courtes comme ça ? Les cavaliers de sélection ajoutent de la longueur et du coût de la trace.

Voici un croquis révisé de la situation avec un peu plus de détails. D'après les commentaires reçus, cela semble acceptable tant que les embouts sont électriquement courts. Il me semble que les résistances aux extrémités des stubs ne posent aucun problème.


QGIS 3.10 adore GeoPDF !

Récemment, nous avons travaillé sur un développement passionnant qui arrivera bientôt dans la prise en charge de QGIS 3.10 pour les exportations PDF géospatiales ! C'est une fonctionnalité souhaitée depuis longtemps par de nombreux utilisateurs de QGIS, et elle n'a été rendue possible que grâce à un groupe de bailleurs de fonds (listés ci-dessous). Dans cet article, nous allons explorer ces nouvelles fonctionnalités et comment elles améliorent vos sorties PDF QGIS.

Les PDF géospatiaux peuvent désormais être créés soit en exportant le canevas principal de la carte QGIS, soit en créant et en exportant une mise en page d'impression personnalisée. Par exemple, lorsque vous sélectionnez l'option "Enregistrer la carte au format PDF" dans la fenêtre principale de QGIS, vous verrez un nouveau groupe d'options liées au PDF géospatial :

À sa base, Geospatial PDF est une extension standard du format PDF qui permet d'intégrer des ensembles de données spatiales vectorielles dans des fichiers PDF. Si la case à cocher “Inclure les informations sur les caractéristiques vectorielles” est cochée lors de la création d'une sortie PDF géospatiale, QGIS inclura automatiquement toutes les informations sur la géométrie et les attributs des caractéristiques visibles dans la page. Donc, si nous exportons une simple carte au format PDF, nous obtiendrons un fichier de sortie qui ressemble à n'importe quelle ancienne sortie de carte PDF normale.

…mais, nous pouvons également extraire ce PDF dans QGIS et le traiter comme n'importe quelle autre source de données vectorielles ! Dans la capture d'écran ci-dessous, nous utilisons l'outil Identifier pour interroger les polygones et voir toutes les informations attributaires de la couche source d'origine.

Cette capacité ajoute beaucoup de valeur aux exportations PDF. Quiconque a déjà reçu un PDF non spatial en tant qu'ensemble de données spatiales attestera des frustrations que cela cause, mais si vous créez plutôt des PDF géospatiaux appropriés, il n'y aura aucune perte des précieuses informations spatiales sous-jacentes ou attributs de fonctionnalité ! De plus, si ces fichiers PDF sont ouverts dans Acrobat Reader, des outils sont activés qui permettent aux utilisateurs d'interroger des fonctionnalités de manière interactive.

Un autre avantage intéressant de la sortie PDF géospatiale est que les calques peuvent être activés ou désactivés de manière interactive dans la visionneuse PDF. La capture d'écran ci-dessous montre un fichier PDF géospatial créé à partir d'une simple carte QGIS. Sur la gauche, nous avons une liste des calques du PDF, chacun pouvant être activé ou désactivé dans la visionneuse PDF !

Ce qui est vraiment bien ici, c'est que, grâce à l'intelligence sous-jacente de la bibliothèque GDAL qui est responsable de la création réelle du PDF géospatial, le PDF est rendu à l'identique à notre carte QGIS originale. Bien que les étiquettes s'activent et se désactivent à côté de leur couche de carte correspondante, elles sont toujours correctement empilées exactement de la même manière que vous le voyez dans la fenêtre QGIS. De plus, les fichiers PDF créés conservent les étiquettes et les caractéristiques vectorielles sous forme d'illustrations vectorielles, de sorte qu'il n'y a absolument aucune perte de qualité lors du zoom sur la carte ! Ces fichiers semblent GÉNIAL!

Sur la même note, le parrainage nous a permis de résoudre un autre problème connexe, à savoir que dans les versions précédentes de QGIS, les exportations PDF (ou SVG) exportaient toujours chaque sommet de n'importe quelle entité visible ! Aie! Cela signifiait que si vous aviez une couche limite de polygone complexe, vous créeriez potentiellement un PDF avec des millions de sommets par entité, même si la plupart d'entre eux se chevaucheraient et seraient complètement redondants à l'échelle de la carte exportée. Désormais, QGIS simplifie automatiquement les entités vectorielles lors de leur exportation (en utilisant un niveau de simplification approprié, effectivement invisible). Le réduit considérablement la taille des fichiers créés et accélère leur ouverture et leur navigation dans d'autres applications (en particulier Inkscape). (Il existe une option au moment de l'exportation pour désactiver cette simplification, si vous avez une raison précise de le faire !).

La création de PDF géospatiaux à partir de mises en page imprimées offre encore plus d'options. Pour commencer, chaque fois qu'une mise en page d'impression est exportée vers des PDF géospatiaux, nous nous assurons que le PDF créé gère correctement l'empilement de couches avec tout autre élément de mise en page d'impression que vous possédez. Dans l'image ci-dessous, nous voyons une mise en page d'impression personnalisée qui inclut des contrôles interactifs de visibilité des calques. Si une couche est basculée, elle n'est masquée que de l'élément de carte — tous les autres éléments environnants comme le titre, la flèche nord et la barre d'échelle restent visibles :

Ce n'est pas tout ! Lors de l'exportation d'une mise en page d'impression au format PDF géospatial, QGIS se connecte également à tous les thèmes de carte que vous avez configurés dans votre projet. Si vous choisissez d'inclure ces thèmes dans votre sortie, le résultat est magique ! La capture d'écran ci-dessous montre les options d'exportation pour un projet avec un certain nombre de thèmes, et nous avons choisi d'exporter ces thèmes dans le PDF :

L'ouverture du PDF résultant montre que notre contrôle de couche sur la gauche répertorie désormais les thèmes de carte au lieu de couches individuelles. Les téléspectateurs peuvent basculer entre ces thèmes, en modifiant la visibilité des couches et leur style pour correspondre au thème de la carte QGIS du projet ! De plus, vous pouvez même développer un thème et exposer un contrôle de visibilité couche par couche. Wow! Cela signifie que vous pouvez créer un seul fichier de sortie PDF comprenant un fichier environnemental, social, cadastral, de transport, …. vue de votre carte, le tout dans un seul fichier.

Enfin, il existe même un contrôle pour affiner la combinaison des calques exposés dans le fichier PDF de sortie et lesquels doivent être activés et désactivés ensemble. Dans la capture d'écran ci-dessous, nous avons choisi de regrouper les couches de carte “Aircraft” et “Roads” en un seul groupe PDF logique appelé “Transport”.

Le PDF résultant respecte cela, affichant une entrée dans l'arborescence interactive des couches pour “Transport” qui bascule à la fois les couches avion et routes ensemble :

Alors voilà — la puissance du PDF géospatial, à venir dans QGIS 3.10 !

Un avantage semi-lié de ce travail est qu'il nous a donné l'occasion de retravailler la façon dont les exportations « superposées » à partir des mises en page imprimées sont créées. Cela a eu un impact significatif sur la capacité existante de créer des sorties SVG en couches à partir de QGIS. Auparavant, il s'agissait d'une fonctionnalité plutôt fragile, qui créait des SVG avec de nombreux problèmes : des étiquettes qui se chevauchaient, des calques incorrectement empilés et des noms de calques non descriptifs ! Désormais, tout comme les exportations PDF géospatiales, les exportations SVG en couches respectent correctement l'apparence exacte de votre carte et ont des noms de couche beaucoup plus conviviaux et descriptifs :

Cela devrait réduire considérablement la quantité de maintenance requise lorsque vous travaillez sur ces exportations SVG en couches.

  • Land Vorarlberg
  • Municipalité de Vienne
  • Commune de Dornbirn
  • Service d'information sur la biodiversité pour le Powys et le BBNP Local
  • Canton de Zoug
  • Canton de Neuchâtel
  • Canton de Thurgovie

North Road sont des experts de premier plan dans l'extension de l'application QGIS pour répondre à vos besoins. Si vous souhaitez discuter de la manière dont vous pouvez parrainer le développement de fonctionnalités ou de correctifs qui toi voulez dans QGIS, contactez-nous pour plus de détails!


Trouver toutes les paires de nœuds dont la suppression déconnecte le graphique

Étant donné un graphe connecté non orienté, trouvez toutes les paires de nœuds (connectés par une arête) dont la suppression déconnecte le graphe.
Pas d'arêtes parallèles et pas d'arêtes reliant le nœud à lui-même.

Le problème semble similaire à la recherche de points d'articulation (ou de ponts) d'un graphe connecté et non orienté - mais avec une torsion, nous devons supprimer une paire de sommets connectés par une arête (et toutes les autres arêtes connectées à cette paire).

C'est une question de devoirs. J'ai essayé de le résoudre, lu à propos des algorithmes DFS et des points d'articulation (qui enregistrent la profondeur et le point bas de chaque nœud) - mais aucune de ces approches n'aide ce problème particulier. J'ai parcouru l'introduction aux algorithmes de Cormen, mais aucun sujet ne s'est suggéré comme approprié (c'est vrai, le livre a 1500 pages).

S'il est vrai que trouver un point d'articulation permettrait également (la plupart du temps) de trouver une telle paire, il y a beaucoup de paires qui ne sont pas des points d'articulation - considérons un graphique avec 4 sommets, 5 arêtes (carré avec une seule diagonale) : il a une telle paire mais pas de points d'articulation (ni ponts).


2.1. Des principes¶

La relation entre la qualité des données et la qualité de l'analyse n'est pas linéaire. Une seule erreur dans un endroit critique pourrait invalider une analyse entière tandis que de nombreuses erreurs dans des endroits non critiques peuvent avoir un effet négligeable.

Trois classes d'erreurs doivent être traitées en priorité dans l'analyse spatiale des réseaux :

Données dans un format trompeur¶

Règles de connectivité¶

Il est facile de supposer, simplement parce que le logiciel semble charger avec succès vos données, que les données étaient au bon format en effet, il est facile de supposer que si le format était incorrect, les données n'auraient pas pu se charger. Avec les données de réseau spatial, ce n'est souvent pas le cas.

Le logiciel se plaindra certainement s'il ne reconnaît pas un format de fichier SIG et CAO donné (comme un fichier de formes, une géodatabase ou un DWG). Mais chacun de ces formats se limite à décrire deux choses, formes et Les données. Ce qu'ils ne décrivent pas, c'est le sens de ces formes et données. Par exemple, un fichier de forme peut contenir deux lignes qui se croisent comme ceci (les gouttes sont utilisées pour indiquer clairement où les lignes commencent et se terminent) :

Figure 4 : Deux lignes dans un fichier de formes, mais que signifient-elles ?

Dans l'état actuel des choses, ce ne sont que deux lignes qui se croisent. Mais supposons que vous sachiez que les lignes représentent un réseau routier. Maintenant, ils ont un sens - mais le sens n'est pas encore tout à fait clair. Sommes-nous en présence d'un carrefour, où deux rues se rejoignent, ou d'un pont, où l'une traverse une autre ? Pour répondre à cette question, nous devons spécifier un règle de connectivité pour les données.

sDNA traite les réseaux spatiaux codés à l'aide d'un règle de connectivité de point de terminaison coïncidente. Il s'agit d'une norme commune utilisée dans de nombreux ensembles de données, par ex. Produits Ordnance Survey ainsi que d'autres logiciels tels que ArcGIS Network Analyst. (À condition que vous preniez en compte la séparation des grades. L'enquête Ordnance spécifie des séparations de grades pour chaque extrémité d'un lien, et les liens ne se rejoignent que si leurs séparations de grades correspondent).

  1. Un réseau est formé d'un ensemble (ensemble de caractéristiques) de polylignes
  2. Les lignes sont considérées comme connectées si et seulement si elles ont des extrémités coïncidentes (les lignes doivent se terminer exactement au même point).

Ainsi, en ce qui concerne l'ADNs, les deux lignes de la figure 4 ne se connectent pas, car elles ont des points de terminaison différents. Ils se coupent simplement et peuvent représenter soit un pont, soit un tunnel. Cette catégorie est si commune qu'elle a son propre nom, un brunnel (ou, en l'honneur de l'ingénieur victorien, un brunel). Ces caractéristiques sont également appelées dissocie, car les lignes représentent des objets qui ne sont pas liés.

La figure 4 ne représente cependant pas un carrefour – et un carrefour est généralement ce que le concepteur souhaitait. Il s'agit d'une grave erreur de données. La représentation d'un carrefour, à l'aide de la connectivité des points de terminaison coïncidents, nécessite quatre lignes distinctes :

Figure 5 : Quatre lignes dans un shapefile, représentant un carrefour selon règles de connectivité des points de terminaison coïncidents

Si les jonctions de votre réseau sont formatées comme la figure 4, et non la figure 5, alors toute analyse de réseau effectuée par un logiciel s'attendant à des points de terminaison coïncidents n'aura aucun sens. Cela ne peut pas être assez souligné - cela peut sembler évident, mais j'ai souvent vu cette erreur commise dans la pratique, car (à moins que le logiciel ne soit configuré pour afficher des gouttes en fin de ligne, comme je l'ai fait dans ce document) les deux formats se chargent tous les deux correctement et semblent identiques à la visionneuse.

Une autre raison pour laquelle cette erreur est souvent commise est que dessiner des réseaux à l'aide d'une règle de connectivité de point de terminaison coïncidente est fastidieux, chronophage, douloureux et sujet aux erreurs. Le concepteur doit tracer beaucoup plus de lignes qu'il n'en aurait besoin autrement, et ces lignes ne semblent pas vraiment correspondre à la façon dont nous (en tant qu'humains) pensons l'espace. Pour ces raisons, les gens n'aiment pas dessiner des réseaux avec une connectivité de point de terminaison coïncidente. C'est tout à fait correct – éviter une tâche fastidieuse et sujette aux erreurs est à encourager. Mais il est vital que les réseaux ainsi produits soient convertis en connectivité de points de terminaison coïncidents avant l'analyse.

Bien sûr, si vous dessinez des carrefours dans le style de la figure 4, comment indiqueriez-vous alors lesquels sont des ponts ou des tunnels (brunels) plutôt que des carrefours ? En utilisant différentes règles de connectivité :

  • Règle de lien-dissociation (polygone). Les liens d'intersection sont supposés se joindre à moins qu'ils ne soient spécifiquement marqués autrement. Cela se fait avec une couche distincte de dissociations (dessinées sous forme de polygones). C'est un format facile à dessiner à la main.
  • Règle de lien-dissociation (données). Les liens d'intersection sont supposés se joindre à moins qu'ils ne soient spécifiquement marqués autrement. Ceci est fait en ayant un champ de données brunel attaché à chaque ligne. C'est un format facile à dessiner à la main.
  • Règle de séparation de niveau lien-point de terminaison. Les intersections ne sont pas autorisées dans les données sur TOUTES les lignes où elles se touchent DOIVENT avoir des extrémités coïncidentes. Lorsque les liens ne se rejoignent pas à leurs extrémités, cela est indiqué en fournissant des données d'altitude ou de séparation de niveau - deux champs de données attachés à chaque ligne, un pour le début de la ligne et l'autre pour sa fin. (OS ITN le fait).
  • Règle de nœud de lien. Les intersections ne sont pas autorisées dans les données sur TOUTES les lignes où elles se touchent DOIVENT avoir des extrémités coïncidentes. Lorsque les liens ne se rejoignent pas à leurs extrémités, cela est indiqué en fournissant des données d'altitude ou de dénivelé - les extrémités sont supposées ne pas se joindre à moins que leur altitude et leur dénivelé ne correspondent. Ces données sont fournies dans une couche de points distincte, référencée aux lignes dont elles représentent les altitudes (OS Meridian le fait).
  • Règle de point partagé Les lignes ne se coupent que si elles partagent un point dans la liste des points représentant la ligne dans les données. Il peut s'agir d'une extrémité, ou de n'importe quel coin de la ligne elle-même, ou même ajouté sans coin pour créer une intersection. OpenStreetMap utilise cette règle, mais fait référence à tous les points dans les lignes en tant que « nœuds » dans ce document. Je réserve l'utilisation de « nœuds » pour les endroits où les liens sont connectés.

Le problème reste alors de convertir ces autres formats en un réseau avec une règle de connectivité de point de terminaison coïncidente.

  • Pour la règle lien-dissocier (polygone), sDNA pour Autocad inclut un outil pour convertir le réseau. Si vous avez besoin de cet outil pour le SIG, envoyez-nous un message - personne ne l'a encore demandé, mais nous pouvons envisager de le faire. Sinon, dans n'importe quel système SIG, convertissez le réseau au format lien-dissociation (données) comme suit :
    • utiliser la couche de polygones de dissociation pour diviser les liens aux limites des polygones de dissociation
    • créer un brunel champ de données sur la couche de liaison
    • sélectionnez les liens dans les polygones de la couche de dissociation et marquez-les comme brunels dans le champ de données
    • votre réseau est maintenant au format lien-dissocier (données). Suivez les étapes ci-dessous pour convertir lien-dissocier (données) dans un format de point final coïncident.

    Résumé : assurez-vous de bien comprendre les règles de connectivité du réseau spatial et (pour l'ADNs) que votre réseau utilise une connectivité de point de terminaison coïncidente.

    Référence spatiale¶

    Pour en revenir aux figures 4 et 5, même si nous savons ce que représentent les lignes – et leur règle de connectivité – nous ne savons toujours pas ce que représentent les coordonnées. C'est le référence spatiale des données. Le problème est important à la fois lors de la création de nouvelles données et lors du téléchargement de données existantes à partir d'autres sources.

    Les références spatiales peuvent être géographiques ou projetées. Les systèmes de coordonnées géographiques spécifient une position à la surface de la terre, en mesurant les angles de latitude et de longitude par rapport à l'axe de la terre. WGS84, la norme mondiale dominante pour les données GPS et cartographiques, en est un exemple.

    Alors que les systèmes de coordonnées géographiques décrivent une surface courbe, les systèmes de coordonnées projetées simplifient la représentation de petites zones en faisant l'approximation qu'elles sont plates. Chaque pays dispose généralement d'une grille nationale à utiliser à cette fin, basée sur les coordonnées x et y.

    Pour analyser un réseau, vous souhaiterez probablement utiliser des unités de distance qui ont une signification physique pour vous – mètres, miles ou kilomètres. Si vous avez téléchargé des données qui utilisent un système de coordonnées géographiques, cela signifie généralement que vous devrez les convertir (projeter) à l'aide de votre logiciel SIG ou CAO.

    Malheureusement, tout le monde dans le monde ne comprend pas les références spatiales. Cela signifie que parfois, les données que vous recevez peuvent être marquées avec la mauvaise référence spatiale – attention !

    Un autre problème qui peut survenir est que le logiciel SIG que vous utilisez peut ne pas identifier correctement la transformation nécessaire pour projeter les données que vous avez téléchargées sur une grille sensible. Il est donc préférable de vérifier et de sélectionner manuellement la transformation appropriée si nécessaire.

    Dans le cas de sDNA, si vous n'êtes pas sûr que vos données soient projetées correctement, vous pouvez vérifier ce que sDNA « voit » comme la longueur des liens en exécutant l'outil sDNA Individual Line Measures. Vous pouvez ensuite vérifier quels rapports sDNA pour la longueur d'un ou deux liens différents. C'est ce que vous attendiez ? Sinon, vous avez probablement la mauvaise référence spatiale et devrez reprojeter vos données.

    Erreurs de connectivité aux emplacements clés¶

    Même si vous avez utilisé la règle de connectivité correcte pour votre réseau, il est possible que vous ou quelqu'un d'autre ayez fait une erreur en le dessinant. La figure 6 montre le même réseau que la figure 2, à quatre niveaux de grossissement de plus en plus important :

    Figure 6 : Zoom sur un carrefour défaillant

    Oh non! Ce qui ressemblait de loin à un carrefour parfaitement normal s'est avéré déconnecté lorsque nous avons zoomé. C'est potentiellement une erreur très grave. Si vous voulez un modèle précis, c'est bien sûr inacceptable - mais même si vous ne voulez qu'un modèle de réseau approximatif, si une telle déconnexion se situe à un endroit clé (comme une route de transit majeure dans une ville), alors l'analyse entière pourrait être dénué de sens, même pour un modèle grossier.

    Les sections suivantes traitent de cette forme d'erreur de connectivité et d'autres.

    Tolérance de cluster¶

    Nous introduisons d'abord l'idée d'un tolérance d'agrégat. Il s'agit d'une petite distance à l'échelle urbaine, peut-être 1 cm (bien que des tolérances de cluster plus grandes puissent parfois être utiles). Si deux points sont plus proches que la tolérance d'agrégat, ils sont alors considérés comme le même point. sDNA prend en charge deux types de tolérance de cluster, XYTolerance pour les différences horizontales entre les points et ZTolerance pour les différences verticales.

    Notez que certains systèmes SIG, notamment ArcGIS, afficheront les lignes non connectées comme connectées - peu importe à quel point vous zoomez - si la déconnexion est inférieure à la tolérance d'agrégat du SIG ! Nous devons donc faire très attention à savoir si les lignes sont connectées, car nous ne pourrons peut-être même pas voir les erreurs, peu importe à quel point nous regardons de près.

    L'outil de préparation sDNA prend en charge la correction des déconnexions inférieures à la tolérance de cluster. Dans le cas de la figure 6, si vous définissez une tolérance de cluster appropriée, alors sDNA Prepare connectera les lignes (à condition que le réseau de la figure 6 se compose en fait de quatre lignes, plutôt que de deux - voir Règles de connectivité ). La tolérance de cluster sDNA s'applique uniquement aux extrémités des lignes, pas aux points intermédiaires. Dans ArcGIS, sDNA utilise la tolérance qu'ArcGIS utilise par défaut, bien qu'une tolérance personnalisée puisse également être définie. Sur d'autres plates-formes, la tolérance est par défaut à zéro, c'est-à-dire qu'aucune correction n'est effectuée.

    Mais, disons que vous avez téléchargé des données réseau de qualité inconnue. Comment pouvez-vous savoir quelle tolérance de cluster utiliser ? Trop petit, et vous déconnecterez des choses qui devraient être connectées trop gros, et vous connecterez des choses qui devraient être déconnectées.

    La réponse consiste à utiliser sDNA Prepare pour détecter (mais pas corriger) les erreurs de tolérance de cluster.

    1. Commencez avec une petite taille de tolérance

    2. Utilisez la préparation sDNA pour détecter les problèmes de tolérance (« Points de terminaison de périphérie plus proches que le cluster/XYTolerance ») et examinez les erreurs qu'il trouve.

    3. Les fonctionnalités détectées sont-elles toutes des erreurs, ou certaines d'entre elles sont-elles de véritables petites lacunes qui ne devraient pas être connectées ?

    1. Si toutes les fonctionnalités détectées sont authentiques, le réseau est prêt à être utilisé.
    2. Si certaines des caractéristiques, mais pas toutes, sont authentiques, choisissez une tolérance plus petite et revenez à l'étape 2.
    3. Si toutes les fonctionnalités sont des erreurs, utilisez sDNA prepare pour les corriger. Ensuite, choisissez une tolérance plus grande et revenez à l'étape 2.
    4. Si aucune caractéristique n'est détectée, choisissez une tolérance plus grande et revenez à l'étape 2. Si vous continuez à alterner entre (b) et (d) ci-dessus, les erreurs et les véritables caractéristiques sont de la même taille. Cela signifie que le réseau est de très mauvaise qualité et doit être réparé à la main.

    Intersections et chevauchements¶

    Un autre type d'erreur de connectivité peut survenir lorsque les lignes se croisent ou se chevauchent. En réalité, il s'agit d'une reformulation des règles de connectivité , mais nous nous concentrons ici sur les erreurs qui peuvent se produire lors de l'encodage de la règle de connectivité du point de terminaison, plutôt que de choisir la mauvaise règle.

    Figure 7 : (a) une paire de jonctions (b) un ensemble correct de lignes pour représenter les jonctions (pointes de flèches incluses pour montrer les points d'extrémité) (c) un ensemble incorrect de lignes pour représenter les jonctions - erreur d'intersection (d) un ensemble incorrect de lignes pour représenter les jonctions – erreur de chevauchement. Les lignes parallèles en (d) se chevauchent en fait, elles sont montrées ici légèrement séparées pour plus de clarté.

    La figure 7 montre un ensemble de deux jonctions (a), représentées correctement (b) et également incorrectement (c, d). Notez comment l'utilisation de pointes de flèche aux deux extrémités de chaque ligne vous permet de voir les erreurs plus clairement - lors de la vérification d'un réseau, il est recommandé de configurer votre SIG pour le faire [2].

    [2]Dans ArcGIS, les paramètres des flèches sont plutôt bien cachés. Regarder propriétés de la couche -> symbologie -> symbole -> éditer le symbole -> définir le type sur "symbole de ligne cartographique" -> propriétés de la ligne.

    Ces types d'erreurs peuvent être corrigés à l'aide des outils de topologie. Si des données de saut de ligne sont présentes, il faut veiller à ce que la rupture des intersections ne déplace pas les données de saut de ligne vers le mauvais lien : il est conseillé de rechercher tous les sauts de ligne non nuls et de les vérifier manuellement après les opérations de saut de ligne.

    Nous recommandons de rompre les liens là où des ponts/tunnels existent, à condition que les données de dénivelé y soient correctement associées. Cela a l'avantage que toutes les intersections deviennent des erreurs: si vous voyez une intersection, vous pouvez être sûr qu'il s'agit d'une erreur dans le réseau plutôt que d'un brunel, car ce dernier serait codé avec des données de dénivelé. Une politique similaire peut être appliquée à liens en boucle qui commencent et se terminent au même point (comme un cul-de-sac circulaire). Si ceux-ci sont délibérément divisés en deux liens plutôt qu'un, vous pouvez être certain que tous les liens en boucle sont également des erreurs. Cela empêche le dessin par ex. un rond-point qui n'est relié à rien.

    Dénivelé, altitude et données à sens unique incorrects¶

    Un troisième type d'erreur de connectivité survient lorsque les informations sur le dénivelé, l'altitude ou les informations unidirectionnelles sont incorrectes. Dans les premiers cas, même les extrémités qui se chevauchent seront considérées à tort comme déconnectées si les données de dénivelé ou d'altitude sont erronées. Dans ce dernier cas, une rue à sens unique pointant dans le mauvais sens peut conduire à une situation impossible.

    La façon de vérifier ce genre d'information est de l'afficher et de jeter un coup d'œil. Si vous avez des données de séparation de grade, elles prendront la forme de deux champs de données sur chaque lien - un pour chaque extrémité du lien (dans sDNA, ils sont généralement appelés start_gs et end_gs). Le début et la fin d'une ligne font référence à la façon dont elle a été tracée - notez qu'il s'agit pas nécessairement le même sens que le flux d'un lien à sens unique. Ainsi, pour que la séparation des niveaux de début et de fin soit interprétable, le SIG doit être configuré pour afficher les pointes de flèche uniquement à la fin des lignes, pour indiquer clairement à quelle fin la séparation de niveau de début et de fin se réfère.

    Dans ArcGIS, vous pouvez obtenir un étiquetage personnalisé de la séparation du début et de la fin des liens à partir du Propriétés de la couche -> étiquette des entités dialogue. Activer l'étiquetage et dans Propriétés de l'emplacement choisir Placez une étiquette par fonction. Cliquer sur Expression pour créer une étiquette à partir de plusieurs champs. Voici un exemple d'expression qui étiquette chaque lien avec la connectivité, les séparations de niveau de début et de fin en mettant les séparations de niveau entre parenthèses pour une lecture plus facile :

    (Pour plus d'informations sur le calcul et la vérification de la connectivité, consultez la section suivante).

    Pour afficher les données à sens unique, il est préférable d'afficher une flèche dans la direction de la rue à sens unique. Dans ArcGIS, cela peut être réalisé en utilisant une symbologie de «catégories» pour afficher une flèche vers l'avant, vers l'arrière ou sans flèche en fonction des informations unidirectionnelles attachées à la rue.

    L'ADNs permet de fournir des données d'altitude (z) séparément à la séparation des niveaux. À première vue, cela semble étrange, car ces deux mesures mesurent la même chose. Cependant, il arrive souvent que des données précises de séparation des niveaux soient disponibles, mais seulement des données d'élévation imprécises. Dans le cas d'un réseau 3D formé en drapant un réseau 2D sur un modèle de terrain, les différences d'altitude des ponts et des tunnels ne seront pas capturées, donc la séparation des niveaux est toujours nécessaire pour les indiquer.

    To display and check elevation data, it is best to view the network in 3d.

    Definitive check for connectivity errors¶

    The definitive way to check for connectivity errors is to get sDNA to calculate the connectivity of each link and see if it displays what you think the connectivity should be. Run sDNA Individual Line Measures to compute the connectivity of each link, and check it is as you expect. Link connectivity (LConn) is the number of ends of other links that the link is attached to.

    Of course, checking connectivity by hand over an entire network may be too costly an operation for you to undertake. sDNA cluster tolerance, and external tools to Break intersections and fix Topology can fix connectivity errors automatically. Bridges and tunnels are usually few in number, so can be checked manually. With a reliable source of data (such as Ordnance Survey), we can usually trust that the source data is correct in any case.

    A final way to check for connectivity problems in key locations, however, is to use sDNA to compute a simple model of angular betweenness. This takes some computation time, but the results should highlight all major routes through the network. If any of these look implausible – the routes you expect to be major are not, or vice versa – this may hint at a connectivity error on a major route.

    Geometry errors at key locations¶

    The final common error in spatial network analysis applies only to angular analysis, i.e., any analysis in which changes of direction are considered important. This includes any hybrid analysis that includes a component of angularity, but not Euclidean or topological analysis.

    Figure 8: Two kinds of geometry error. In the lower picture, the zigzag link may overlap the other link precisely, so be invisible to manual checking.

    There are certain types of error in feature encoding that cause spurious changes of direction on simulated paths through the feature. Figure 8 gives two examples. In the first, what appears at one scale to be a crossroads is slightly staggered – so a route travelling from left to right has to negotiate two 90° turns when in reality, none are needed at all. This kind of problem is common even with usually reliable data sets, which may not have been designed with angular analysis in mind.

    In the second example of Figure 8, a link is shown to have a zigzag feature almost obscured by an adjoining link. The zigzag may in fact completely overlap the other link, in which case it would be invisible to casual inspection (though overlaps should be fixed as a matter of course when fixing Connectivity errors at key locations ).

    One clue that almost always indicates a geometry error is a very short line. To find these, sort all polylines in your model by length, and inspect the shortest ones. Should they be there, or are they part of a staggered crossroads?

    As with overlap errors, Topology tools help to fix geometry errors. All zigzags, staggered crossroads and short edges smaller than the tolerance will be removed. It is up to the user to select a suitable tolerance large enough to remove the errors you have observed in the data, but small enough to leave genuine features intact.

    Traffic islands¶

    A final topic to cover is that of traffic islands in road networks. Some data products (notably Ordnance Survey ITN) will encode larger traffic islands by splitting a link into two parallel parts for the length of the island ():num: Figure #trafficisland ).

    Figure 9: Spatial network representation of traffic island. (a) road layout, (b) network representation

    This encoding breaks angular analysis, by introducing a spurious 180° of turning in each direction along a road which is straight. The problem can be significant, as traffic islands are typically found on major routes through a city the extra angularity introduced by traffic island encoding will cause sDNA to overestimate the metric for these roads and hence underestimate traffic flows.

    sDNA Prepare includes a tool to fix traffic islands. You first need to compute a data field which is set to 1 for links which represent traffic islands, and 0 otherwise (this is usually easy to do from your source data). Then, run sDNA prepare to remove the islands.


    Mapping the Unserved

    As connectivity becomes increasingly valuable to everyone, access to communication is becoming as important as access to other kinds of basic infrastructure. As a result there is an increased urgency to make affordable communication infrastructure accessible to ALL citizens. Yet, mobile network subscriber growth in Africa is slowing, as is revenue growth for mobile network operators. This slowdown is linked to the fact that a significant percentage of newer users come from lower income brackets living in regions that present challenges to operators, ranging from sparser population distributions to lack of effective power infrastructure. This is compounded by the fact that there is a growing digital urban-rural divide in access. If something is to be done about this, having an accurate and up-to-date understanding of who has access and who doesn’t is absolutely essential. This post outlines some work I have done for FHI360 and USAID on a methodology for mapping the unserved.

    My goal is twofold: 1) to calculate the number of people not covered by mobile service in a given country and, 2) to identify communities that could be served if they meet a threshold of population density and radius of coverage. Radius of coverage is a variable number that intended to be determined by the proposed technology for coverage. Coverage is affected by a number of variables including tower height, power output, frequencies in use, and antenna type. Typically a single tower coverage radius might range between two and ten kilometres. A community is identified by having a certain population density within the given coverage radius. The actual population number for the threshold is also a variable and is determined by the business model i.e. CAPEX and OPEX of the operator which would suggest the minimum population to be covered in order to make a sustainable business. For instance, an operator putting up solar-powered, low-cost base stations may be able to sustainably serve a lower population density in a given area than a traditional mobile networks. These two variables are meant to be adapted to specific operator solutions.

    All of the work was done with Open Source tools including QGIS,Geographic Resources Analysis Support System (GRASS), and the Geospatial Data Abstraction Library (GDAL).

    Méthodologie

    The two key resources required are a map of current mobile network signal coverage and a map of population distribution. In the example used below, mobile network coverage data from the GSMA, an industry association for mobile network operators, are used. Having established the extent of network coverage, it is then necessary to establish the following: how many people are unserved/underserved where those unserved people live and, specifically where the densest points of population exist in those unserved areas. There are a number of global data sources that provide GIS-based population density and distribution maps based on national census data. Each dataset has its own strengths and weaknesses.

    The newest and most significant of the above sources is the CIESIN High Resolution Settlement Layer (HRSL) map which has been produced in collaboration with Facebook. This new population map represents a substantial increase in population distribution resolution which is possible thanks to Facebook’s vast computing power and their use of machine learning algorithms to more accurately detect human settlements. Combined with national census data, this offers an unprecedented level of accuracy in mapping where people live. This in turn allows for better predictions as to where to locate towers for mobile coverage.
    Unfortunately the map is currently only available for eight countries: Burkina Faso, Ghana, Haiti, Ivory Coast, Madagascar, Malawi, South Africa, Sri Lanka. This is an increase from the initial release of four countries but still limits the application of the map. In the Liberian example used in this document, WorldPop population data has been used. Liberia was chosen as an example because it there are large areas of the country without any mobile coverage, and as such, is easier to illustrate the methodology.

    Mobile Coverage Mapping

    Using GIS data supplied by the GSMA, a 2G coverage map is overlaid on the population data map in the form of a shapefile. This map is made available through the GSMA who, in turn, receive coverage maps from their member organisations. The accuracy of coverage maps supplied by mobile network operators is something that requires further validation. In the map below, the tower radius coverage appears to be 15 kilometres which is generous for most mobile towers. Eight to ten kilometres is generally considered more realistic although many factors influence coverage including tower height, transmitter power, and terrain features. As such the map probably overstates access. While it is often quite possible for the towers to reach mobile phones over extended distances, the critical limiting factor is the ability of the phones to return a signal to the towers.

    2G coverage map of Liberia

    For the purpose of this work, the GSMA coverage data is used in the absence of more accurate datasets on the assumption that a) this would establish a minimum value for populations that lack coverage and b) that this methodology could be substantially improved if access to tower data, including location, technology, height, orientation, and power output, were made available.

    Once the coverage map is overlaid on the population it is immediately possible to visually identify populations that are not currently covered by a mobile signal. The challenge now is to calculate the number of people currently unserved. This can be achieved by first calculating a vector (shapefile) layer on the map that corresponds to the inverse of the mobile coverage map.

    This can be calculated in QGIS through the following steps:

      Add a shapefile for the administrative boundary of the country in question. These can be downloaded from the Global Administrative Areas database (GADM) that has been developed by Robert Hijmans, in collaboration with colleagues at the University of California, Berkeley Museum of Vertebrate Zoology (Julian Kapoor and John Wieczorek), the International Rice Research Institute (Nel Garcia, Aileen Maunahan, Arnel Rala) and the University of California, Davis (Alex Mandel), and with contributions of many others.

    GRASS – Symmetrical Difference dialog

    This completes the first level of GIS analysis which gives a sense of whether the country appears to have a sufficiently large unserved population to warrant further investigation.

    Identifying Population Centers

    Population map with r.neighbours function applied

    In order to make a more accurate estimate of the market viability of the unserved population, it is necessary to make some calculations based on the population demographics in order to identify concentrations of populations in the unserved areas that may be the most likely points for putting up base stations. There is more than one way to address this problem. In this case, the r.neighbors algorithm from the GRASS GIS program is used within QGIS to calculate points of population density. A population raster calculates a population value for each pixel in the map. Each pixel corresponds to a specific range of geographic coverage that depends on the resolution of the map. The CIESIN / Facebook HRSL raster has a resolution of 30 square meters per pixel whereas the WorldPop population map covers 100 square meters per pixel. The r.neighbors algorithm examines the surrounding pixels of any given pixel and performs a chosen function on the pixel values. In this case the surrounding pixel values are summed and the value of that sum is placed in the source location, creating a new raster map. The resulting raster map makes it easier to see the areas of highest population density as compared with surrounding areas. In the map to the left it is possible to see how the points of population density have become more visible. The number of surrounding pixels that are calculated can be varied from as little as a 3ࡩ grid up to whatever level of neighbouring samples brings out the best population density highlights. In the case of Liberia, a 15吋 grid has been chosen.

    Having run the r.neighbors algorithm, it is then possible to filter out population densities that do not meet a given threshold. To do this the Raster Calculator ( Raster | Raster Calculator ) is used in QGIS to establish a threshold that the r.neighbors map must meet. The calculation to do this within the Raster Calculator is of the format

    Filtered for a threshold level of population density

    where RasterMap is the name of the raster that has been calculated with the r.neighbors function and threshold is the number that has been chosen as the minimum population threshold. There is no hard and fast number to use for a threshold. The value will be dependent on the r.neighbors algorithm results. In the case of Liberia, a threshold of 150 was chosen. The result of running the Raster Calculator function is a new raster that is zero for everywhere except the regions that have met the threshold value. The next step is to create a vector shapefile identifying the regions that meet the selected population threshold value. In the map to the right, the areas in black represent the new threshold raster.

    With this resulting map we can use a QGIS or GDAL function to “polygonize” the raster map into a vector format. The polygonize function draws lines around the non-zero parts of the raster map and creates a new vector layer corresponding to the raster layer. In the map below the areas in blue represent the new shapefile layer that represents regions meeting the population threshold set in the previous calculations.

    Filtered population areas converted to polygons

    The raster map is converted into this vector format in order to identify the centers of these high population areas. This is done through the Polygon Centroids function in QGIS ( Vector | Outils de géométrie | Polygon Centroids ) or can be calculated on the command line using the gdal_polygonize.py tool or through the development of custom programs. The centroid of a polygon is its assumed center of gravity. This can be visualized as the point on which the polygon would balance if it was made of a rigid sheet. This is used to establish a point that approximates the point of maximum population density within any given polygon on the map. Inevitably this is an approximation but one that allows us to calculate an epicenter within each identified coverage area.

    Mapping the centroids of each polygon

    In the map to the right, the calculated centroids can be seen. The resulting calculation is yet another shapefile. The shapefile of points representing the centroids of the polygons representing areas that met the population density threshold serve as possible point for locating towers for new coverage. In calculating this, the first step is to look at centroid points that fall outside existing coverage areas. This can be calculated by using the Clip function ( Vector | Geoprocessing Tools | Agrafe ) in QGIS using the centroid points as the Input Layer and the 2G no coverage map as the Clip Layer. This produces a subset of the centroids which fall outside the 2G coverage area. The map below show the centroids will fall into the no coverage areas.

    Identifying centroids that fall outside 2G coverage areas

    Having established these points as possible locations for base stations, we can calculate a buffer zone around each point to simulate a coverage area. We can choose the radius for the base station based on the technology that is expected to be used in the areas. Operators now have a range of base stations technologies that can offer different coverage options based on power output, frequency, tower height, and antenna type. In this case we have chosen a radius of 4.5 kilometers.
    In order to calculate the buffers, we first need to project the centroid points into a GIS projection that supports calculations in meters. The standard QGIS projection is a Mercator projection which measures in radians. By selecting the centroid layer in QGIS, you can Save As and, before saving, select a projection that is appropriate to the region you are working in .

    Calculating buffers around the centroids.

    Once the centroid layer has been re-projected, you can then run the buffer function in QGIS ( Vector | Geoprocessing Tools | Fixed Distance Buffer ). When selecting the Fixed Distance Buffer, tick the Dissolve Result checkbox in order to have overlapping buffers merged into a single polygon. There are trade-offs in choosing to dissolve the buffers though as it creates large coverage areas which cannot be addressed by a single tower. The benefit is that it identifies regions where multiple communities or larger communities may be served. There is probably an improvement that could be made here.

    More investigation is yet required to establish the correct unit for the Distance option in the Fixed Distance Buffer. Finding a radius of 4.5 kilometers was done by trial and error. In this case a value of .045 produced that result which suggests the unit was 100 kilometers. In the map to the right the calculated buffers can be seen.

    Buffers with overlaps on existing 2G coverage removed

    Once the buffers have been calculated, we need to exclude the areas where the buffers overlap with existing coverage areas. Depending on how accurate you feel the mobile coverage maps are, you may or may not choose to do this. These are rough estimates at best now as they do not map actual projections of radio coverage but simple circles as approximations. To remove the overlapping regions, we can Clip the buffers with the map of unserved areas.

    Once that is done, we run Zonal Statistics ( Raster | Statistiques zonales ) again and calculate the population that would be covered under these possible new areas of coverage. Zonal Statistics will calculate population numbers for each polygon. As before, those statistics then become properties of the buffered polygons themselves.

    It is then possible to choose to map the colors of those buffers to reflect the estimated population coverage of each buffer zone. Selecting the color gradation for the buffers can be done through the Properties function which is available by right-clicking on the buffer layer in QGIS. In this case, a graduated scale has been used with equal count quantiles. The resulting map, shown below, provides an indication of possible sites for new coverage based on 4.5km radius coverage. This map could be further refined by setting a lower population bound for the buffers.
    It is important to point out that this map requires further refinement of both mobile signal coverage sources and population map sources before it can be relied on as more than simply a tool for opening a conversation about coverage. The results require further interrogation and validation. For instance, the Liberian population map appears to indicate a significant population in the north west that is not coverage by a mobile signal. This is unusual as mobile operators have usually provided services to high density population areas. This could be an error in the GSM mobile coverage maps or an error in the population map. A glance at Google Maps would seem to suggest that the error is in the population map. More work is needed in order to better understand the reliability of this methodology based on current data sources.

    Map of potential areas for sustainable network deployment.

    Future Steps

    Essential to the meaningful use of this methodology is an accurate map of existing mobile coverage. Toward that end, access to tower location data would be the next logical step in validating coverage. Knowledge of tower location along with frequencies in use, tower height, and power output would allow for the creation of a detailed coverage map using tools for calculating RF signal propagation and loss based on terrain analysis. The same tool could be applied as an alternative to the buffers calculated around the polygon centroids providing a more accurate estimate of opportunities for new coverage.

    Remerciements

    As a newcomer to GIS systems, I want to express my appreciation to a number of people who have provided me with guidance along the way. In particular, I would like to thank:

    • Steve Esselaar, Principal, Research ICT Solutions
    • Gilles Morain, Chief Technical Officer, Masae Analytics , Faculty Service Officer (Spatial information systems, GIS, remote sensing), University of Alberta
    • Greg Yetman , Associate Director, Geospatial Applications Division, Center for International Earth Science Information Network (CIESIN)

    Any errors in the above work are likely a failure on my part to fully appreciate the guidance I was being given. GIS StackExchange deserves a shout-out as well as an invaluable resource.


    This work is part of a body of work on Financing Last Mile Connectivity carried out by FHI360 on behalf of USAID.

    Comme ça:

    Posted by Steve Song

    @stevesong local telco policy activist. social entrepreneur. founder of @villagetelco #africa #telecoms #opensource #privacy #wireless #spectrum #data


    3 réponses 3

    The culprit is not the LEDs themselves, they're harmless, but the TLC5940s, which switch at high frequency to control LED brightness through PWM. You can't filter the PWM outputs (you can, but then the brightness control doesn't work properly anymore), so that's out, but you can try to do something about decoupling power supplies. Not guaranteed to work, the fact that the scope's probe picks up the signal unconnected indicates that it's probably radiated, but it's worth trying.
    Decouple the TLC5940s properly. They have to provide a lot of power, so that means 100$mu$F, 1$mu$F and 100nF all parallel on the power supply for each device, the smallest value closest to the pins.
    Decouple your 5V power to the microcontroller properly: 100nF close to the pins.

    Are you really using a 24 V power supply with the TLC5940, when the first page of the TLC5940 datasheet clearly states the absolute maximum voltage on the output pins is rated at +18 V?

    2.55 Vpp noise on your 5 V power rail? That's so bad that it makes me suspect that perhaps it's not real -- perhaps your 5 V power rail is fine, but something is producing magnetic fields so strong that the wire from your 'scope probe to your 'scope, acting like an antenna, is picking up 2.55 Vpp of noise.

    If I were you, my next steps would be:

    1. Use a power supply less than the "17 V MAX Vo" mentioned on page 3 of the TLC5940 datasheet -- 12 VDC and 15 VDC power supplies are pretty common.
    2. try reducing magnetic noise by rearranging wires
    3. add more filtering to the 5V regulator
    4. carefully read and try to apply the Avoiding Noise tips.

    magnetic noise

    Your high-current loop runs from the +12 VDC power supply, to one end of the LED chains, through the LED chain, to the TLC input pins, out the TLC ground pins, back to the GND connector of the power supply, and out the +12 VDC connector again. The magnetic field generated by this loop is the area of this loop (which you can control by arranging wires differently) multiplied by the current of this loop (which you have little control over).

    Try to minimize the area of this loop. Consider breaking this loop into 2 parts:

    The low frequency loop: a pair of conductors, in a cable running from the power supply, to a big capacitor near the TLC chip, more or less directly connecting that capacitor to the +12 VDC and GND connectors on the power supply. The GND of the TLC chip also connected to one end of that capacitor. (perhaps a big 470 uF cap in parallel with a 10 uF ceramic cap).

    The high frequency loop: a twisted pair of conductors, in a cable that runs from the TLC chip to the LED chain. Connect the TLC chip output to a small resistor (perhaps 10 Ohm?), and connect the other end of that resistor to one conductor of the twisted pair. Connect the other conductor of the pair the +12 VDC side of the big capacitor near the TLC chip.

    As Rocket Surgeon surgeon pointed out, a low-pass filter might help:

    • RC low-pass filter: a very small capacitor from the cable side of that small resistor to GND might help, but a too-big capacitor there will mess up the PWM modulation
    • ferrite low-pass filter: A ferrite choke around the whole cable, or 2 ferrite beads, one around each conductor of the twisted pair, or both, might help.

    Since it may sembler that the TLC doesn't need to be connected to +12 VDC, it's all to easy to wire things in a way that produces the worst possible loop: A discrete "+12 VDC wire" from the 12 VDC power supply to the top of the LED chain, with enough room for a man to stand between that wire and the return path (the return path through the LED chain, then from the bottom of the LED chain to the TLC, and then from the TLC's ground pin back to the power supply), with over a square meter of loop area, producing lots of magnetic noise.

    (perhaps a diagram here would make this clearer . )

    regulator filtering

    Is the power supply really capable of handling this much current? Is maybe the long cables between the power supply and the rest of the system not capable of supporting the fast surge pulses?

    Is maybe large swings on the +12 VDC line perhaps being coupled through the 5V regulator because of insufficient CMRR, or perhaps even the +12 VDC line being pulled so low that the the 5V regulator "drops out" low enough to reset your other devices?

    I would go for a quick test first: drive your +5V regulator from a second power supply (say, a +10 V power supply) completely independent from the +12 V power supply driving your LEDs, except for the GND connecting the power supplies.

    If a second power supply seems to fix the problem, perhaps more regulator filtering would allow the system to run off a single power supply: perhaps you only need to add a small resistor and diode in the path from +12 VDC to the regulator's Vin pin. Perhaps also add more or bigger capacitors from the regulator's Vin pin to GND.

    best decoupling caps

    If you know exactly what the noise frequencies are, the best decoupling caps to suppress that are the caps with the lowest impedance at those frequencies. (Le réel impedance of the physical capacitors at those frequencies, not the théorique impedance calculated by 1/jwC). You use an "impedance vs frequency chart" that looks something like this:

    Such charts always show that, at very low frequencies, big capacitance values are best at very high frequencies, physically small packages are best.

    A real impedance-vs-frequency chart is on page 61 of the Murata Chip Monolithic Ceramic Capacitors catalog.


    Voir la vidéo: Edit Line or Polygon Feature in QGIS