Suite

Référencer des champs dans le bloc de code du calculateur de champs dans ArcGIS for Desktop ?

Référencer des champs dans le bloc de code du calculateur de champs dans ArcGIS for Desktop ?


J'essaie d'utiliser les valeurs d'un champ pour remplir un nouveau champ avec une version tronquée. La fonction 'str.rindex' fonctionne bien, mais je n'arrive pas à comprendre comment je suis censé référencer le champ dont j'ai besoin tronqué. J'ai trouvé quelques réponses ici expliquant que le champ ! la convention ne fonctionnera pas, mais aucune solution de contournement.


dans le bloc de code, vous définirez une fonction, puis dans l'expression, vous appellerez la fonction avec les noms de champs nécessaires, comme ceci :

Bloc de code :

def picture_name(current_name, map_number): return current_name[current_name.rindex(""):] + "|" + numéro_carte + ".tif"

Expression :

nom_image(!Images!, !NuméroCarte!)

Je n'ai pas testé ce code et j'ai réécrit un peu la logique. Espérons que cela vous rapproche au moins.


Les commentaires de Gabriel sont valides, mais le problème principal est que vous ne parcourez pas les lignes de votre classe d'entités - vous ne pouvez pas simplement aller si "Cnt1" == -99 et vous attendre à ce que Python sache qu'il doit regarder le Cnt1 dans chaque ligne d'une classe d'entités.

Dans ce cas, vous avez besoin d'un curseur de mise à jour, qui examinera chaque ligne de la classe d'entités à tour de rôle et vous permettra de mettre à jour les valeurs des champs. Quelque chose comme ça devrait vous faire bouger :

Vous comparez aux constantes de votre code.

Je ne connais pas Arcpy, mais si vous souhaitez analyser certains résultats de ses fonctions, vous devez obtenir une valeur renvoyée ou inspecter les variables passées en tant que paramètres après l'appel.


ArcGIS utilise généralement un moteur de base de données externe. Par conséquent, à moins que vous ne parliez d'un fichier de formes individuel, vos données sont stockées dans Access, SQL Server ou Oracle. À moins que vous n'ayez ArcSDE, il s'agit probablement d'Access. Vous pouvez définir des données directement dans la base de données et y affecter des valeurs par défaut, puis créer un lien vers les tables à partir de votre outil de création de cartes.

ÉDITER Après votre dernier commentaire, j'ai consulté l'un de mes amis les plus avertis en SIG et elle avait ce qui suit à offrir

ils devront définir la table et ses valeurs par défaut dans la base de données puis joindre la table à la classe d'entités via un champ commun. Il est important de ne pas joindre le champ de date à la classe d'entités, dans ce cas, la classe d'entités conserverait les valeurs définies dans la classe d'entités et ignorerait la valeur de la table.


Référencer des champs dans le bloc de code du calculateur de champs dans ArcGIS for Desktop ? - Systèmes d'information géographique

Référence générale des spécifications d'alimentation de transit

Révisé le 4 janvier 2021. Voir Historique des révisions pour plus de détails.

Ce document définit le format et la structure des fichiers qui composent un jeu de données GTFS.

Cette section définit les termes qui sont utilisés tout au long de ce document.

  • Base de données - Un ensemble complet de fichiers définis par ce référentiel de spécification. La modification de l'ensemble de données crée une nouvelle version de l'ensemble de données. Les ensembles de données doivent être publiés sur une URL publique permanente, y compris le nom du fichier zip. (par exemple, https://www.agency.org/gtfs/gtfs.zip).
  • Enregistrer - Une structure de données de base composée d'un certain nombre de valeurs de champ différentes décrivant une seule entité (par exemple, agence de transport, arrêt, itinéraire, etc.). Représenté, dans un tableau, sous forme de rangée.
  • Domaine - Une propriété d'un objet ou d'une entité. Représenté, dans un tableau, sous forme de colonne.
  • Valeur du champ - Une entrée individuelle dans un champ. Représenté, dans un tableau, comme une seule cellule.
  • Jour de service - Un jour de service est une période de temps utilisée pour indiquer la planification de l'itinéraire. La définition exacte du jour de service varie d'une agence à l'autre, mais les jours de service ne correspondent souvent pas aux jours calendaires. Une journée de service peut dépasser 24:00:00 si le service commence un jour et se termine un jour suivant. Par exemple, un service qui s'exécute de 08:00:00 le vendredi à 02:00:00 le samedi, pourrait être désigné comme fonctionnant de 08:00:00 à 26:00:00 un seul jour de service.
  • Champ de synthèse vocale - Le champ doit contenir les mêmes informations que son champ parent (sur lequel il se rabat s'il est vide). Il est destiné à être lu comme une synthèse vocale, par conséquent, l'abréviation doit être soit supprimée ("St" doit être lu comme "Rue" ou "Saint" "Elizabeth I" doit être "Elizabeth la première") ou conservée à lire tel quel ("JFK Airport" est dit en abrégé).

Conditions de présence applicables aux champs et fichiers :

  • Obligatoire - Le champ ou le fichier doit être inclus dans l'ensemble de données et contenir une valeur valide pour chaque enregistrement.
  • Optionnel - Le champ ou le fichier peut être omis de l'ensemble de données.
  • Conditionnellement requis - Le champ ou le fichier doit être inclus dans les conditions décrites dans la description du champ ou du fichier.
  • Couleur - Une couleur codée sous la forme d'un nombre hexadécimal à six chiffres. Reportez-vous à https://htmlcolorcodes.com pour générer une valeur valide (le "#" de tête n'est pas inclus).
    Exemple : FFFFFF pour le blanc, 000000 pour le noir ou 0039A6 pour les lignes A,C,E à NYMTA.
  • Code de devise - Un code devise alphabétique ISO 4217. Pour la liste des devises actuelles, reportez-vous à https://en.wikipedia.org/wiki/ISO_4217#Active_codes.
    Exemple : CAD pour les dollars canadiens, EUR pour les euros ou JPY pour les yens japonais.
  • Date - Jour de service au format AAAAMMJJ. Étant donné que l'heure d'un jour de service peut être supérieure à 24:00:00, un jour de service contient souvent des informations pour le(s) jour(s) suivant(s).
    Exemple : 20180913 pour le 13 septembre 2018.
  • E-mail - Une adresse e-mail.
    Exemple : [email protected]
  • Énumération - Une option parmi un ensemble de constantes prédéfinies définies dans la colonne "Description".
    Exemple : Le champ route_type contient un 0 pour le tram, un 1 pour le métro.
  • identifiant - Une valeur de champ ID est un ID interne, non destiné à être montré aux coureurs, et est une séquence de caractères UTF-8. Il est recommandé d'utiliser uniquement des caractères ASCII imprimables. Les ID définis dans un fichier .txt sont souvent référencés dans un autre fichier .txt.
    Exemple : le champ stop_id dans stops.txt est un ID. Le champ stop_id dans stop_times.txt est un identifiant référençant stops.stop_id .
  • Code de langue - Un code de langue IETF BCP 47. Pour une introduction à l'IETF BCP 47, reportez-vous à http://www.rfc-editor.org/rfc/bcp/bcp47.txt et http://www.w3.org/International/articles/language-tags/.
    Exemple : en pour l'anglais, en-US pour l'anglais américain ou de pour l'allemand.
  • Latitude - Latitude WGS84 en degrés décimaux. La valeur doit être supérieure ou égale à -90,0 et inférieure ou égale à 90,0.
    Exemple : 41.890169 pour le Colisée à Rome.
  • Longitude - Longitude WGS84 en degrés décimaux. La valeur doit être supérieure ou égale à -180,0 et inférieure ou égale à 180,0.
    Exemple : 12.492269 pour le Colisée à Rome.
  • Flotter - Un nombre à virgule flottante.
  • Entier - Un nombre entier.
  • Numéro de téléphone - Un numéro de téléphone.
  • Temps - L'heure au format HH:MM:SS (H:MM:SS est également accepté). L'heure est mesurée à partir de « midi moins 12 h » du jour de service (en fait minuit, sauf pour les jours où les changements d'heure d'été se produisent). Pour les heures postérieures à minuit, saisissez l'heure sous la forme d'une valeur supérieure à 24:00:00 dans l'heure locale HH:MM:SS du jour où commence le programme de déplacement.
    Exemple : 14:30:00 pour 14:30 ou 25:35:00 pour 1:35 le lendemain.
  • Texte - Une chaîne de caractères UTF-8, destinée à être affichée et qui doit donc être lisible par l'homme.
  • Fuseau horaire - Fuseau horaire TZ de https://www.iana.org/time-zones. Les noms de fuseau horaire ne contiennent jamais le caractère espace mais peuvent contenir un trait de soulignement. Reportez-vous à http://en.wikipedia.org/wiki/List_of_tz_zones pour une liste de valeurs valides.
    Exemple : Asie/Tokyo , Amérique/Los_Angeles ou Afrique/Le Caire .
  • URL - Une URL complète qui inclut http:// ou https://, et tous les caractères spéciaux dans l'URL doivent être correctement échappés. Voir http://www.w3.org/Addressing/URL/4_URI_Recommentations.html suivant pour une description de la façon de créer des valeurs d'URL complètes.

Signes applicables aux types de champs Float ou Integer :

  • Non négatif - Supérieur ou égal à 0.
  • Non nul - Non égal à 0.
  • Positif - Supérieur à 0.

Exemple: Flotteur non négatif - Un nombre à virgule flottante supérieur ou égal à 0.

Cette spécification définit les fichiers suivants :

Les exigences suivantes s'appliquent au format et au contenu des fichiers de jeu de données :

  • Tous les fichiers doivent être enregistrés sous forme de texte délimité par des virgules.
  • La première ligne de chaque fichier doit contenir des noms de champs. Chaque sous-section de la section Définitions des champs correspond à l'un des fichiers d'un ensemble de données GTFS et répertorie les noms de champs pouvant être utilisés dans ce fichier.
  • Tous les noms de champs sont sensibles à la casse.
  • Les valeurs de champ ne doivent pas contenir de tabulations, de retours chariot ou de nouvelles lignes.
  • Les valeurs de champ contenant des guillemets ou des virgules doivent être placées entre guillemets. De plus, chaque guillemet dans la valeur du champ doit être précédé d'un guillemet. Cela est cohérent avec la manière dont Microsoft Excel génère des fichiers délimités par des virgules (CSV). Pour plus d'informations sur le format de fichier CSV, consultez http://tools.ietf.org/html/rfc4180. L'exemple suivant montre comment une valeur de champ apparaîtrait dans un fichier délimité par des virgules :
    • Valeur du champ d'origine : Contient des "guillemets", des virgules et du texte
    • Valeur du champ dans le fichier CSV : "Contient des "" guillemets ", des virgules et du texte "

    Déposer: Obligatoire

    Déposer: Obligatoire

    Lorsque l'emplacement est une zone d'embarquement ( location_type=4 ), le stop_name doit contenir le nom de la zone d'embarquement tel qu'affiché par l'agence. Il peut s'agir d'une seule lettre (comme dans certaines gares interurbaines européennes), ou d'un texte comme « Zone d'embarquement en fauteuil roulant » (métro de New York) ou « Tête des trains courts » (RER de Paris).

    Pour les arrêts/quais ( location_type=0 ) et la zone d'embarquement ( location_type=4 ), les coordonnées doivent être celles du pôle bus — s'il existe — et sinon de l'endroit où les voyageurs embarquent dans le véhicule (sur le trottoir ou sur le quai, et non sur la chaussée ou la piste où le véhicule s'arrête).

    Pour les arrêts/quais ( location_type=0 ) et la zone d'embarquement ( location_type=4 ), les coordonnées doivent être celles du pôle bus — s'il existe — et sinon de l'endroit où les voyageurs embarquent dans le véhicule (sur le trottoir ou sur le quai, et non sur la chaussée ou la piste où le véhicule s'arrête).

    - Arrêt/plate-forme ( location_type=0 ) : le champ parent_station contient l'ID d'une station.
    - Gare ( location_type=1 ) : ce champ doit être vide.
    - Entrée sortie ( location_type=2 ) ou nœud générique ( location_type=3 ) : le champ parent_station contient l'ID d'une station ( location_type=1 )
    - Zone d'embarquement ( location_type=4 ) : le champ parent_station contient l'ID d'une plate-forme.

    Pour les arrêts sans parents :
    0 ou vide - Aucune information d'accessibilité pour l'arrêt.
    1 - Certains véhicules à cet arrêt peuvent être embarqués par un coureur en fauteuil roulant.
    2 - L'embarquement en fauteuil roulant n'est pas possible à cet arrêt.

    Pour les arrêts enfants :
    0 ou vide - Stop héritera de son comportement d'embarquement en fauteuil roulant de la station parent, s'il est spécifié dans le parent.
    1 - Il existe un chemin accessible depuis l'extérieur de la gare jusqu'à l'arrêt/quai spécifique.
    2 - Il n'existe pas de chemin accessible depuis l'extérieur de la gare jusqu'à l'arrêt/quai spécifique.

    Déposer: Obligatoire

    0 - Ramassage à arrêt continu.
    1 ou vide - Pas de ramassage à arrêt continu.
    2 - Doit téléphoner à l'agence pour organiser un arrêt continu du ramassage.
    3 - Doit coordonner avec le conducteur pour organiser le ramassage d'arrêt continu.

    0 - Arrêt continu de la descente.
    1 ou vide - Pas de descente en arrêt continu.
    2 - Doit téléphoner à l'agence pour organiser un arrêt continu.
    3 - Doit coordonner avec le conducteur pour organiser un arrêt continu.

    Déposer: Obligatoire

    Exemple : Blocs et jour de service

    L'exemple ci-dessous est valable, avec des blocs distincts chaque jour de la semaine.

    id_route id_voyage service_id block_id (première heure d'arrêt) (heure du dernier arrêt)
    rouge voyage_1 lun-mar-mer-jeu-ven-sam-dim boucle_rouge 22:00:00 22:55:00
    rouge voyage_2 ven-sam-dim boucle_rouge 23:00:00 23:55:00
    rouge voyage_3 ven-sam boucle_rouge 24:00:00 24:55:00
    rouge voyage_4 lun-mar-mer-jeu boucle_rouge 20:00:00 20:50:00
    rouge voyage_5 lun-mar-mer-jeu boucle_rouge 21:00:00 21:50:00

    • Du vendredi au samedi matin, par exemple, un seul véhicule exploite trip_1 , trip_2 et trip_3 (de 22 h 00 à 00 h 55). Notez que le dernier trajet a lieu le samedi, de 00h00 à 00h55, mais fait partie de la « journée de service » du vendredi car les horaires sont de 24h00 à 24h55.
    • Les lundi, mardi, mercredi et jeudi, un seul véhicule fait fonctionner trip_1 , trip_4 et trip_5 dans un bloc de 20 h 00 à 22 h 55.

    Déposer: Obligatoire

    S'il n'y a pas d'heures distinctes pour l'arrivée et le départ à un arrêt, l'heure d'arrivée et l'heure de départ doivent être identiques.

    Pour les heures survenant après minuit le jour de service, entrez l'heure sous la forme d'une valeur supérieure à 24:00:00 dans l'heure locale HH:MM:SS du jour où commence le programme de déplacement.

    Si les heures exactes d'arrivée et de départ ( timepoint=1 ou vide) ne sont pas disponibles, les heures d'arrivée et de départ estimées ou interpolées ( timepoint=0) doivent être fournies.

    S'il n'y a pas d'heures distinctes pour l'arrivée et le départ à un arrêt, l'heure d'arrivée et l'heure de départ doivent être identiques.

    Pour les heures survenant après minuit le jour de l'entretien, entrez l'heure sous la forme d'une valeur supérieure à 24:00:00 dans l'heure locale HH:MM:SS du jour où commence le programme de déplacement.

    Si les heures exactes d'arrivée et de départ ( timepoint=1 ou vide) ne sont pas disponibles, les heures d'arrivée et de départ estimées ou interpolées ( timepoint=0) doivent être fournies.

    0 - Interruption continue du ramassage.
    1 ou vide - Pas de ramassage à l'arrêt continu.
    2 - Doit téléphoner à l'agence pour organiser un arrêt continu du ramassage.
    3 - Doit coordonner avec le conducteur pour organiser le ramassage d'arrêt continu.

    0 - Arrêt continu de la descente.
    1 ou vide - Pas de descente en arrêt continu.
    2 - Doit téléphoner à l'agence pour organiser un arrêt continu.
    3 - Doit coordonner avec le conducteur pour organiser un arrêt continu.

    Déposer: Conditionnellement requis

    Déposer: Conditionnellement requis

    La table calendar_dates.txt peut explicitement activer ou désactiver le service par date. Il peut être utilisé de deux manières.

    • Recommandé : utilisez calendar_dates.txt conjointement avec calendar.txt pour définir des exceptions aux modèles de service par défaut définis dans calendar.txt. Si le service est généralement régulier, avec quelques changements à des dates explicites (par exemple, pour accueillir des services d'événements spéciaux ou un horaire scolaire), c'est une bonne approche. Dans ce cas calendar_dates.service_id est un identifiant référençant calendar.service_id .
    • Alternative : omettez calendar.txt et spécifiez chaque date de service dans calendar_dates.txt. Cela permet une variation de service considérable et s'adapte au service sans horaires hebdomadaires normaux. Dans ce cas, service_id est un ID.

    Déposer: Optionnel

    Déposer: Optionnel

    La table fare_rules.txt spécifie comment les tarifs dans fare_attributes.txt s'appliquent à un itinéraire. La plupart des structures tarifaires utilisent une combinaison des règles suivantes :

    • Le tarif dépend des gares d'origine ou de destination.
    • Le tarif dépend des zones traversées par l'itinéraire.
    • Le tarif dépend de l'itinéraire utilisé par l'itinéraire.

    Pour des exemples qui montrent comment spécifier une structure tarifaire avec fare_rules.txt et fare_attributes.txt, consultez https://code.google.com/p/googletransitdatafeed/wiki/FareExamples dans le wiki du projet open source GoogleTransitDataFeed.

    Nom de domaine Taper Présence La description
    fare_id Identifiant faisant référence à fare_attributes.fare_id Obligatoire Identifie une classe tarifaire.
    id_route ID référençant routes.route_id Optionnel Identifie un itinéraire associé à la classe tarifaire. S'il existe plusieurs itinéraires avec les mêmes attributs tarifaires, créez un enregistrement dans fare_rules.txt pour chaque itinéraire. Exemple : Si la classe tarifaire « b » est valide sur les itinéraires « TSW » et « TSE », le fichier fare_rules.txt contiendrait ces enregistrements pour la classe tarifaire :
    fare_id, route_id
    b,TSW
    b,EST
    id_origine ID faisant référence aux stops.zone_id Optionnel Identifie une zone d'origine. Si une classe tarifaire a plusieurs zones d'origine, créez un enregistrement dans fare_rules.txt pour chaque origin_id . Exemple : Si la classe tarifaire « b » est valide pour tous les voyages au départ de la zone « 2 » ou de la zone « 8 », le fichier fare_rules.txt contiendrait ces enregistrements pour la classe tarifaire :
    fare_id. id_origine
    b. 2
    b. 8
    id_destination ID faisant référence aux stops.zone_id Optionnel Identifie une zone de destination. Si une classe tarifaire a plusieurs zones de destination, créez un enregistrement dans fare_rules.txt pour chaque destination_id . Exemple : Les champs origin_id et destination_id pourraient être utilisés ensemble pour spécifier que la classe tarifaire « b » est valide pour les déplacements entre les zones 3 et 4, et pour les déplacements entre les zones 3 et 5, le fichier fare_rules.txt contiendrait ces enregistrements pour le tarif classer:
    fare_id. id_origine,id_destination
    b. 3,4
    b. 3,5
    contient_id ID faisant référence aux stops.zone_id Optionnel Identifie les zones dans lesquelles un passager entrera en utilisant une classe tarifaire donnée. Utilisé dans certains systèmes pour calculer la classe tarifaire correcte. Exemple : Si la classe tarifaire « c » est associée à tous les déplacements sur l'itinéraire GRT qui traverse les zones 5, 6 et 7, le fichier fare_rules.txt contiendrait ces enregistrements :
    fare_id, route_id. contient_id
    c,TJB. 5
    c,TJB. 6
    c,TJB. 7
    Étant donné que toutes les zones contains_id doivent correspondre pour que le tarif s'applique, un itinéraire qui traverse les zones 5 et 6 mais pas la zone 7 n'aura pas la classe tarifaire "c". Pour plus de détails, voir https://code.google.com/p/googletransitdatafeed/wiki/FareExamples dans le wiki du projet GoogleTransitDataFeed.

    Déposer: Optionnel

    Les formes décrivent le chemin parcouru par un véhicule le long d'un alignement d'itinéraire et sont définies dans le fichier formes.txt. Les formes sont associées aux trajets et consistent en une séquence de points par lesquels le véhicule passe dans l'ordre. Les formes n'ont pas besoin d'intercepter exactement l'emplacement des arrêts, mais tous les arrêts d'un trajet doivent se situer à une petite distance de la forme de ce trajet, c'est-à-dire à proximité des segments de ligne droite reliant les points de forme.

    Nom de domaine Taper Présence La description
    id_forme identifiant Obligatoire Identifie une forme.
    shape_pt_lat Latitude Obligatoire Latitude d'un point de forme. Chaque enregistrement du fichier shape.txt représente un point de forme utilisé pour définir la forme.
    shape_pt_lon Longitude Obligatoire Longitude d'un point de forme.
    shape_pt_sequence Entier non négatif Obligatoire Séquence dans laquelle les points de forme se connectent pour former la forme. Les valeurs doivent augmenter tout au long du trajet mais n'ont pas besoin d'être consécutives. Exemple : Si la forme "A_shp" a trois points dans sa définition, le fichier shape.txt peut contenir ces enregistrements pour définir la forme :
    shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence
    A_shp,37.61956,-122.48161,0
    A_shp,37.64430,-122.41070,6
    A_shp,37.65863,-122.30839,11
    shape_dist_traveled Flotteur non négatif Optionnel Distance réelle parcourue le long de la forme depuis le premier point de forme jusqu'au point spécifié dans cet enregistrement. Utilisé par les planificateurs de voyage pour montrer la partie correcte de la forme sur une carte. Les valeurs doivent augmenter avec shape_pt_sequence, elles ne peuvent pas être utilisées pour afficher le trajet inverse le long d'un itinéraire. Les unités de distance doivent être cohérentes avec celles utilisées dans stop_times.txt. Exemple : Si un bus se déplace le long des trois points définis ci-dessus pour A_shp, les valeurs shape_dist_traveled supplémentaires (indiquées ici en kilomètres) ressembleraient à ceci :
    shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
    A_shp,37.61956,-122.48161,0,0
    A_shp,37.64430,-122.41070,6.6.8310
    A_shp,37.65863,-122.30839,11,15.8765

    Déposer: Optionnel

    Frequencies.txt représente les trajets qui fonctionnent sur des intervalles réguliers (temps entre les trajets). Ce fichier peut être utilisé pour représenter deux types de services différents.

    • Service basé sur la fréquence ( exact_times = 0 ) dans lequel le service ne suit pas un horaire fixe tout au long de la journée. Au lieu de cela, les opérateurs tentent de maintenir strictement des distances prédéterminées pour les déplacements.
    • Représentation compressée d'un service basé sur des horaires ( exact_times = 1 ) qui a exactement la même progression pour les trajets sur une ou plusieurs périodes de temps spécifiées. Dans les services basés sur des horaires, les opérateurs essaient de respecter strictement un horaire.

    Déposer: Optionnel

    Lors du calcul d'un itinéraire, les applications utilisant GTFS interpolent les transferts en fonction du temps autorisé et de la proximité des arrêts. Transfers.txt spécifie des règles supplémentaires et des dérogations pour les transferts sélectionnés.

    Déposer: Optionnel

    Les fichierschemins.txt et niveaux.txt utilisent une représentation graphique pour décrire les stations de métro ou de train, avec des nœuds représentant des emplacements et des bords représentant des voies.

    Pour naviguer de l'entrée/sortie de la gare (un nœud représenté comme un emplacement avec location_type=2 ) à une plate-forme (un nœud représenté comme un emplacement avec location_type=0 ou vide), le motard se déplacera à travers des passerelles, des barrières tarifaires, des escaliers, et d'autres bords représentés comme des chemins. Les nœuds génériques (nœuds représentés par location_type=3 ) peuvent être utilisés pour connecter des chemins à travers une station.

    Les parcours doivent être définis de manière exhaustive dans une station. Si des chemins sont définis, il est supposé que tous les chemins de la station sont représentés. Par conséquent, les directives suivantes s'appliquent :

    • Pas d'emplacements suspendus : si un emplacement dans une gare a un chemin, alors tous les emplacements dans cette station doivent avoir des chemins, à l'exception des quais qui ont des zones d'embarquement ( location_type=4 , voir la directive ci-dessous).
    • Pas de chemins pour une plate-forme avec des zones d'embarquement : une plate-forme ( location_type=0 ou vide) qui a des zones d'embarquement ( location_type=4 ) est traitée comme un objet parent, pas comme un point. Dans de tels cas, la plate-forme ne doit pas avoir de chemins assignés. Toutes les voies doivent être attribuées pour chacune des zones d'embarquement de la plate-forme.
    • Pas de quais verrouillés : chaque quai ( location_type=0 ou vide) ou zone d'embarquement ( location_type=4 ) doit être relié à au moins une entrée/sortie ( location_type=2 ) via une chaîne de voies. Les gares n'autorisant pas un cheminement vers l'extérieur de la gare à partir d'un quai donné sont rares.

    Doit contenir un stop_id qui identifie une plate-forme ( location_type=0 ou vide), une entrée/sortie ( location_type=2 ), un nœud générique ( location_type=3 ) ou une zone d'embarquement ( location_type=4 ).

    Doit contenir un stop_id qui identifie une plate-forme ( location_type=0 ou vide), une entrée/sortie ( location_type=2 ), un nœud générique ( location_type=3 ) ou une zone d'embarquement ( location_type=4 ).

    0 - Chemin unidirectionnel qui ne peut être utilisé que de from_stop_id à to_stop_id .
    1 - Voie bidirectionnelle utilisable dans les deux sens.

    Un stair_count positif implique que le cycliste monte de from_stop_id à to_stop_id . Et un stair_count négatif implique que le cycliste descend de from_stop_id à to_stop_id .

    Ce champ est recommandé pour les escaliers (chemin_mode=2 ).

    0 ou vide - Pas de pente.
    Float - Rapport de pente du chemin, positif pour le haut, négatif pour le bas.

    Peut être utilisé pour fournir des instructions textuelles aux passagers, telles que « suivre les panneaux jusqu'à ». Le texte dans singposted_as doit apparaître exactement comme il est imprimé sur les panneaux.

    Déposer: Conditionnellement requis

    Décrit les niveaux dans une station. Utile en conjonction avec paths.txt , et est requis pour parcourir les sentiers avec des ascenseurs ( path_mode=5 ).

    Déposer: Optionnel

    Dans les régions qui ont plusieurs langues officielles, les agences/opérateurs de transport en commun ont généralement des noms et des pages Web propres à une langue. Afin de mieux servir les usagers de ces régions, il est utile que l'ensemble de données inclue ces valeurs dépendantes de la langue.

    - agence
    - s'arrête
    - itinéraires
    - voyages
    - stop_times
    - les chemins
    - les niveaux
    - feed_info
    - attributions

    - agency_id pour agency.txt
    - stop_id pour stops.txt
    - route_id pour routes.txt
    - trip_id pour trips.txt
    - trip_id pour stop_times.txt
    -chemin_id pour les chemins.txt
    - level_id pour les niveaux.txt
    - attribution_id pour attribution.txt .

    Aucun champ ne doit être traduit dans les autres tables. Cependant, les producteurs ajoutent parfois des champs supplémentaires qui sont en dehors de la spécification officielle et ces champs non officiels peuvent nécessiter une traduction. Vous trouverez ci-dessous la manière recommandée d'utiliser record_id pour ces tables :

    - service_id pour le calendrier.txt
    - service_id pour calendar_dates.txt
    - fare_id pour fare_attributes.txt
    - fare_id pour fare_rules.txt
    - shape_id pour les formes.txt
    - trip_id pour les fréquences.txt
    - from_stop_id pour les transferts.txt .

    - Aucun pour agency.txt
    - Aucun pour stops.txt
    - Aucun pour routes.txt
    - Aucun pour trips.txt
    - stop_sequence pour stop_times.txt
    - Aucun pour les chemins.txt
    - Aucun pour les niveaux.txt
    - Aucun pour attributions.txt .

    Aucun champ ne doit être traduit dans les autres tables. Cependant, les producteurs ajoutent parfois des champs supplémentaires qui sont en dehors de la spécification officielle et ces champs non officiels peuvent nécessiter une traduction. Vous trouverez ci-dessous la manière recommandée d'utiliser record_sub_id pour ces tables :

    - Aucun pour calendar.txt
    - date pour calendar_dates.txt
    - Aucun pour fare_attributes.txt
    - route_id pour fare_rules.txt
    - Aucun pour les formes.txt
    - start_time pour les fréquences.txt
    - to_stop_id pour les transferts.txt .

    Le terrain doit avoir exactement la valeur définie dans field_value . Si seul un sous-ensemble de la valeur correspond à field_value , la traduction ne sera pas appliquée.

    Si deux règles de traduction correspondent au même enregistrement (une avec field_value , et l'autre avec record_id ), alors la règle avec record_id est celle qui doit être utilisée.

    Déposer: Optionnel (Obligatoire si translations.txt est fourni)

    Le fichier contient des informations sur l'ensemble de données lui-même, plutôt que sur les services décrits par l'ensemble de données. Notez que, dans certains cas, l'éditeur de l'ensemble de données est une entité différente de celle de n'importe quelle agence.

    Déposer: Optionnel

    Le fichier définit les attributions appliquées au jeu de données.

    0 ou vide - L'organisation n'a pas ce rôle.
    1 - L'organisation a ce rôle.


    Le choix unique fournit une liste de réponses potentielles parmi lesquelles l'utilisateur n'en sélectionne qu'une que vous pouvez définir par défaut dans l'onglet Modifier. Il existe également une case à cocher Autoriser "Autre", qui permet à l'utilisateur de spécifier un choix supplémentaire ne figurant pas dans la liste. Il existe également une option pour randomiser l'ordre dans lequel les choix apparaissent. Dans la section Apparence, vous pouvez choisir si vous souhaitez que vos réponses soient disposées verticalement ou horizontalement.

    Les questions à choix unique ont un bouton Définir la règle dans la section de conception sur la gauche. Cliquez sur ce bouton pour ouvrir une fenêtre qui vous permet de définir une règle de visibilité pour toute question qui vient après. Cette fonction a le même objectif que la colonne correspondante dans XLSForm.

    Ce type de question se comporte de la même manière qu'une question select_one dans Survey123 Connect .


    Cartes / SIG

    Notre galerie d'applications SIG Map & propose une collection croissante de cartes Web, d'applications cartographiques et d'applications SIG. La galerie dispose d'une simple visionneuse de carte intégrée pour explorer les informations sur les adresses et les colis fiscaux, le zonage et les zones de ramassage du recyclage, les zones de vote des élections municipales et les sites de vote, les informations sur les frais du programme des eaux pluviales, et bien plus encore. Il comprend également un certain nombre de Story Maps, qui emmènent les utilisateurs dans une visite virtuelle d'Olde Towne, des bâtiments historiques, des installations d'art public et plus encore. La galerie et les cartes et applications liées sont toutes accessibles à partir d'ordinateurs de bureau, de tablettes et de téléphones intelligents.


    Syntaxe

    La table contenant le champ qui sera mis à jour avec le nouveau calcul.

    Le champ qui sera mis à jour avec le nouveau calcul.

    L'expression de calcul simple utilisée pour créer une valeur qui remplira les lignes sélectionnées.

    Spécifiez le type d'expression qui sera utilisé.

    • VB — L'expression sera écrite dans un format VB standard. C'est la valeur par défaut.
    • PYTHON — L'expression sera écrite dans un format Python standard. L'utilisation de méthodes et de propriétés de géoprocesseur est identique à la création d'un géoprocesseur de version 9.2.
    • PYTHON_9.3 — L'expression sera écrite dans un format Python standard. L'utilisation de méthodes et de propriétés de géoprocesseur est identique à la création d'un géoprocesseur de version 9.3.

    Permet de saisir un bloc de code pour les expressions complexes.


    L'une des principales causes des bogues avec référence nulle est le fait qu'en C, chaque objet de type référence peut être nul, tout le temps. Et si vous, le développeur, aviez le pouvoir de dire : « Je veux que cette chaîne ne soit jamais nulle » ? Mieux encore, et si cette décision était appliquée par le compilateur lui-même, vous empêchant ainsi que d'autres développeurs d'attribuer la valeur null à ladite variable par accident ? Ça sonne bien ? Bonne nouvelle donc : il s'agit d'une véritable fonctionnalité de la huitième version de C# appelée, sans surprise, les types nullables.

    << La fonctionnalité fonctionne de manière ingénieuse et puissante.>>

    La fonctionnalité fonctionne de manière ingénieuse et puissante. Il redéfinit les types de référence comme étant non nullables par défaut, comme beaucoup le soutiennent, ils auraient dû l'être depuis le début. Ensuite, il ajoute un nouveau type de syntaxe qui vous permet de définir des variables nullables (ce n'est pas vraiment nouveau, cependant, car c'est la même syntaxe qui est utilisée depuis plusieurs années pour les types valeur nullables.)

    Pour mieux comprendre, regardez l'exemple suivant :

    static int Add (numéros de chaîne)

    Dans la version antérieure à 8.0 de C#, le code ci-dessus est dangereux. La variable de nombres pourrait être null, ce qui provoquerait une NullReferenceException lors de la tentative d'utilisation de la méthode Split.

    Avec la fonctionnalité de types de référence nullable C# 8.0, vous seriez en sécurité. La variable ne pourrait jamais être nulle et l'appel à la méthode Split ne serait jamais lancé. Toute tentative de passer null à la méthode Add entraînerait une erreur de compilation.

    Mais que se passe-t-il si vous vouliez autoriser des nombres nuls ? Dans ce cas, il vous suffirait d'ajouter un point d'interrogation après le nom du type :

    static int Ajouter (chaîne? nombres)

    Maintenant, les choses changent radicalement. Étant donné que les nombres peuvent maintenant être nuls, le compilateur vous poussera à vérifier la valeur de la variable, avec un avertissement (vous pouvez transformer l'avertissement en une erreur du compilateur, pour encore plus de sécurité) :

    Le compilateur me fait savoir que les "nombres" peuvent être nuls. Les solutions possibles incluent :

    • Utiliser une instruction if pour s'assurer que la variable a une référence valide
    • Utilisation de l'opérateur de fusion nulle déjà mentionné lors de l'appel de la méthode Split
    • Rendre la variable « nombres » à nouveau non nullable, en supprimant le point d'interrogation
    • Supprimez la règle nous donnant l'avertissement (ce qui irait à l'encontre de l'objectif, mais bon, c'est une option.)

    Gardez à l'esprit que cette fonctionnalité est opt-in. C'est-à-dire qu'il est désactivé par défaut et que vous devez l'activer dans la configuration de votre projet. La raison en est que l'envoi de la fonctionnalité déjà activée entraînerait des modifications importantes dans la plupart des bases de code.


    Référencer des champs dans le bloc de code du calculateur de champs dans ArcGIS for Desktop ? - Systèmes d'information géographique

    Générer le guide de l'utilisateur des formes GTFS

    Créé par Melinda Morang, Esri

    Copyright 2019 Esri
    Sous licence Apache, version 2.0 (la "Licence"), vous ne pouvez pas utiliser ce fichier sauf en conformité avec la Licence. Vous pouvez obtenir une copie de la licence sur http://www.apache.org/licenses/LICENSE-2.0. Sauf si requis par la loi applicable ou convenu par écrit, le logiciel distribué sous la licence est distribué sur une BASE « EN L'ÉTAT », SANS GARANTIE NI CONDITIONS D'AUCUNE SORTE, expresses ou implicites. Consultez la Licence pour connaître la langue spécifique régissant les autorisations et les limitations en vertu de la Licence.

    Le fichier facultatif GTFS shape.txt contient les chemins réels empruntés par les véhicules de transport en commun dans votre système. Un bon fichier shape.txt est important pour que les applications de routage basées sur GTFS affichent correctement les itinéraires de transport en commun sur la carte. En savoir plus sur le fichier shape.txt dans le document de référence GTFS.

    La boîte à outils Générer des formes GTFS produit un nouveau fichier shape.txt pour votre jeu de données GTFS ou vous permet d'en modifier un existant. La boîte à outils s'adresse principalement aux agences de transport en commun cherchant à améliorer leurs ensembles de données GTFS.

    Pour créer un tout nouveau fichier shape.txt à partir de zéro, vous donnez à l'outil un ensemble de données GTFS valide et existant, et l'outil crée un nouveau fichier shape.txt et met à jour le champ shape_id dans trips.txt et le champ shape_dist_traveled dans stop_times.txt . L'étape 1 de l'outil crée une classe d'entités avec de bonnes estimations pour les chemins sur rue utilisés dans votre système de transport en commun. Vous pouvez mettre à jour cette classe d'entités en utilisant vos propres connaissances afin de vous assurer que les chemins corrects sont réellement représentés. Ensuite, vous pouvez utiliser l'étape 2 de l'outil pour mettre à jour vos fichiers GTFS afin d'inclure ces informations de forme.

    Pour modifier une ou plusieurs formes existantes, vous donnez à l'outil un ensemble de données GTFS valide et existant avec un fichier formes.txt et choisissez la ou les formes que vous souhaitez modifier. Les formes choisies seront dessinées sur la carte, où vous pourrez les modifier. Ensuite, vous pouvez utiliser l'étape 2 de l'outil pour mettre à jour votre fichier shape.txt et les entrées de champ shape_dist_traveled pertinentes dans stop_times.txt.

    Les outils n'écraseront aucun fichier GTFS existant. You can choose the output location for the new files, and you can compare them with the old ones before manually replacing the old ones with the updated ones.

    • ArcGIS 10.3 or higher with a Desktop Basic (ArcView) license, or ArcGIS Pro 1.2 or higher. Results with the Network Analyst version of Step 1 will be best with ArcMap or with ArcGIS Pro 2.0 or higher.
    • If you want to generate on-street route shapes (as opposed to straight lines connecting stops), you will need either a Network Analyst extension and a network dataset or an ArcGIS Online account with routing privileges and sufficient credits for your analysis.
    • A valid GTFS dataset.
    • If you want to generate on-street route shapes (as opposed to straight lines connecting stops), you will need either a Network Analyst extension and a network dataset or an ArcGIS Online account with routing privileges and sufficient credits for your analysis.
    • Download the tool and save it anywhere on your computer.
    • Unzip the file you downloaded. The unzipped package contains a .tbx toolbox file, a folder of python scripts needed to run the toolbox, and a copy of this user's guide.
    • No installation is necessary. You can run the tools from ArcCatalog, ArcMap, or ArcGIS Pro. In any of those products, just navigate to the folder containing the .tbx file, and it should show up as a toolbox with tools you can run. You can also add the tool to ArcToolbox to make it easier to find later.
    • Warning: If you wish to move the toolbox to a different location on your computer, make sure you move the entire package (the .tbx file, the scripts folder, and the user's guide) together so that the toolbox does not become disconnected from the scripts.

    OR choose one or more existing shapes from your existing shapes.txt file to draw in the map using the Step 1: Update Existing Shapes tool.

      to your transit shape feature class using the editing tools in ArcMap or ArcGIS Pro.
  • Run the tool called Step 2: Generate new GTFS text files to generate a shapes.txt file and add the appropriate shape-related fields to your trips.txt and stop_times.txt files.
  • Review the output, and, if satisfied, replace your existing GTFS files with the new ones.
  • How to get the best results

    This tool has many options, and the behavior differs slightly depending on the version of ArcGIS you're using. Here is my recommendation for getting the best estimated routes, in order of preference.

    Use the ArcGIS Online version of Step 1 either in ArcMap 10.3 or higher or ArcGIS Pro. The ArcGIS Online routing service uses high-quality network data, and the tool configures the analysis settings optimally for this application.

    If you don't have access to the ArcGIS Online routing services, use ArcMap 10.3 or higher or ArcGIS Pro 2.0 or higher to run the Network Analyst version of Step 1. Make sure to use a high quality network dataset, such as Streetmap Premium, and choose good network restrictions and other settings.

    If you can't do either of the above, or you don't have a high quality network dataset, you might be better off using the Straight Line version of Step 1 and manually editing all the shapes to match the streets. The Network Analyst version will not work well if you have poor quality network data, and the results will be significantly worse if you're using an ArcMap version prior to 10.3 or an ArcGIS Pro version prior to 2.0 because new functionality that became available in those versions is used to improve the estimated results.

    Having good quality GTFS data is also important in obtaining good results. You should make sure your GTFS stops are in the correct locations. If you have used the above guidelines and still continue to have widespread problems, you should consider editing your GTFS stop locations to place them closer to the correct positions on the streets. The Edit GTFS Stop Locations tool can help you generate a corrected GTFS stops.txt file for your dataset.

    Note: the above recommendations apply primarily if you are trying to generate shapes for bus routes. The Straight Line version of Step 1 will be most valuable for estimating shapes for transit modes that do not use the streets, such as subways.

    En cours Step 1: Generate Shapes with Network Analyst

    Step 1: Generate Shapes with Network Analyst uses your GTFS schedule information and the Network Analyst Route solver to produce a feature class showing the most probable geographic paths taken by transit vehicles in your system.

    This step will take some time to run for large transit systems. Smaller transit systems should only take a few minutes.

    To run this tool, you must have a good network dataset of streets that covers the area served by your transit agency. If you do not have the Network Analyst extension and an adequate network dataset, you can generate shapes that follow the streets by using the Step 1: Generate Shapes with ArcGIS Online tool, or you can generate simple straight-line estimates for your route shapes with the Step 1: Generate Shapes with Straight Lines version of this tool.

    This tool will produce significantly better results in ArcMap version 10.3 or higher or ArcGIS Pro 2.0 or higher.

    • GTFS directory: The folder containing your (unzipped) GTFS .txt files.
    • Output directory: The folder where your output geodatabase will be written.
    • Name for output geodatabase: The name of your output geodatabase, which will be created when the tool runs. The geodatabase must not currently exist.
    • Generate shapes that follow the streets for these route types (optional): This tool creates a best guess for the geographic routes traveled by transit vehicles in your system. However, some modes of transit, like subways, do not travel on the street network since they have their own underground tracks. In this box, you should select which modes of transit should use the street network to generate shapes.
    • Generate shapes by connecting stops with straight lines for these route types (optional): For modes that don't travel along streets, you can choose to create shapes by drawing straight lines between connected transit stops.
    • Network dataset: An ArcGIS network dataset that covers the area served by your transit system. The network dataset does NOT need to contain transit information.
    • Impedance (cost) attribute: The network dataset cost attribute that will be used to compute the likely routes of transit vehicles through your system. In general, you should choose an attribute that makes sense for buses.
    • Which side of the road do your transit vehicles drive on?: This determines which side of the vehicle stops should fall on.
    • Where are U-turns at junctions allowed?: Choose U-turn settings that make sense for your transit system.
    • Network restrictions (optional): Choose any restrictions from your network dataset that make sense for your transit vehicles.
    • Bearing tolerance (degrees): Use this parameter to fine-tune the tool output. See the Fine-tuning results with the Bearing parameters section for more information. This option is currently unavailable in versions of ArcMap prior to 10.3 and versions of ArcGIS Pro prior to 2.0.
    • Maximum angle difference for bearing calculation (degrees): Use this parameter to fine-tune the tool output. See the Fine-tuning results with the Bearing parameters section for more information. This option is currently unavailable in versions of ArcMap prior to 10.3 and versions of ArcGIS Pro prior to 2.0.

    A file geodatabase with the name and location you specified will be created and will contain the following files:

    • Shapes: A lines feature class with your route shapes. You can edit these shapes before you use them to create a shapes.txt file.
    • Stops_wShapeIDs: A feature class of your GTFS stops, including the shape_id field so you can match them up with the shape they go to. In cases where the same GTFS stop gets visited by multiple shapes, the Stops_wShapeIDs feature class will contain multiple copies of that stop, one for each shape it is associated with.
    • SQLDbase.sql: A SQL database of your GTFS data. You shouldn't need to look at this for anything, but don't delete it because it is necessary for running Step 2.

    En cours Step 1: Generate Shapes with ArcGIS Online

    Step 1: Generate Shapes with ArcGIS Online uses your GTFS schedule information and the ArcGIS Online route service to produce a feature class showing the most probable geographic paths taken by transit vehicles in your system.

    This version of Step 1 requires ArcGIS 10.3 or higher or ArcGIS Pro.

    ArcGIS Online's route service is available for most parts of the world. If you are uncertain whether the route service covers the geographic location served by your transit system, check the ArcGIS Online Network Dataset Coverage map.

    To use this tool, you must be signed in to an ArcGIS Online account with routing privileges and sufficient credits. Talk to your organization's ArcGIS Online administrator if you need help checking or setting up your account. This tool will generate one ArcGIS Online route per shape in your GTFS data. So, if your transit system has 100 unique shapes, the tool will solve 100 routes using ArcGIS Online. As of this writing, "Simple Routes" cost 0.005 credits each, so the total number of credits incurred by the tool would be 0.5. Please refer to the ArcGIS Online Service Credits Overview page for more detailed and up-to-date information. The number of shapes to be generated will be at minimum equal to the number of unique route_id values in your routes.txt file. Most datasets have more shapes than routes because routes can include trips with different sequences of stops.

    Note: If your transit lines have a large number of stops, it may not be possible to generate an on-street route shape using ArcGIS Online because the ArcGIS Online route service limits the total number of stops allowed per route (150 as of this writing - check the route service documentation for the latest information). Shapes that exceed the stop limit will be estimated by connecting the stops with straight lines, and the tool will show a warning telling you which shape_id values have encountered this problem.

    This tool will take some time to run for large transit systems. Smaller transit systems should only take a few minutes.

    Note: If you don't or can't use ArcGIS Online, you can instead generate shapes that follow the streets by using the Step 1: Generate Shapes with Network Analyst tool, or you can generate simple straight-line estimates for your route shapes with the Step 1: Generate Shapes with Straight Lines version of this tool.

    • GTFS directory: The folder containing your (unzipped) GTFS .txt files.
    • Output directory: The folder where your output geodatabase will be written.
    • Name for output geodatabase: The name of your output geodatabase, which will be created when the tool runs. The geodatabase must not currently exist.
    • Generate shapes that follow the streets for these route types (optional): This tool creates a best guess for the geographic routes traveled by transit vehicles in your system. However, some modes of transit, like subways, do not travel on the street network since they have their own underground tracks. In this box, you should select which modes of transit should use the street network to generate shapes.
    • Generate shapes by connecting stops with straight lines for these route types (optional): For modes that don't travel along streets, you can choose to create shapes by drawing straight lines between connected transit stops.
    • Which side of the road do your transit vehicles drive on?: This determines which side of the vehicle stops should fall on.
    • Bearing tolerance (degrees): Use this parameter to fine-tune the tool output. See the Fine-tuning results with the Bearing parameters section for more information.
    • Maximum angle difference for bearing calculation (degrees): Use this parameter to fine-tune the tool output. See the Fine-tuning results with the Bearing parameters section for more information.

    A file geodatabase with the name and location you specified will be created and will contain the following files:

    • Shapes: A lines feature class with your route shapes. You can edit these shapes before you use them to create a shapes.txt file.
    • Stops_wShapeIDs: A feature class of your GTFS stops, including the shape_id field so you can match them up with the shape they go to. In cases where the same GTFS stop gets visited by multiple shapes, the Stops_wShapeIDs feature class will contain multiple copies of that stop, one for each shape it is associated with.
    • SQLDbase.sql: A SQL database of your GTFS data. You shouldn't need to look at this for anything, but don't delete it because it is necessary for running Step 2.

    En cours Step 1: Generate Shapes with Straight Lines

    This version of Step 1 does not use a street network to estimate your route shapes. It generates shapes by drawing a straight line between connected stops instead of tracing the pattern of the streets. You should only use this version of Step 1 if you do not have the Network Analyst extension or the ability to use ArcGIS Online, or wish to simply generate straight-line estimates for your route shapes.

    • GTFS directory: The folder containing your (unzipped) GTFS .txt files. The tool uses the .txt files directly, so you need not turn them into shapefiles or process them in any way.
    • Output directory: The folder where your output geodatabase will be written.
    • Name for output geodatabase: The name of your output geodatabase, which will be created when the tool runs. The geodatabase must not currently exist.
    • Generate shapes by connecting stops with straight lines for these route types: Straight-line shapes will be created for these modes.

    A file geodatabase with the name and location you specified will be created and will contain the following files:

    • Shapes: A lines feature class with your route shapes. You can edit these shapes before you use them to create a shapes.txt file.
    • Stops_wShapeIDs: A feature class of your GTFS stops, including the shape_id field so you can match them up with the shape they go to. In cases where the same GTFS stop gets visited by multiple shapes, the Stops_wShapeIDs feature class will contain multiple copies of that stop, one for each shape it is associated with.
    • SQLDbase.sql: A SQL database of your GTFS data. You shouldn't need to look at this for anything, but don't delete it because it is necessary for running Step 2.

    En cours Step 1: Update Existing Shapes

    Run this version of Step 1 if your GTFS dataset already has a shapes.txt file and you just want to update one or more of the existing shapes. With this tool, you can select which shapes you want to update, and it will create a feature class with these shapes as they currently appear in your shapes.txt file.

    • GTFS directory: The folder containing your GTFS .txt files. Your GTFS directory must contain a valid shapes.txt file to run this version of Step 1.
    • Output directory: The folder where your output geodatabase will be written.
    • Name for output geodatabase: The name of your output geodatabase, which will be created when the tool runs. The geodatabase must not currently exist.
    • Shapes to update: This parameter will be populated with a list of shape_id values present in your shapes.txt file after you select a GTFS directory. You can choose which shapes you want to update. If you are unsure of which shapes you want to update, try running the Display GTFS Route Shapes tool first to see all your existing shapes in the map.

    A file geodatabase with the name and location you specified will be created and will contain the following files:

    • Shapes: A lines feature class with your selected shapes, derived from your shapes.txt file. You can edit these shapes before you use them to create an updated version of your shapes.txt file.
    • Stops_wShapeIDs: A feature class of your GTFS stops, including the shape_id field so you can match them up with the shape they go to. In cases where the same GTFS stop gets visited by multiple shapes, the Stops_wShapeIDs feature class will contain multiple copies of that stop, one for each shape it is associated with. This is meant for reference only.
    • SQLDbase.sql: A SQL database of your GTFS data. You shouldn't need to look at this for anything, but don't delete it because it is necessary for running Step 2.

    Before using Step 2 to generate your shapes.txt file, you should examine your shapes in the map and make any necessary edits. You can use the ArcMap or ArcGIS Pro editing tools to edit your shapes. Your workflow will be something like this:

    • Start an editing session
    • Add basemaps and/or your network dataset street data to your map so you can see the shapes and stops in context.
    • Look at each shape individually to verify that it is correct.
    • Use the editing tools, such as the Reshape Feature Tool and the Edit Vertices Tool, to correct any problems.
    • Save your edits
    • Stop the editing session

    For detailed information on editing in ArcGIS, read about editing in the ArcMap Help or the ArcGIS Pro Help.

    To view and edit one shape at a time, apply a Definition Query to the Shapes layer based on the shape_id field. for example, use "shape_id = '2'" to display only the shape for shape_id 2. All others will be hidden. You can do the same thing with the Stops_wShapeIDs feature class to see only the stops associated with that shape. Learn how to apply a Definition Query in the ArcMap Help or ArcGIS Pro Help.

    If you want to visualize the estimated Bearing calculated for each stop, you can choose an arrow for the Stops_wShapeIDs layer symbology and apply a rotation to this symbol based on the Bearing field in the data. Learn how to apply a rotation to a point symbol in the ArcMap Help or ArcGIS Pro Help.

    Common Shape problems and how to fix them

    The route makes small diversions into side streets

    The stop is actually along the main road, but the stop latitute and longitude is actually slightly closer to a side road. Consequently, the stop snapped to the side road, and the bus had to turn into the side road to visit the stop and then make a U-turn or drive around the block to return to the main road. You can edit these out easily using the Reshape Features Tool.

    If this is a widespread problem in your data, see the How to get the best results section, and consider tweaking the Bearing parameters.

    The route doubles back on itself

    Although the stop should be on the right side of the road, the GTFS stop lat/lon location or the network dataset street location is slightly off, putting the stop on the wrong (left) side of the road. This means that the bus had to make a U-turn to reach the stop, so the shape doubled back on itself. Alternatively, the bus might have had to travel around the block in a big loop to turn around and visit the stop.

    These situations are sometimes hard to identify because you can't see the areas where the shape line overlaps itself (see picture). You might not realize you have these problems until you get errors about misordered vertices when running Step 2 of the tool. You can use the vertex editing tool to see the vertices or the Feature Vertices to Points geoprocessing tool to save them to a feature class to follow the shape vertices in the correct order in order to detect problems like this.

    Once you identify the problems, it's fairly easy to use the Reshape Features Tool to edit them out. If this is a widespread problem in your data, see the How to get the best results section.

    Sometimes, the bus legitimately travels the same road in both directions. When the lines overlap exactly, it causes problems in Step 2 of the tool. The best way to handle this situation is to use the Edit Vertices Tool to slightly separate the lines going in either direction so that they no longer overlap.

    The route diverts wildly from the expected path

    Sometimes the route will take a completely different path than expected. If you're using the Network Analyst version of Step 1, it could be that your network dataset isn't well connected or the street data isn't good in this area.

    More likely, however, one or more of your stops near the diversion did not snap to the correct street edge. The route thought the stop was located on some other street, so it made a large diversion to reach it. The most likely cause is an incorrect Bearing estimate for one or more stops. If this is a widespread problem in your data, consider tweaking the Bearing parameters.

    The figure below shows an example. In this instance, the second stop (circled) has an incorrect bearing estimate because the route turns a corner. It has located on the highway ramp because this is the closest street feature that has an angle similar to the stop's estimated bearing. In order to reach this ramp, the route has to divert wildly.

    To correct this problem, the tool was run with a smaller value for the 'Maximum angle difference for bearing calculation (degrees)' parameter. Because the angles between the first and second stop and the second and third sotp were greater than the maximum allowed angle for bearing estimation, a bearing was not used when locating the second stop. Instead, it located on the closest street. You can see this in the second image below. The resulting route is still not "correct", but it is more easily corrected than the first estimate.

    Fine-tuning results with the Bearing parameters

    The ArcGIS Online or Network Analyst versions of Step 1 contain two parameters, Bearing tolerance (degrees) et Maximum angle difference for bearing calculation (degrees), that can be used to fine-tune the estimated shapes.

    When you run a network analysis in ArcGIS, such as solving a Route, your input points must "locate" on the network. Each stop your route will visit has a latitute and longitude, but since this location will rarely coincide exactly with the streets in the network, the closest appropriate point on the network will be considered the stop's network location. The Network Analyst documentation explains this concept in more detail.

    Normally, your transit stops would locate on the closest non-restricted street feature in your network, and the Network Analyst Route solver will find an optimal route visiting those locations. However, sometimes the GTFS stop locations fall closer to a side street than to the main road where your transit route actually travels, so the Route solver incorrectly locates these stops on the side street and then creates transit shapes that enter side streets and make U-turns or travel around blocks.

    Fortunately, if you know the approximate direction of travel at each transit stop, Network Analyst can use this information to make a better guess about which network edge the stop should locate on. The ArcGIS Online or Network Analyst versions of Step 1 will calculate an estimated bearing for each transit stop based on the angle between the stop and the previous and next stops, and the estimated bearing will be used when locating the stop on the network. The resulting shapes are usually much better with this method with fewer small diversions into side streets.

    Although the tool defaults for Bearing tolerance (degrees) et Maximum angle difference for bearing calculation (degrees) are reasonable, you can adjust these parameters to attempt to achieve better results.

    Bearing tolerance (degrees) refers to the maximum allowed angle between the stop's estimated direction of travel and the angle of the network edge the stop could locate on. If the angles differ more than the Bearing tolerance, then Network Analyst assumes that this is not the correct network edge to locate the stop on, and it will continue searching other nearby network edges for a more appropriate one. Bearing tolerance is explained thoroughly in the Network Analyst documentation.

    In the diagram below, the blue triangle represents the angular area that falls within the specified Bearing tolerance from the road. If the calculated Bearing at the stop falls within this triangle (such as the green arrow on the left), then the stop will locate on this street. If, on the other hand, the calculated Bearing angle is greater than this tolerance (like the red arrow on the right), then the stop will not locate on this street because the angle does not match the stop's Bearing adequately, and Network Analyst will continue searching other nearby streets until one is found whose angle matches the stop's bearing more closely.

    A smaller Bearing tolerance angle means that the stop's Bearing must match more closely with the angle of the street, so stops are less likely to be located incorrectly on side streets. However, they may also be less likely to locate on the correct nearby street, so you may see a larger number of stops located incorrectly on streets much further away because Network Analyst had to search very far away in order to find a street with a matching angle.

    A larger Bearing tolerance makes it more likely that stops will incorrectly locate on side streets instead of the correct main road.

    le Maximum angle difference for bearing calculation (degrees) parameter is another way to fine-tune tool output. The Bearing for each stop is estimated by averaging the angles between that stop and the previous stop and next stop along the route. When the route follows a relatively straight road, this angle is a good representation of the bearing. However, if the route goes around a corner, makes a U-turn, follows a very twisty road, or diverts into a parking lot or side road, then the average angle is not a good estimate of actual bearing, and using this estimate can cause the stop to locate far away from where it should and worsen the quality of the tool output. Consequently, the tool is configured to NOT use a bearing estimate if the difference in angle from the previous stop and to the next stop is greater than the number specified in this parameter. In this situation, the stop will revert to the normal locating behavior and will snap to the closest non-restricted network edge.

    In the diagram below, the angle difference is represented by the angle A. When A is larger, the estimated Bearing at the current stop is less likely to be accurate. le Maximum angle difference for bearing calculation (degrees) parameter set a maximum value for A after which the Bearing estimate will no longer be used.

    A greater value for this parameter is more restrictive. Stops must be in a straighter line in order for the bearing estimate to be used. This will reduce large, unexpected route diversions due to incorrect Bearing estimates, but it may increase the number of stops that are incorrectly located on side streets.

    En cours Step 2: Generate new GTFS text files

    Step 2: Generate new GTFS text files creates or updates a shapes.txt file based on the feature classes you created in Step 1 and edited. It also creates or updates the shape_id field trips.txt and the shape_dist_travled field in stop_times.txt. This tool does not overwrite any of your existing GTFS data. You can review the new files before deleting the originals.

    This tool will run very quickly for small GTFS datasets or if you are only updating a few shapes, but it may take significantly longer for larger datasets and many shapes.

    • Geodatabase created in Step 1: The file geodatabase that was created when you ran Step 1 of this tool. It must contain the Shapes feature class as well as Stops_wShapeIDs and SQLDbase.sql.
    • Directory for output GTFS text files: Designate an output directory where the new GTFS files will be written.
    • Units for shape_dist_traveled: Select the unit of measurement to use for the shape_dist_traveled fields in shapes.txt and stop_times.txt. The values in the shape_dist_traveled field describe the distance along the shape the stop (for stop_times.txt) or the shape vertex (for shapes.txt) is located and is used for rendering partial shapes in the map in trip planning applications. The GTFS specification does not specify the units to be used. You can select a real unit of your choice. Valid values are: meters, kilometers, miles, feet, yards.
    • Update existing shapes: Check this checkbox if you want to update an existing shapes.txt file (typically if you're just modifying a few shapes and not the whole dataset) instead of creating a new shapes.txt file from scratch. Note that even if you check on this checkbox, your original shapes.txt file will not be overwritten. You will have a chance to review the results first. This option will be disabled if your Step 1 geodatabase does not have the necessary contents for shape updates (you did not create it using the correct Step 1: Update Existing Shapes tool).

    shapes_new.txt: The GTFS shapes.txt file generated from your Shapes feature class.

    trips_new.txt: A copy of your original trips.txt file with the shape_id field added or modified to match the new shapes.txt file. Note: If you are updating existing shapes, this file will not be produced because no changes will have been made.

    stop_times_new.txt: A copy of your original stop_times.txt file with the shape_dist_traveled field added or modified to match the new shapes.txt file.

    After reviewing your new GTFS files, remove the "_new" suffix from the filenames and replace the originals.


    The OpenTopography Tool Registry provides a community populated clearinghouse of software, utilities, and tools oriented towards high-resolution topography data (e.g. collected with lidar technology) handling, processing, and analysis. Tools registered below range from source code to full-featured software applications. We welcome contributions to the registry via the Contribute a Tool page.

    Description: Landlab is a Python-based modeling environment that allows scientists and students to build numerical landscape models. Landlab was designed for disciplines that quantify earth surface dynamics such as geomorphology, hydrology, glaciology, and stratigraphy, but can also be used in related fields.

    Landlab provides components to compute flows (such as water, sediment, glacial ice, volcanic material, or landslide debris) across a gridded terrain. With its robust, reusable components, Landlab allows scientists to quickly build landscape model experiments and compute mass balance across scales.

    Description: The FUSION/LDV analysis and visualization system consists of two main programs, FUSION and LDV (LIDAR data viewer), and a collection of task-specific command line programs. The primary interface, provided by FUSION, consists of a graphical display window and a control window. The FUSION display presents all project data using a 2D display typical of geographic information systems. It supports a variety of data types and formats including shapefiles, images, digital terrain models, canopy surface models, and LIDAR return data. LDV provides the 3D visualization environment for the examination and measurement of spatially-explicit data subsets. Command line programs provide specific analysis and data processing capabilities designed to make FUSION suitable for processing large LIDAR acquisitions.

    Command line utilities and processing programs, called the FUSION LIDAR Toolkit or FUSION-LTK, provide extensive processing capabilities including bare-earth point filtering, surface fitting, data conversion, and quality assessment for large LIDAR acquisitions. These programs are designed to run from a command prompt or using batch programs.

    FUSION runs on all current versions of Windows and has been successfully used on LINUX systems using WINE. The FUSION/LDV visualization system is GUI based. The command line tools require the use of batch files to be most effective.

    Description: Civil Maps allows users to upload their survey data, then specify the assets of interest and mapping specification. Upon upload, Civil Maps indexes all of the spatial information as defined in the mapping specification into a query-able format. The maps can then be dynamically generated on demand and exported to various tools such as AutoDesk Map3D from Civil Maps, which is useful for integrating into the customer s workflow. The biggest pain point in the industry is the time to annotate 3D scans. Currently, processing huge 3D survey datasets is limited by the point and click annotation speed of the user and the limited resources of the user s computer (I/O, CPU, Network, Memory).

    By circumventing these bottlenecks, Civil Maps is introducing a paradigm shift in the workflow of annotating 3D survey data. Advancements in parallel computing and deep learning allows Civil Maps to reduce 2 years of manual annotation work down to 2 days of processing using our cloud infrastructure

    Description: LP360 for ArcGIS is an extension to ArcMap that allows visualizing and processing of very large point clouds (LIDAR and dense image matching) in a familiar GIS desktop environment. Available in three levels of capability, LP360 provides tools from rapid visualization and derived product generation through advanced features such as automatic ground classification and building footprint extraction.

    LP360 adds to the native viewing capabilities of ArcGIS 10.1 by providing the capability to work with very large projects such as county-wide aerial LIDAR data sets. From Quality Check to advanced feature extractions, LP360 is the tool of choice for LIDAR professionals throughout the world.

    Description: ArcGIS (version 10.1) geoprocessing script tools for removing pits (or sinks) from Digital Elevation Models using a combination of cut and fill. This alternative to the standard Fill tool provides more realistic flow paths with less required manual adjustment. Ideal for high-resolution datasets such as LiDAR.

    The tool also allows users to mark specific depressions to be left unmodified by setting the lowest cell to have a value of No Data. This feature can be used to establish reservoirs as well as known drainage features such as storm sewer inlets.

    Also contains a C++ executable that can be run via command line inputs independent of ArcGIS, and which operates on ASCII grid files.

    Description: FME empowers users at leading organizations worldwide to transform spatial data so that they can use and share it wherever, whenever, and however its needed. FMEs unmatched capabilities and support for 250+ spatial and non-spatial formats enable you to quickly overcome any challenge related to the use and sharing of spatial data, so you can focus your energies on your objectives, instead.

    Specifically, FME supports LiDAR data formats, enabling you to leverage the wealth of information in your LiDAR assets by enabling you to quickly prepare your LiDAR data to suit your specific needs.

    Safe Software, the maker of FME, is the pioneering global leader in the spatial data transformation technology market.

    Description: The Point Cloud Library (or PCL) is a large scale, open project for point cloud processing.

    The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation.

    PCL is released under the terms of the BSD license and is open source software. It is free for commercial and research use. The project is financially supported by multiple companies, including: Willow Garage, NVidia, Google, and Toyota

    Description: DielmoOpenLiDAR is an open source software with GNU GPL license based in gvSIG for the management of LiDAR data. It allows access, visualization and analysis of the original LiDAR data, toguether with the possibility of visualizing at the same time big volumes (hundreds of GigaBytes) of original LiDAR data (irregular points in formats LAS and BIN) along with other geographic data. In the near future, it will also generate basic final products such as (DSM, DTM, intensity images, etc) and new added value final products.

    Developing open source software for the management of LiDAR data, we hope to make this technology more accessible to standard GIS users and scientific communities, having as final objective increase the use of LiDAR data.

    For developing this application, we had the collaboration of the Regional Valencia Council for Infrastructures and Transportation - CIT and National Geographic Institute of Spain - IGN

    Description: GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style Open Source license by the Open Source Geospatial Foundation. En tant que bibliothèque, il présente un seul modèle de données abstrait à l'application appelante pour tous les formats pris en charge. It also comes with a variety of useful commandline utilities for data translation and processing.

    GDAL is a powerful tool for converting digital elevation model (DEM) formats, performing coordinate system conversions, and the gdaldem utility provides basic processing functionality such as generation of hillshades and slope maps.

    Description: GRASS is free Geographic Information System (GIS) software used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization. GRASS is currently used in academic and commercial settings around the world, as well as by many governmental agencies and environmental consulting companies. GRASS is an official project of the Open Source Geospatial Foundation.