Comment représenter la distance à l'aide des tirets ou des marqueurs d'une ligne vectorielle?


14

Je suis un utilisateur très basique et je ne connais pas le jargon pour aller à l'essentiel de ma question, donc certains antécédents pourraient aider.

Ive s'est porté volontaire pour créer un système de planification pré-incident pour mon service d'incendie rural. Nos principales vulnérabilités sont les allées non cartographiées extrêmement longues.

Jusqu'à présent, j'ai réussi à transférer les données GPS des allées sur la photographie aérienne du quartier sous forme de lignes vertes brillantes (une couche .SHP) avec une étiquette indiquant la longueur de chaque allée. Il a fière allure et est très utile tel quel.

Maintenant, la question : je veux dessiner les lignes vectorielles de l'allée sous forme de tirets ou avec des marqueurs fixés à des longueurs de 100 pieds. Nos tuyaux de conduite d'alimentation sont offerts en longueurs de 100 pieds; Une ligne vectorielle définie avec des marqueurs à des intervalles de 100 pieds me ferait gagner beaucoup de temps et améliorerait considérablement les données.

Jusqu'à présent, j'ai essayé "Single Symbol" en tant que "Simple Line" en utilisant un motif de tiret personnalisé et la "Marker Line" en utilisant le placement d'intervalle. Aucune de ces options ne conserve la bonne longueur lors du zoom ou de la mise à l'échelle (si tel est le terme).

C'est peut-être impossible? (au moins à mon niveau de connaissance. Je me suis enseigné jusqu'ici et je n'ai pas beaucoup plus de temps pour m'amuser :))


4
Bienvenue sur le site! Question rapide: quel logiciel utilisez-vous pour cette cartographie? ArcGIS (et quelle version)? QGIS? Mapinfo? Selon ce que vous utilisez, il existe plusieurs façons de procéder.
om_henners

2
Si vous travaillez dans QGIS, je viens de l'ouvrir pour vous hub.qgis.org/issues/6953
Nathan W

Réponses:


8

Comme QGIS a également Simple et Marker Line, je répondrai d'un point de vue QGIS. Comme Stephen l'a dit, l'utilisation des lignes de marqueur ne vous donnera pas vraiment ce dont vous avez besoin - bien que cela ferait une bonne demande de fonctionnalité - que je viens d' ouvrir .

Il vaut mieux parier en ce moment pour générer des points le long de la ligne. J'ai expliqué comment vous pouvez le faire dans QGIS sur mon blog à Générer des nœuds de chaînage (distance) dans QGIS

Heureusement, l'un des gars du projet a pris ma logique et en a fait un plugin sur https://github.com/mach0/qchainage .

Pour installer le plugin

  • Cliquez sur le bouton ZIP sur le https://github.com/mach0/qchainage ou suivez ce lien
  • Extrayez le fichier zip dans {yourusername}\.qgis\python\plugins\. Vous devriez maintenant avoir un qchainage-masterdossier dans votre dossier plugins.
  • Ouvrez QGIS et activez-le QChainagedans Plugin Manager
  • Ouvrez votre couche de ligne
  • Sélectionnez l'élément de menu Plugins->QChainage->Create Chainage
  • Remplissez les options

    options de qchainage

    J'utilise 10 mètres ici. La distance est en unités de carte.

  • Cliquez sur OK

  • Profit...

    résultat

Cela créera une nouvelle couche de points en mémoire si vous souhaitez l'enregistrer. Cliquez avec le bouton droit sur la nouvelle couche de points et sélectionnezSave As...


Merci pour l'aide Nathan. Après quelques efforts infructueux en essayant d'installer le plugin, j'ai lu le post ci-dessous de mach0 .. :) J'aurais dû poster ma version logicielle avec la question qui est: QGIS 1.7.3-Wroclaw contre la révision de code 00624b3.
Bob Mitchell

6

Bienvenue sur le site. Puisque vous mentionnez Simple Line et Marker Line, je vais supposer que vous utilisez ArcMap.

Je ne sais pas si l'une des méthodes de symbolisation de ligne vous permet de spécifier une distance qui sera maintenue lorsque vous effectuez un zoom avant / arrière.

Une solution de contournement peut être de créer un calque de points distinct et de placer un point tous les 100 pieds. Consultez le fichier d'aide sous Création de nouveaux points le long d'une ligne pour obtenir des instructions sur la façon de procéder. Cela pourrait vous permettre de compter rapidement les points le long d'une ligne pour savoir combien de temps cela durait.

Notez que cette méthode n'est pas "en direct", vous devrez donc recréer les points si l'une des lignes change.


Merci Stephen, c'est pourtant ce que j'essayais d'éviter.
Bob Mitchell

@BobMitchell Si vous finissez par utiliser cette approche, vous pouvez l'écrire en utilisant Python, pour le rendre très facile à recréer les points lorsque les données sous-jacentes changent
Stephen Lead

1

La seule chose est que le plugin fonctionne actuellement en master uniquement .. car il utilise une fonction non fournie dans la version stable actuelle 1.8 .. Vous devez donc utiliser le code nocturne fourni (probablement en parallèle à votre installation stable existante) .. Habituellement Je dirais que master est aussi stable que "stable 1.8" - mais il y a beaucoup de restructuration en cours pour préparer master pour une version 2.0 - donc vous pourriez rencontrer des problèmes .. Désolé pour cela - mais QGIS est en cours le progrès :)

Dès qu'il y aura un 2.0, il y aura beaucoup de nouvelles disponibles ..

Nathan - merci pour l'algorithme et pour la propagation d'un plugin "pas maintenant" publié - je pense qu'il est temps de le pousser vers le dépôt officiel ..


2
vous auriez vraiment dû ajouter ceci en tant que commentaire à ma question. Lisez rapidement la FAQ gis.stackexchange.com/faq
Nathan W
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.