當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python ArcGIS WebMap.print用法及代碼示例


本文簡要介紹 python 語言中 arcgis.mapping.WebMap.print 的用法。

用法:

print(file_format, extent, dpi=92, output_dimensions=500, 500, scale=None, rotation=None, spatial_reference=None, layout_template='MAP_ONLY', time_extent=None, layout_options=None)

返回:

可以下載和打印的文件的 URL。

print 方法將 WebMap 對象打印到 PDF、PNG32、JPG 等可打印文件。

注意:

渲染和打印操作發生在服務器端(ArcGIS Online 或 Enterprise)而不是客戶端。

print 方法采用 WebMap 的狀態,以光柵或矢量格式呈現並返回頁麵布局或沒有指定範圍的頁麵環繞的Map。

Parameter

Description

file_format

必需的字符串。指定輸出文件格式。有效類型:

PNG8 | PNG32 | JPG | GIF | PDF | EPS | SVG | SVGZ

extent

所需詞典。指定要打印的範圍。

# Example Usage:

>>> extent = {'spatialReference': {'latestWkid': 3857,
                                   'wkid': 102100},
              'xmin': -15199645.40582486,
              'ymin': 3395607.5273594954,
              'xmax': -11354557.134968376,
              'ymax': 5352395.451459487}

範圍對象的空間參考是可選的;如果未提供,則假定它在Map的空間參考中。當Map範圍的縱橫比與輸出頁麵上的Map大小或 output_dimensions 不同時,您可能會注意到輸出Map上的要素更多。

dpi

可選整數。指定輸出文件的打印分辨率。dpi代表每英寸點數.更高的數字意味著更好的分辨率和更大的文件大小。

output_dimensions

可選元組。指定輸出文件的尺寸(以像素為單位)。如果 layout_template 不是 MAP_ONLY ,則選擇的特定布局模板優先於該參數。

scale

可選浮點數。指定要打印的Map比例。您希望打印Map時使用的Map比例。此參數是可選的,但建議使用以獲得最佳結果。當 web Map中的Map服務設置了 scale-dependent 圖層或參考比例時,scale 屬性特別有用。由於您在 Web 應用程序上查看的Map可能小於輸出Map的尺寸(例如 8.5 x 11 英寸或 A4 尺寸),因此輸出Map的比例將會不同,您可能會看到以下差異:與輸出Map相比,網絡應用程序中的特征和/或符號。

使用比例時,它優先於範圍,但輸出Map是以範圍中心為中心的請求比例繪製的。

rotation

可選浮點數。指定Map框旋轉的度數(從北邊逆時針測量)。要順時針旋轉,請使用負值。

spatial_reference

可選字典。指定應在其中打印Map的空間參考。如果未指定,則優先順序如下:

  • extent 參數讀取

  • 從 web Map的基礎Map圖層中讀取

  • 從選擇的layout_template 中讀取

layout_template

可選字符串。默認值MAP_ONLY不使用任何模板。要獲取可用模板的列表,請運行 get_layout_templates()

time_extent

可選列表。如果有time-aware圖層並且您希望在指定時間繪製它,請指定此屬性。該訂單列表可以有一個或兩個元素。添加兩個元素( startTime 後跟 endTime )來表示時間範圍,或僅提供一個時間元素來表示時間點。時間始終采用 UTC 時間。

# Example Usage to represent Tues. Jan 1, 2008 00:00:00 UTC:
# to Thurs. Jan 1, 2009 00:00:00 UTC.

>>> time_extent = [1199145600000, 1230768000000]

layout_options

可選詞典。這定義了不同可用頁麵布局元素的設置,並且僅在選擇可用的 layout_template 時才需要。頁麵布局元素包括 titlecopyright textscale barauthor namecustom text elements 。更多詳情請參見ExportWebMap specification.

例子:

# USAGE EXAMPLE 1: Printing a web map to a JPG file of desired extent.

from arcgis.mapping import WebMap
from arcgis.gis import GIS

# connect to your GIS and get the web map item
gis = GIS(url, username, password)
wm_item = gis.content.get('1234abcd_web map item id')

# create a WebMap object from the existing web map item
wm = WebMap(wm_item)

# create an empty web map
wm2 = WebMap()
wm2.add_layer(<desired Item or Layer object>)

# set extent
redlands_extent = {'spatialReference': {'latestWkid': 3857, 'wkid': 102100},
                     'xmin': -13074746.000753032,
                     'ymin': 4020957.451106308,
                     'xmax': -13014666.49652086,
                     'ymax': 4051532.26242039}

# print
printed_file_url = wm.print(file_format='JPG', extent=redlands_extent)
printed_file2_url = wm2.print(file_format='PNG32', extent=redlands_extent)

# Display the result in a notebook:
from IPython.display import Image
Image(printed_file_url)

# Download file to disk
import requests
with requests.get(printed_file_url) as resp:
    with open('./output_file.png', 'wb') as file_handle:
        file_handle.write(resp.content)

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.mapping.WebMap.print。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。