Structure de tuilage du cache de serveur de carte en polygones (Cartographie)
Récapitulatif
Crée une classe d'entités surfaciques à partir d'une structure de tuilage existante.
Cet outil subdivise une étendue de bloc de données à l'aide des mêmes échelles qu'une structure de tuilage de cache de service de carte existante et crée des tuiles sur une grande surface, ou "super tuile". Comme l'étendue de la "super tuile" est plus grande que les tuiles réelles définies dans la structure, les tuiles utilisées en tant qu'entrée pour l'outil Étiquettes tuilées en annotations peuvent convertir en même temps des étiquettes en annotations sur une plus grande surface. Ce processus réduit la duplication d'annotations sur plusieurs tuiles.
Utilisation
-
Plusieurs options de chargement d'une structure de tuilage existante sont disponibles :
- Chargement d'une structure de tuilage à partir d'un service de carte en ligne comme ArcGIS Online, Google Maps, Bing Maps ou Yahoo. Ces structures de tuilage se trouvent dans le répertoire d'installation d'ArcGIS for Desktop, dans le dossier TilingSchemes.
- Chargement d'un fichier de structure de tuilage à partir d'un cache de service de carte existant. Tous les caches de carte disposent d'un fichier de structure de tuilage, conf.xml, dans le répertoire de cache (exemple : C:\arcgisserver\arcgiscache\MyService\MyDataFrame\conf.xml).
- Création de votre propre fichier de structure de tuilage. Pour plus d'informations, reportez-vous à la rubrique Propriétés de cache de carte disponibles de l'aide ArcGIS for Server.
-
La classe d'entités en sortie de cet outil peut être utilisée comme entrée dans l'outil Étiquettes tuilées en annotations.
-
Pour le paramètre Créer des polygones dans les limites du système de coordonnées, l'horizon du système de coordonnées est la zone valide d'utilisation pour un système de coordonnées géographiques ou projetées particulier.
Syntaxe
Paramètre | Explication | Type de données |
map_document |
Document ArcMap source. | ArcMap Document |
data_frame |
Bloc de données du document ArcMap source. | String |
tiling_scheme |
Chemin vers un fichier .xml de structure de tuilage prédéfini. | File |
output_feature_class |
Classe d'entités surfaciques en sortie. | Feature Class |
use_map_extent |
Choisissez s'il faut produire des tuiles pour l'étendue entière de la structure de tuilage ou uniquement des tuiles qui croisent l'étendue complète du bloc de données.
| Boolean |
clip_to_horizon |
Choisissez s'il faut contraindre les polygones à la surface d'utilisation valide pour le système de coordonnées géographiques ou projetées du bloc de données.
| Boolean |
antialiasing (Facultatif) | Choisissez s'il faut générer des polygones correspondant à des caches de service de carte avec anti-crénelage activé. Une super tuile de cache de service de carte correspond à 2048 x 2048 pixels avec anti-crénelage ou à 4096 x 4096 pixels sans anti-crénelage. Pour savoir si l'anti-crénelage a été utilisé dans un cache existant, ouvrez le fichier de structure de tuilage conf.xml et regardez si la balise <Antialiasing> est définie sur true (vrai).
| Boolean |
levels [level,...] (Facultatif) | Niveaux d'échelle auxquels vous créerez des polygones. Pour créer des polygones pour tous les niveaux d'échelle inclus dans une structure de tuilage, laissez ce paramètre vierge. Vous pouvez choisir de créer des polygones pour tous les niveaux d'échelle inclus dans votre structure de tuilage ou seulement quelques-uns. Toutefois, pour ajouter d'autres niveaux d'échelle, vous devrez modifier votre fichier de structure de tuilage ou en créer un. | Double |
Exemple de code
Le script autonome suivant illustre l'utilisation de la fonction MapServerCacheTilingSchemeToPolygons.
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.MapServerCacheTilingSchemeToPolygons_cartography("C:/data/Annotation.mxd",
"Layers",
"C:/Program Files/ArcGIS/Desktop10.2/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml",
"Tiles","USE_MAP_EXTENT","CLIP_TO_HORIZON", "NONE", "")
Le script suivant présente un workflow faisant appel aux fonctions MapServerCacheTilingSchemeToPolygons et TiledLabelsToAnnotation.
# Name: MapServerCacheTilingSchemeToPolygons_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.
# Requirements: ArcGIS for Desktop Advanced license
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/data.gdb"
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
# Change path below to match your system
inTilingScheme = "C:/Program Files/ArcGIS/Desktop10.2/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml"
outFeatureClass = "C:/data/data.gdb/Tiles"
inTileExtent = "USE_MAP_EXTENT"
inClipping = "CLIP_TO_HORIZON"
inAntialiasing = "NONE"
inScales = ""
# Execute MapServerCacheTilingSchemeToPolygons
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(inMapDocument, inDataFrame, inTilingScheme, outFeatureClass,
inTileExtent, inClipping, inAntialiasing, inScales)
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
inPolygonIndexLayer = "Tiles"
inOutGeodatabase = "C:/data/data.gdb"
outOutLayer = "GroupAnno"
inAnnoSuffix = "Anno"
inRefScaleValue = ""
inRefScaleField = "Tile_Scale"
inTileIDField = "OID"
inCoordSysField = ""
inMapRotationField = ""
inFeatureLinked = "STANDARD"
inGenerateUnplaced = "GENERATE_UNPLACED_ANNOTATION"
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(inMapDocument, inDataFrame, inPolygonIndexLayer, inOutGeodatabase,
outOutLayer, inAnnoSuffix, inRefScaleValue, inRefScaleField,
inTileIDField, inCoordSysField, inMapRotationField,inFeatureLinked,
inGenerateUnplaced)