Calculer les localisations (Network Analyst)
Récapitulatif
Ajoute des champs aux entités en entrée qui contiennent la localisation de réseau des entités. Cet outil permet de stocker les informations de localisation de réseau en tant qu'attributs d'entité pour charger rapidement les entités en tant qu'entrées pour une couche d'analyse de réseau.
Utilisation
-
Cet outil permet de calculer des champs d'emplacements qui peuvent être entrés dans l'outil Ajouter des localisations. Il doit être utilisé sur les entités qui seront utilisées plusieurs fois comme entrée dans un couche d'analyse de réseau. Une fois que les emplacements ont été calculés, le paramètre Utiliser les champs de localisation du réseau au lieu de la géométrie sur l'outil Ajouter des localisations permet de charger rapidement les entités en tant que localisations de réseau.
-
Cet outil permet également de recalculer les localisations de réseau non localisées dans votre couche d'analyse de réseau à l'aide d'un ensemble différent d'options de recherche. Par exemple, si les arrêts dans votre couche d'analyse de réseau d'itinéraire ont été ajoutés initialement avec une tolérance de recherche de 500 mètres et si certains de vos arrêts ne sont pas localisés, vous pouvez sélectionner les arrêts non localisés, par exemple, à l'aide de l'outil Sélectionner une couche par attributs, puis exécuter cet outil à nouveau en indiquant la sous-couche d'arrêts en tant que Entités en entrée avec une tolérance de recherche augmentée.
-
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.
Syntaxe
Paramètre | Explication | Type de données |
in_point_features |
Entités en entrée pour lesquelles les localisations de réseau sont calculées. Pour les entités lignes et surfaciques, puisque les informations de localisation de réseau sont stockées dans un champ blob (spécifié dans le paramètre de champ de plages de localisations), seules les classes d'entités de géodatabase sont prises en charge. | Table View |
in_network_dataset |
The network dataset used to calculate the locations. Si une sous-couche d'une couche d'analyse de réseau est utilisée en tant qu'entité en entrée, le paramètre doit prendre la valeur du jeu de données réseau référencé par la couche d'analyse de réseau. | Network Dataset Layer |
search_tolerance |
Tolérance de recherche utilisée pour la localisation des entités en entrée appartenant au réseau. Les entités se trouvant à l'extérieur de la tolérance de recherche restent non localisées. Le paramètre comprend une valeur et des unités de tolérance. Ce paramètre n'est pas utilisé lors du calcul d'emplacements pour les entités lignes ou surfaciques. Dans ces cas, utilisez "#" comme valeur de paramètre. | Linear unit |
search_criteria [[Source, SnapType],...] |
Indique les sources de votre jeu de données réseau qui feront partie de la recherche de localisations et les parties de la géométrie (également appelées types de capture) qui seront utilisées. La valeur de paramètre est indiquée sous la forme d'une liste avec des listes imbriquées. La liste imbriquée est composée de deux valeurs indiquant le nom et le type de capture pour chaque source de données du réseau. Le type de capture est spécifié à l'aide des mots-clés "SHAPE", "MIDDLE", "END" ou "NONE". Par exemple, lors de la recherche d'emplacements, la valeur de paramètre [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] spécifie que la recherche peut localiser sur la forme de la source de données Streets mais pas sur la source de données 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 spécifie que les emplacements peuvent être capturés au milieu ou à la fin de la source de données du réseau. For geodatabase network datasets, the snap types can be specified for each subtype of the network source. When calculating locations for line or polygon features, only the Shape snap type is used even if other snap types are specified. | Value Table |
match_type (Facultatif) |
The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Boolean |
source_ID_field (Facultatif) |
Name of the field to be created or updated with the source ID of the computed network location. A field called "SourceID" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
source_OID_field (Facultatif) |
Name of the field to be created or updated with the source OID of the computed network location. A field called "SourceOID" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
position_field (Facultatif) |
Name of the field to be created or updated with the percent along of the computed network location. A field called "PosAlong" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
side_field (Facultatif) |
Name of the field to be created or updated with the side of edge on which the point feature is located on the computed network location. A field called "SideOfEdge" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_x_field (Facultatif) |
Name of the field to be created or updated with the x-coordinate of the computed network location. A field called "SnapX" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_y_field (Facultatif) |
Name of the field to be created or updated with the y-coordinate of the computed network location. A field called "SnapY" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
distance_field (Facultatif) |
Name of the field to be created or updated with the distance of the point feature from the computed network location. A field called "Distance" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. | Field |
snap_Z_field (Facultatif) |
Name of the field to be created or updated with the z-coordinate of the computed network location. A field called "SnapZ" is created or updated by default. The parameter is not used when calculating locations for line or polygon features. In such cases, use "#" as the parameter value. Lors du calcul d'emplacements pour des entités ponctuelles, ce paramètre est utilisé uniquement lorsque le jeu de données réseau en entrée prend en charge la connectivité selon les coordonnées Z des sources de données du réseau. Dans tous les autres cas, utilisez "#" comme valeur de paramètre. | Field |
location_field (Facultatif) |
Name of the field to be created or updated with the location ranges of the computed network locations for the line or polygon features. A field called "Locations" is created or updated by default. Ce paramètre est utilisé uniquement lors du calcul d'emplacements pour les entités lignes ou surfaciques. Pour les entités ponctuelles en entrée, utilisez "#" comme valeur de paramètre. | Field |
exclude_restricted_elements (Facultatif) |
Ce paramètre est applicable uniquement lorsque les entités en entrée proviennent de la sous-couche d'une couche d'analyse de réseau et ne sont pas des objets interruption. Dans tous les autres cas, utilisez "#" comme valeur de paramètre.
| Boolean |
search_query [[Source, Expression],...] (Facultatif) | Specifies a query to restrict the search to a subset of the features within a source feature class. This is useful if you don't want to find features that may be unsuited for a network location. For example, if you are loading centroids of polygons and don't want to locate on local roads, you can define a query that searches for major roads only. La valeur de paramètre est indiquée sous la forme d'une liste avec des listes imbriquées. La liste imbriquée est composée de deux valeurs qui indiquent le nom et l'expression SQL pour toutes les sources de données du réseau. La syntaxe de l'expression SQL diffère légèrement selon le type de classe d'entités de source de données du réseau. Par exemple, lorsque vous interrogez des classes d'entités sources stockées dans des géodatabases fichier ou ArcSDE, des fichiers de formes, ou des SDC, placez les noms des champs entre guillemets doubles : "CFCC". Si vous interrogez des classes d'entités source stockées dans les géodatabases personnelles, placez les champs entre crochets : [CFCC]. Si vous ne souhaitez pas spécifier une requête pour une source particulière, 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 toutes les 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 utilisés pour joindre le nom de champ CFCC sont désactivés par les barres obliques inverses pour éviter une erreur d'analyse du programme d'interprétation Python. | Value Table |
Exemple de code
Calcule des localisations pour les entités ponctuelles uniquement à l'aide des paramètres requis.
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.CalculateLocations_na("Analysis/Stores","Transportation/Streets_ND", "5000 Meters",[["Streets","SHAPE"], ["Streets_ND_Junctions","NONE"]])
Calcule des localisations pour les entités ponctuelles sur un sous-type de source de données du réseau.
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb" arcpy.CalculateLocations_na( "Analysis/Warehouses","Transportation/ParisNet","5000 Meters", [["Streets : Highways","NONE"],["Streets : Major Roads","NONE"], ["Streets : Local Streets","SHAPE"],["ParisNet_Junctions", "NONE"]], "MATCH_TO_CLOSEST","SID","SOID","PA","SOE","SnapX","SnapY","Distance", "","","","")
Calcule des localisations pour les entités surfaciques
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.CalculateLocations_na("Basemap/Parks","Transportation/Streets_ND","", [["Streets","SHAPE"], ["Streets_ND_Junctions","NONE"]], location_field="Locations")
Le script Python ci-dessous illustre l'utilisation de l'outil Calculer les localisations dans un script autonome.
# Name: CalculateLocations_ex04.py # Description: Calculate network locations for fire stations. Make sure that the # fire stations are not located on the freeways. # Requirements: Network Analyst Extension #Import system modules import arcpy from arcpy import env #Check out the Network Analyst extension license arcpy.CheckOutExtension("Network") #Set environment settings env.workspace = "C:/data/SanFrancisco.gdb" #Set local variables inFeatures = "Analysis/FireStations" inNetworkDataset = "Transportation/Streets_ND" searchTolerance = "2000 Meters" searchCriteria = [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]] #Calculate network locations and store them in defaut field names arcpy.CalculateLocations_na(inFeatures,inNetworkDataset,searchTolerance, searchCriteria,"MATCH_TO_CLOSEST", exclude_restricted_elements="EXCLUDE", search_query=searchQuery) print "Script completed successfully."