ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Ajouter des localisations

  • Résumé
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Résumé

Ajoute des objets d'analyse de réseau à la couche d’analyse de réseau. Les objets sont ajoutés aux sous-couche spécifiques telles que Arrêts et Interruptions. Les objets sont entrés en tant qu'entités ou enregistrements.

Utilisation

  • Cet outil peut être exécuté à plusieurs reprises pour ajouter des objets d'analyse de réseau à la même sous-couche. Par exemple, si les arrêts d'une couche d'itinéraire proviennent de deux classes d'entités, l'outil peut être appelé deux fois, grâce à l'option APPEND.

  • Si vous souhaitez supprimer les objets d'analyse de réseau existants avant d'en charger de nouveaux, utilisez l'option Supprimer.

  • Cet outil s'exécute beaucoup plus rapidement si les classes d'entités utilisées en tant que sources de données du réseau dans le jeu de données réseau ont un index spatial valide et à jour.

  • Lors de l'ajout de points mobiles, tels que des coordonnées GPS capturées à partir d'un récepteur monté sur un véhicule, utilisez les valeurs de relèvement et une tolérance de relèvement pour localiser plus précisément les points sur le réseau.

Syntaxe

AddLocations_na (in_network_analysis_layer, sub_layer, in_table, field_mappings, search_tolerance, {sort_field}, {search_criteria}, {match_type}, {append}, {snap_to_position_along_network}, {snap_offset}, {exclude_restricted_elements}, {search_query})
ParamètreExplicationType de données
in_network_analysis_layer

Couche d'analyse de réseau à laquelle les objets d'analyse de réseau seront ajoutés.

Network Analyst Layer
sub_layer

Sous-couche de la couche d'analyse de réseau auquel les objets d'analyse de réseau seront ajoutés.

String
in_table

Classe d'entités ou table source des nouveaux objets d'analyse de réseau.

Table View
field_mappings

Définit les valeurs des propriétés des objets d'analyse du réseau. Les propriétés peuvent être définies sur une constante ou mappées à un champ de la table ou de la classe d'entités en entrée.

Un objet NAClassFieldMappings obtenu auprès de la classe NAClassFieldMappings permet de spécifier la valeur de paramètre. L'objet NAClassFieldMappings est une collection d'objets NAClassFieldMap qui vous permet de spécifier les valeurs par défaut ou d'apparier un nom de champ issu des entités en entrée pour les propriétés de l'objet d'analyse du réseau. Si les données que vous chargez contiennent des localisations de réseau ou des plages de localisation basées sur le jeu de données réseau utilisé pour l'analyse, mappez les champs de localisation du réseau de vos entités en entrée aux propriétés de localisation de réseau. La spécification des champs de localisation du réseau dans les mappages de champs est similaire à l'utilisation du paramètre Utiliser les champs de localisation du réseau au lieu de la géométrie à partir de la boîte de dialogue de l'outil.

Attention :

Si vous spécifiez le mappage de champs pour l'une des propriétés de localisation de réseau, vous devez spécifier les mappages de champs pour les propriétés de localisation de réseau restantes afin d'éviter une erreur d'exécution d'un outil.

Network Analyst Class FieldMap
search_tolerance

Tolérance de recherche utilisée pour la localisation des entités en entrée appartenant au réseau. Les entités qui se trouvent hors de la tolérance de recherche ne sont pas localisées. Le paramètre comprend une valeur et des unités de tolérance.

Ce paramètre n'est pas utilisé lors de l'ajout de localisations dans les sous-couches Barrières linéaires ou Barrières polygonales. Dans ces cas, utilisez "#" comme valeur de paramètre.

Linear unit
sort_field
(Facultatif)

Champ dans lequel les objets d'analyse du réseau sont triés lorsqu'ils sont ajoutés à la couche d'analyse de réseau. La valeur par défaut est le champ IdObjet dans la table ou classe d'entités en entrée.

Field
search_criteria
[[Source, SnapType],...]
(Facultatif)

Permet d'indiquer les sources du jeu de données réseau qui feront partie de la recherche de localisations et de préciser quelles parties de la géométrie (types de capture) seront utilisées.

La valeur de paramètre est spécifiée sous forme de liste avec des listes imbriquées. La liste imbriquée se compose de deux valeurs indiquant le nom et le type de capture de chaque source de données du réseau. Le type de capture est spécifié à l'aide du mot-clé SHAPE, MIDDLE, END ou NONE.

  • SHAPE : le point se trouve sur le point le plus proche d'un élément dans cette source de données du réseau.
  • MIDDLE : le point se trouve sur le point central le plus proche d'un élément dans cette source de données du réseau.
  • END : le point se trouve sur l'extrémité la plus proche d'un élément dans cette source de données du réseau.
  • NONE : le point ne se trouve sur aucun élément dans cette source de données du réseau.
Par exemple, lors de la recherche de localisations, la valeur de paramètre [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] spécifie que la recherche peut porter sur la forme de la source Streets, mais non sur la source Streets_ND_Junctions.

Pour spécifier plusieurs types de capture pour une seule source de données du réseau, utilisez la combinaison des mots-clés de type de capture séparée par un trait de soulignement. Par exemple, MIDDLE_END indique que les localisations peuvent être capturées au milieu ou à la fin de la source de données du réseau.

Lorsque vous ajoutez des localisations réseau de type ligne ou polygone, seul le type de capture SHAPE est utilisé même si d'autres types de capture sont spécifiés.

Les sources de données du réseau qui ne sont pas incluses dans cette liste utiliseront ce type de capture par défaut. Il est plus sûr d'inclure toutes les sources de données du réseau dans votre liste et de définir explicitement le type de capture de chacune.

Value Table
match_type
(Facultatif)
  • MATCH_TO_CLOSEST —Apparie les nouvelles localisations réseau à la source de données du réseau la plus proche parmi toutes les sources de données ayant un type de capture spécifié dans les critères de recherche. Il s’agit de l’option par défaut.
  • PRIORITY —Apparie les nouvelles localisations réseau à la première source de données du réseau ayant un type de capture spécifié dans les critères de recherche. La recherche est réalisée dans les sources de données selon l’ordre de priorité et s'arrête lorsque la localisation est trouvée au sein de la tolérance de recherche.

Ce paramètre n'est pas utilisé lors de l'ajout de localisations dans les sous-couches Barrières linéaires ou Barrières polygonales. Dans ces cas, utilisez "#" comme valeur de paramètre.

Boolean
append
(Facultatif)

Indique si de nouveaux objets d'analyse du réseau doivent ou non être ajoutés aux objets existants.

  • APPEND —Ajoute les nouveaux objets d'analyse de réseau au jeu d'objets existant dans la sous-couche sélectionnée.
  • CLEAR —Supprime les objets d'analyse de réseau existants et les remplace par les nouveaux objets.
Boolean
snap_to_position_along_network
(Facultatif)

Permet de préciser que vous voulez capturer les localisations réseau le long du jeu de données réseau ou à un décalage spécifié du jeu de données réseau.

  • NO_SNAP — Les géométries des localisations de réseau sont fonction des géométries des entités en entrée. Cette option est utile si vous voulez utiliser l'approche du trottoir, qui nécessite que les localisations du réseau sachent de quel côté du tronçon elles se trouvent.
  • SNAP — Si vous avez des entités ponctuelles, le point sera capturé au réseau et vous ne pourrez pas utiliser l'approche du trottoir. Cette option est utile si la façon dont un véhicule approche un arrêt n'a pas d'importance. Si vos entités en entrée sont des lignes ou des polygones, utilisez cette valeur de paramètre.

Ce paramètre n'est pas utilisé lors de l'ajout de localisations dans les sous-couches Barrières linéaires ou Barrières polygonales. Dans ces cas, utilisez "#" comme valeur de paramètre.

Boolean
snap_offset
(Facultatif)

Lors de la capture d'un point sur le réseau, vous avez la possibilité d'appliquer une valeur de décalage. Une distance de décalage de zéro indique que le point sera coïncident avec l'entité de réseau (généralement une ligne). Pour décaler le point à partir de l'entité de réseau, entrez une valeur de décalage. Le décalage est relatif à l'emplacement du point d'origine ; autrement dit, si le point d'origine se trouvait du côté gauche, son nouvel emplacement sera décalé vers la gauche. De même, s'il se trouvait du côté droit, il sera décalé vers la droite.

Ce paramètre n'est pas utilisé lors de l'ajout de localisations dans les sous-couches Barrières linéaires ou Barrières polygonales. Dans ces cas, utilisez "#" comme valeur de paramètre.

Linear unit
exclude_restricted_elements
(Facultatif)
  • EXCLUDE —Précise que les localisations de réseau sont placées uniquement sur les parties traversables du réseau. Ainsi, vous ne risquez pas de placer des localisations de réseau sur des éléments impossibles à atteindre du fait de restrictions ou d'interruptions. Avant d'ajouter vos localisations de réseau à l'aide de cette option, assurez-vous que vous avez déjà ajouté toutes les interruptions de restriction à la couche d'analyse de réseau en entrée pour obtenir les résultats escomptés. Ce paramètre n'est pas applicable lors de l'ajout d'objets interruption. Dans ces cas, utilisez "#" comme valeur de paramètre.
  • INCLUDE —Indique que les localisations de réseau sont placées sur tous les éléments du réseau. Les localisations de réseau ajoutées avec cette option peuvent être inaccessibles pendant le processus de calcul si elles sont placées sur des éléments restreints.
Boolean
search_query
[[Source, Expression],...]
(Facultatif)

Spécifie une requête visant à restreindre la recherche à un sous-ensemble d'entités dans une classe d'entités source. Ceci s'avère utile si vous ne voulez pas trouver d'entités ne convenant pas à une localisation de réseau. Par exemple, si vous chargez des centroïdes de polygones et ne souhaitez pas localiser sur les routes secondaires, vous pouvez définir une requête qui recherche des routes principales uniquement.

La valeur de paramètre est spécifiée sous forme de liste avec des listes imbriquées. La liste imbriquée se compose de deux valeurs indiquant le nom et l'expression SQL de toutes les sources de données du réseau. La syntaxe de l'expression SQL diffère légèrement en fonction du type de la classe d'entités de la source de données du réseau. Par exemple, lorsque vous interrogez des classes d'entités source stockées dans des géodatabases fichier ou d'entreprise, des fichiers de formes ou des outils SDC, placez le nom des champs entre guillemets doubles : "CFCC". Si vous interrogez des classes d'entités source stockées dans des géodatabases personnelles, placez les champs entre crochets : [CFCC].

Si vous ne souhaitez pas spécifier de requête pour une source en particulier, utilisez "#" comme valeur pour l'expression SQL ou excluez le nom de la source et l'expression SQL de la valeur de paramètre. Si vous ne souhaitez pas spécifier de requête pour aucune des sources de données du réseau, utilisez "#" comme valeur de paramètre.

Par exemple, la valeur de paramètre [["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] spécifie une expression SQL pour la classe d'entités source Streets et aucune expression pour la classe d'entité source Streets_ND_Junctions. Notez que les guillemets doubles qui entourent le nom de champ CFCC sont accompagnés du caractère d’échappement (barre oblique inverse) afin d’éviter toute erreur d’analyse de la part de l’interpréteur Python.

Value Table

Exemple de code

Exemple 1 d'utilisation de l'outil Ajouter des localisations (fenêtre Python)

Exécute l'outil uniquement avec les paramètres requis.

hospitals = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals"
arcpy.na.AddLocations("Route", "Stops", hospitals, "", "")
Exemple 2 d'utilisation de l'outil Ajouter des localisations (fenêtre Python)

Exécutez l'outil avec tous les paramètres.

hospitals = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals"
arcpy.na.AddLocations("Route", "Stops", hospitals,
                      "Name Name #;Attr_Minutes VisitTime 0;CurbApproach # 0",
                      "2 Miles", "FID",
                      [["Streets", "SHAPE"], ["Streets_ND_Junctions", "NONE"]],
                      "MATCH_TO_CLOSEST", "CLEAR", "SNAP", "10 Feet", "EXCLUDE",
                      [["Streets", '"FREEWAY" = 0'],
                      ["Streets_ND_Junctions", ""]])
Exemple 3 d'utilisation de l'outil Ajouter des localisations (workflow)

Le script Python autonome suivant illustre comment utiliser l'outil AddLocations pour charger les origines et les destinations dans la couche de matrice de coût OD.

# Name: AddLocations_Workflow.py
# Description: The scenario shows how to calculate a travel time matrix between 
#              store features. Use the Add Locations tool to load origins and 
#              destinations into an OD Cost Matrix layer. Since the origins and 
#              destinations are the same in this case, the origins are first loaded 
#              from the store features using their geometry and the destinations
#              are loaded from the origins using network location fields to 
#              speed up the load times. 
# Requirements: Network Analyst Extension 

#Import system modules
import arcpy
from arcpy import env

try:
    #Check out the Network Analyst extension license
    arcpy.CheckOutExtension("Network")

    #Set environment settings
    env.workspace = "C:/data/SanFrancisco.gdb"
    env.overwriteOutput = True
    
    #Set local variables
    inNetworkDataset = "Transportation/Streets_ND"
    outNALayerName = "StoreTravelTimeMatrix"
    impedanceAttribute = "TravelTime"
    inFeatures = "Analysis/Stores"
    searchTolerance = "500 Meters"
    searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]]
    odOrigins = "Origins"
    outLayerFile = "C:/data/output" + "/" + outNALayerName + ".lyr"
    
    #Create a new OD cost matrix analysis layer. For this scenario, the default 
    #value for all the remaining parameters statisfies the analysis requirements
    outNALayer = arcpy.na.MakeODCostMatrixLayer(inNetworkDataset, outNALayerName,
                                   impedanceAttribute)
    
    #Get the layer object from the result object. The OD cost matrix layer can 
    #now be referenced using the layer object.
    outNALayer = outNALayer.getOutput(0)
    
    #Get the names of all the sublayers within the OD cost matrix layer.
    subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
    #Stores the layer names that we will use later
    originsLayerName = subLayerNames[odOrigins]
    destinationsLayerName = subLayerNames["Destinations"]
    
    #Get the origin layer object from within the OD cost matrix layer
    #The first layer returned by ListLayers is the OD cost matrix layer itself
    #which we don't want to use.
    for layer in arcpy.mapping.ListLayers(outNALayer)[1:]:
        if layer.datasetName == odOrigins:
            originsLayer = layer
            break
    else:
        raise Exception("Failed to get the origins layer object.")
    
    #Load store features as origins using the geometry of store features.
    #Ensure that the stores are not located on freeways by using a search query.
    #The OD cost matrix layer created previously is referred using its name. 
    arcpy.na.AddLocations(outNALayer,originsLayerName,inFeatures,"",
                          searchTolerance, exclude_restricted_elements = "EXCLUDE",
                          search_query = searchQuery)
    
    #Load origins as destinations using the network locations fields from 
    #origins. This is much faster than loading destinations from the store 
    #features using their geometry as their network locations have already been
    #calculated while loading them origins.
    #Create a field mappings object that supports network location fields from 
    #origins layer using the candidate fields from origins
    originsLayer = arcpy.management.MakeFeatureLayer(originsLayer,
                                                     outNALayerName+originsLayerName)
    candidateFields = arcpy.ListFields(originsLayer.getOutput(0))
    fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer,
                                                  destinationsLayerName, True,
                                                  candidateFields)
    arcpy.na.AddLocations(outNALayer,destinationsLayerName,originsLayer,
                          fieldMappings,"")
    
    #Solve the od cost matrix layer. Halt the execution if there is an 
    #invalid location 
    arcpy.na.Solve(outNALayer,"HALT")
    
    #Save the solved na layer as a layer file on disk with relative paths
    arcpy.management.SaveToLayerFile(outNALayer,outLayerFile,"RELATIVE")
    
    print "Script completed successfully"
    
except Exception as e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "An error occurred on line %i" % tb.tb_lineno
    print str(e)

Environnements

  • Espace de travail courant

Informations de licence

  • ArcGIS Desktop Basic: Oui
  • ArcGIS Desktop Standard: Oui
  • ArcGIS Desktop Advanced: Oui

Rubriques connexes

  • Que sont les objets d'analyse de réseau ?
  • Vue d'ensemble du jeu d'outils Analyse
  • Que sont les champs Bearing et BearingTol ?

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2019 Esri. | Confidentialité | Légal