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

Rechercher

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

Résumé

Résout le problème de la couche d'analyse de réseau en fonction de ses localisations de réseau et de ses propriétés.

Utilisation

  • Lorsque l'analyse échoue, les messages d'erreur et d'avertissement fournissent des informations utiles concernant les raisons de l'échec.

  • Veillez à spécifier tous les paramètres sur la couche d'analyse de réseau qui sont nécessaires pour résoudre le problème avant d'exécuter cet outil.

Syntaxe

Solve_na (in_network_analysis_layer, {ignore_invalids}, {terminate_on_solve_error}, {simplification_tolerance}, {overrides})
ParamètreExplicationType de données
in_network_analysis_layer

Couche d'analyse de réseau sur laquelle l'analyse est calculée.

Network Analyst Layer
ignore_invalids
(Facultatif)
  • SKIP —Le solveur ignore les localisations de réseau non localisées et recherche la couche d'analyse uniquement à partir de localisations de réseau valides. Cette option continue de rechercher les localisations situées sur des éléments non traversables ou comportant d'autres erreurs. Elle s'avère utile si vous savez que vos localisations de réseau ne sont pas toutes correctes, mais que vous souhaitez rechercher les localisations de réseau valides.
  • HALT —N'effectue pas l'analyse en présence de localisations non valides. Vous pouvez apporter des corrections et réexécuter l'analyse.
Boolean
terminate_on_solve_error
(Facultatif)
  • TERMINATE —L'outil ne peut pas s'exécuter lorsque le solveur rencontre une erreur. Il s'agit de l'option par défaut. Lorsque vous utilisez cette option, l'objet Result n'est pas créé lorsque l'outil ne peut pas s'exécuter en raison d'une erreur du solveur. Vous devez obtenir les messages de géotraitement de l'objet ArcPy.
  • CONTINUE —L'outil n'échoue pas et poursuit son exécution même lorsque le solveur rencontre une erreur. Tous les messages d'erreur renvoyés par le solveur sont convertis en messages d'avertissement. Lorsque vous utilisez cette option, l'objet Result est toujours créé et la propriété maxSeverity de l'objet Result a la valeur 1 même lorsque le solveur rencontre une erreur. Utilisez la méthode getOutput de l'objet Result avec une valeur d'index égale à 1 pour déterminer si le solveur a produit les résultats attendus.
Boolean
simplification_tolerance
(Facultatif)

Tolérance qui détermine le degré de simplification pour la géométrie en sortie. Si une tolérance est spécifiée, elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. L'unité par défaut correspond aux degrés décimaux.

La spécification d'une tolérance de simplification a tendance à réduire le temps nécessaire pour afficher des itinéraires ou des zones de desserte. L'inconvénient de cela, toutefois, est que la simplification de la géométrie supprime des sommets, ce qui peut amoindrir la précision spatiale de la sortie à plus grande échelle.

Etant donné qu'une ligne dotée de seulement deux sommets ne peut pas être simplifiée, ce paramètre n'a aucun effet sur la durée d'affichage d'une sortie composée de segments simples, telle que des itinéraires en lignes droites, les lignes d'une matrice de coût OD ou des lignes d'emplacement-allocation.

Linear Unit
overrides
(Facultatif)

Spécifiez des paramètres supplémentaires pouvant influencer le comportement du solveur lorsque vous recherchez des solutions pour résoudre les problèmes d'analyse du réseau.

La valeur de ce paramètre doit être spécifiée au format JSON (JavaScript Object Notation). Une valeur valide, par exemple, a le format suivant : {"overrideSetting1" : "value1", "overrideSetting2" : "value2"}. Le nom du paramètre de remplacement est toujours spécifié entre des guillemets doubles. Les valeurs peuvent être un nombre, une valeur booléenne ou une chaîne.

Par défaut, aucune valeur ne doit être spécifiée pour ce paramètre, ce qui signifie qu'il est déconseillé de remplacer les paramètres du solveur.

Les valeurs de remplacement sont des paramètres avancés qui ne doivent être utilisés qu'après une analyse approfondie des résultats obtenus avant et après leur application. Vous pouvez obtenir auprès du support technique d'Esri une liste des paramètres de remplacement pris en charge, ainsi que leurs valeurs acceptables, pour chaque solveur.

String

Sortie dérivée

NomExplicationType de données
output_layer

solve_succeeded

Exemple de code

Exemple 1 d'utilisation de l'outil Rechercher (fenêtre Python)

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

arcpy.na.Solve("Route", "HALT", "TERMINATE", "10 Meters")
Exemple 2 d'utilisation de l'outil Rechercher (workflow)

Le script Python autonome suivant illustre l'utilisation de l'outil Solve pour effectuer une analyse de la ressource la plus proche et enregistrer les résultats dans un fichier de couches.

# Name: Solve_Workflow.py
# Description: Solve a closest facility analysis to find the closest warehouse 
#              from the store locations and save the results to a layer file on 
#              disk.
# 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/Paris.gdb"
    env.overwriteOutput = True
    
    #Set local variables
    inNetworkDataset = "Transportation/ParisMultimodal_ND"
    outNALayerName = "ClosestWarehouse"
    impedanceAttribute = "Drivetime"
    accumulateAttributeName = ["Meters"]
    inFacilities = "Analysis/Warehouses"
    inIncidents = "Analysis/Stores"
    outLayerFile = "C:/data/output" + "/" + outNALayerName + ".lyr"
    
    #Create a new closest facility analysis layer. Apart from finding the drive 
    #time to the closest warehouse, we also want to find the total distance. So
    #we will accumulate the "Meters" impedance attribute.
    outNALayer = arcpy.na.MakeClosestFacilityLayer(inNetworkDataset,outNALayerName,
                                                   impedanceAttribute,"TRAVEL_TO",
                                                   "",1, accumulateAttributeName,
                                                   "NO_UTURNS")
    
    #Get the layer object from the result object. The closest facility layer can 
    #now be referenced using the layer object.
    outNALayer = outNALayer.getOutput(0)
    
    #Get the names of all the sublayers within the closest facility layer.
    subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
    #Stores the layer names that we will use later
    facilitiesLayerName = subLayerNames["Facilities"]
    incidentsLayerName = subLayerNames["Incidents"]
    
    #Load the warehouses as Facilities using the default field mappings and 
    #search tolerance
    arcpy.na.AddLocations(outNALayer, facilitiesLayerName, inFacilities, "", "")
    
    #Load the Stores as Incidents. Map the Name property from the NOM field
    #using field mappings
    fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer, incidentsLayerName)
    fieldMappings["Name"].mappedFieldName = "NOM"
    arcpy.na.AddLocations(outNALayer, incidentsLayerName, inIncidents,
                          fieldMappings,"")
    
    #Solve the closest facility layer
    arcpy.na.Solve(outNALayer)
    
    #Save the solved closest facility 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: Requiert Network Analyst
  • ArcGIS Desktop Standard: Requiert Network Analyst
  • ArcGIS Desktop Advanced: Requiert Network Analyst

Rubriques connexes

  • Algorithmes utilisés par l'Extension ArcGIS Network Analyst.
  • Dépannage des analyses de réseau
  • Vue d'ensemble du jeu d'outils Analyse
  • Traitement au premier plan et en arrière-plan

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