Сохранить схему листов кэша картографического сервиса как полигоны (Картография)
Краткая информация
Создает новый класс полигональных пространственных объектов из существующей схемы разбиения на листы.
Этот инструмент делит экстент фрейма данных, используя те же масштабы, что и в существующей схеме разбиения на листы картографического сервиса, и создает листы на большую территорию - "суперлисты". Так как экстент "суперлистов" больше, чем у фактических листов, определенных в схеме, листы, используемые в качестве входных для инструмента Надписи листов в аннотации (Tiled Labels to Annotation), могут преобразовать надписи в аннотацию на большей территории за один раз. Этот процесс уменьшает количество повторяющихся на листах аннотаций.
Использование
-
Существует несколько вариантов загрузки существующей схемы листов:
- Загрузка схемы листов с картографических сервисов, таких как ArcGIS online, Google Maps, Bing Maps или Yahoo. Эти схемы листов расположены в директории установки ArcGIS for Desktop - в папке TilingSchemes.
- Загрузка схемы листов из кэша сервиса существующей карты. Кэш всей карты имеет файл схемы листов conf.xml, расположенный в директории кэша (например: C:\arcgisserver\arcgiscache\MyService\MyDataFrame\conf.xml).
- Создание собственного файла схемы листов. Для получения дополнительной информации см. раздел Доступные свойства кэша карты (Available map cache properties) в Справке ArcGIS for Server.
-
Выходной класс объектов, полученный в результате работы этого инструмента, может быть использован в качестве входного для инструмента Надписи листов в аннотации (Tiled Labels to Annotation).
-
Для параметра Вырезать листы по краю системы координат (Clip tiles at the coordinate system horizon) край системы координат - это допустимая область использования для определенной географической системы координат или системы координат проекции.
Синтаксис
Параметр | Объяснение | Тип данных |
map_document |
Исходный документ карты. | ArcMap Document |
data_frame |
Фрейм данных исходного документа карты. | String |
tiling_scheme |
Путь к xml-файлу предопределенной схемы листов. | File |
output_feature_class |
Выходной класс полигональных объектов. | Feature Class |
use_map_extent |
Выберите, создавать ли листы для всего экстента схемы листов или только для листов, пересекающих полный экстент фрейма данных..
| Boolean |
clip_to_horizon |
Определяет, ограничить ли область создания полигонов допустимой областью использования географической системы координат или системы координат проекции.
| Boolean |
antialiasing (дополнительно) | Выберите, создавать ли полигоны, соответствующие кэшам картографических сервисов с активизированным сглаживанием. Размер "суперлиста" кэша картографического сервиса - 2048 x 2048 пикселов со сглаживанием или 4096 x 4096 пикселов без сглаживания. Для того чтобы определить, использовалось ли сглаживание в существующем кэше, нужно открыть файл схемы листов conf.xml и проверить, установлено ли значение TRUE для тега <Antialiasing>.
| Boolean |
levels [level,...] (дополнительно) | Масштабные уровни, для которых создаются полигоны. Для создания полигонов для всех масштабных уровней, включенных в схему листов, оставьте этот параметр незаполненным. Вы можете выбрать, создавать ли полигоны для всех или только для некоторых масштабных уровней, включенных в вашу схему листов. Однако для добавления дополнительных масштабных уровней необходимо изменить файл вашей схемы листов или создать новый файл. | Double |
Пример кода
Этот автономный скрипт демонстрирует пример использования функции 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", "")
Представленный скрипт демонстрирует рабочий процесс с использованием функций MapServerCacheTilingSchemeToPolygons и 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)