J'ai une couche de points qui reflète les limites de vitesse et une couche de lignes des routes. L'emplacement du panneau de vitesse indique dans quelle direction la limite de vitesse s'applique.
Comment puis-je créer un tableau d'événements linéaire au-dessus de la couche routière qui reflète les vitesses? Donc, pour chaque segment, renvoyez deux attributs de vitesse, un pour chaque direction.
Réponses:
Pour les couches d'événements de route linéaire, vous devez créer une table contenant l'ID de la route et les valeurs m de début et de fin.
Si vos routes n'ont pas de valeurs m, vous pouvez créer des itinéraires à l'aide de l' outil de création d'itinéraires .
La deuxième étape consiste à extraire les valeurs m de vos routes pour chaque point, ce qui peut être fait avec la fonction de localisation le long de la route . Si je vois bien sur votre figure, les points sont situés du même côté de la route s'ils sont dans le même sens. C'est très bien car vous avez alors une distance positive ou négative qui vous indique de quel côté vous êtes.
La façon la plus simple de passer à la dernière étape est dans Microsoft Excel:
roadID
et par signe de la distance à l'itinérairem-value
point suivant (ou le point précédent, selon la direction).m-value
du segment.EDIT: après le tri, votre table ressemblera à ceci
Vous voyez que les points sont triés par m-valeurs. La troisième colonne dans mon cas serait le début de l'événement. la nouvelle couche d'événements doit avoir
from
unto
champ et un champ. Donc, dans mon exemple, cela ressemblerait à:dans l'autre sens, il serait
Vous pouvez ensuite créer votre couche d'événements en utilisant le signe comme champ de décalage pour localiser la limitation de vitesse du bon côté des itinéraires.
la source
Je n'ai pas assez de représentants pour commenter, mais ma question est de savoir si les routes sont déjà dans des segments qui correspondent aux zones de vitesse, c'est-à-dire que chaque segment aurait généralement une vitesse associée à chaque côté, ou plus d'une.
Quoi qu'il en soit, voici ma suggestion, bien qu'elle dépende du fait que vous ayez un niveau de licence qui permettrait un tampon unilatéral (avancé / ArcInfo, je crois). Un principe similaire pourrait être appliqué avec des outils de base, mais serait plus complexe. De plus, je m'attends à ce que cela prenne un certain temps à fonctionner ...
Vous disposez maintenant de tampons de chaque côté de chaque route, à 6 mètres de la ligne médiane, qui devraient couvrir tous les panneaux. Vous pouvez faire une sélection facile par emplacement pour vous assurer que c'est le cas, et sinon, réexécuter les opérations de tampon avec 1 ou 2 mètres supplémentaires.
Prochain:
Alors maintenant, vous avez un dictionnaire dans ce format:
à partir de laquelle vous pouvez faire ce que vous voulez, par exemple:
Ou testez simplement le nombre de vitesses de chaque côté du segment, ou écrivez-le dans les champs de la classe d'entités routes d'origine, etc. Encore une fois, vous ne savez pas si cela pourrait être une solution finale avec les données dont vous disposez, mais cela pourrait certainement travailler dans le cadre de celui-ci. Je pouvais voir qu'il était utilisé en conjonction avec le processus de capture / division décrit ci-dessus.
Pour écrire dans la couche routes, vous pouvez créer deux nouveaux champs, SPD_RIGHT et SPD_LEFT, et pour l'instant (sauf si vous savez avec certitude qu'il n'y a qu'une seule vitesse par segment), faites-en des champs de texte. Alors:
Bien sûr, il est idéal de n'avoir qu'une seule vitesse par segment, mais cela revient à la question initiale de savoir comment les segments sont actuellement divisés.
la source