ExportToSVG
摘要
Exports the page layout or data frame of a map document (.mxd) to the Scalable Vector Graphics (SVG) format.
讨论
SVG is an XML-based file format that has been specifically designed for viewing on the Web. SVG can contain both vector and raster information. This is a good choice for displaying maps on a web page because it is rescalable and more easily edited than raster files. SVG has been gaining in popularity since the World Wide Web Consortium (W3C) selected it as their standard vector Web format. Some Web browsers may require a plug-in to view SVG files; older browsers may not be able to view SVG files at all. SVG supports font embedding, so users who do not have the ESRI fonts installed can still view ArcMap SVG exports with proper symbology. ArcMap can also produce compressed SVG files. The file extension changes to *.SVGZ when this option is enabled.
要导出单个数据框(而不是整个页面布局),可将 DataFrame 对象传给函数的 data_frame 参数。由于数据框导出不具有可提供高度和宽度信息的关联页面,所以必须通过 df_export_width 和 df_export_height 参数来提供此信息。
对于页面布局导出和数据框导出,控制生成图像图形质量的方式有所不同。导出页面布局时,通过更改 resolution 参数来控制图像细节。导出数据框时,保持 resolution 参数的默认值,更改 df_export_width 和 df_export_height 参数来更改图像细节。高度和宽度参数直接控制在导出文件中生成的像素数,且仅在导出数据框时使用。像素数较高的图像具有较高的图像细节。对于大多数页面布局导出,默认参数值应在第一次尝试时生成良好的结果和美观的导出图像。对于数据框导出,您可能需要对 df_export_width 和 df_export_height 值进行若干次试验,之后才能得到理想的结果。
Refer to the Exporting your map topic in ArcGIS Help for more detailed discussions on exporting maps.
语法
参数 | 说明 | 数据类型 |
map_document |
A variable that references a MapDocument object. | MapDocument |
out_svg |
A string that represents the path and file name for the output export file. | String |
data_frame |
A variable that references a DataFrame object. Use the string/constant "PAGE_LAYOUT" to export the map document's page layout instead of an individual data frame. (默认值为 PAGE_LAYOUT) | Object |
df_export_width |
A number that defines the width of the export image in pixels for a data frame export. df_export_width is only used when exporting a data frame. Exporting a page layout uses the map document page width instead of df_export_width. (默认值为 640) | Integer |
df_export_height |
A number that defines the height of the export image in pixels for a data frame export. df_export_height is only used when exporting a data frame. Exporting a page layout uses the map document page height instead of df_export_height. (默认值为 480) | Integer |
resolution |
A number that defines the resolution of the export file in dots per inch (DPI). (默认值为 300) | Integer |
image_quality |
A string that defines output image quality, the draw resolution of map layers that draw as rasters.
(默认值为 BEST) | String |
compress_document |
If set to True, a compressed export will be created. For SVG, the entire document is compressed and it changes the file extension to *.svgz. (默认值为 False) | Boolean |
picture_symbol |
A string that defines whether picture markers and picture fills will be converted to vector or rasterized on output.
(默认值为 RASTERIZE_BITMAP) | String |
convert_markers |
A Boolean that controls the coversion of character-based marker symbols to polygons. This allows the symbols to appear correctly if the symbol font is not available or cannot be embedded. However, setting this parameter to True disables font embedding for all character-based marker symbols, which can result in a change in their appearance. (默认值为 False) | Boolean |
embed_fonts |
A Boolean that controls the embedding of fonts in export files. Font embedding allows text and character markers to be displayed correctly when the document is viewed on a computer that does not have the necessary fonts installed. (默认值为 False) | Boolean |
代码示例
This script opens a map document and exports the page layout to an SVG file using default values for all options.
import arcpy mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd") arcpy.mapping.ExportToSVG(mxd, r"C:\Project\Output\Project.svg") del mxd
This script will export a single data frame instead of the entire page layout, similar to exporting from data view in the ArcMap application. The default values for df_export_width and df_export_height are 640 and 480. By passing larger values for these parameters, we are able to produce an output image with higher detail.
import arcpy mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd") df = arcpy.mapping.ListDataFrames(mxd, "Transportation")[0] arcpy.mapping.ExportToSVG(mxd, r"C:\Project\Output\ProjectDataFrame.svg", df, df_export_width=1600, df_export_height=1200) del mxd