You can add KML data to maps or scenes. KML layers are similar to any other layer in ArcGIS Pro, but they have a limited set of capabilities. They reference a .kml or .kmz (compressed) file, or a URL pointing to a KML file as their data source. Since a single KML file can contain both 2D (draped) and 3D features, KML layers are contained in their own KML Layers category in scenes.
When you create a layer from KML data, the settings defined within the KML file dictate how the layer appears in the map or scene. The name of the layer is derived from the name specified within the KML file, not the name of the actual file. You can rename the layer at any time, of course. The symbology and visibility of the features are based on the settings defined in the KML file.
KML layer structure
The elements of a KML file are structured hierarchically, where each part of the hierarchy is called a node. You can see this structure in the Contents pane. Since the structure is dictated by the KML file itself, there are solid lines connecting all the parts of the hierarchy together. This indicates that the structure cannot be modified. You cannot reorder nodes within this structure, or drag nodes in or out.
Containers are nodes that contain other children nodes. Geometry nodes are nodes that reference geographic coordinates and are somewhat synonymous with features in a geodatabase feature class. The entire hierarchy of nodes is displayed as an expandable and collapsible structure in the map's or scene's Contents pane, right down to individual geometry nodes. You can easily identify the geometry nodes in the structure, because they have a symbol displayed next to their name in the Contents pane.
KML layer properties
The properties of the KML layer can be accessed from the root node of the KML structure. Right-click the root node and click Properties to open the Layer Properties dialog box. From here, you can modify the layer name, visibility range, metadata, and the source file. You can also manage the display cache of the layer, which can help improve performance when drawing KML in scenes.
You can also control the appearance and labeling of the KML layer. When any node within the layer is selected in the Contents pane, the KML Layer contextual tab appears in the ribbon. Any change you make to the layer in the ribbon is applied to the entire layer, not just to the selected node. You can change the visibility range of the layer, change the transparency, and even mask portions of the layer. However, the KML layer itself cannot be used as a mask layer.
The symbols used to display KML features are defined within the source KML file. You can't chose a different way to symbolize the layer, or make changes to the symbols themselves. Symbol layer drawing is not available for KML layers. Point symbols are defined in KML with a reference to an embedded icon file. If no icon is specified, the point will be drawn with the default icon, which is a yellow pushpin. If there is a broken or otherwise invalid path to an icon, it will be drawn with a red X.
KML features have associated pop-ups with information about the feature. As with other pop-ups, they can include text, images, and hyperlinks. KML pop-ups cannot be configured or edited. To view the pop-up, either click the feature in the map or scene display, or right-click the node in the Contents pane and click Show Pop-up.
A KML file can have custom data defined (with the <ExtendedData> tag), which is somewhat synonymous with attributes. These can either be typed—where there is a defined data type such as a string, integer, or float—or they can be untyped without a specified data type. There is no attribute table for these features, but you can view the custom data in a table in the feature's pop-up. You cannot perform selection, queries, or analysis on this custom data.
In the KML specification, only placemark elements that contain point child elements within the KML structure can have labels. How features are labeled—or whether they have labels at all—is established within the source KML file. When you work with a KML layer in ArcGIS Pro, you can choose whether or not to show the predefined labels (if they exist), and optionally make minor changes to their appearance. Turning labels on or off will affect the entire KML layer. You cannot set the visibility differently for different parts of the layer's structure. KML layers can be displayed in 2D and 3D.
You control whether or not the layer is labeled in the same way you turn on labeling for any other layer in a map or scene. With the root layer of the KML file highlighted in the Contents pane, under KML Layer on the Labeling tab, in the Layer group, click Label.
The placement and appearance of the labeling is controlled by the KML file and cannot be modified from the layer. You can override the font and font style as well as the base size of the labels. With the root layer of the KML file highlighted in the Contents pane, under KML Layer on the Labeling tab, in the Text Symbol group, use the controls to change the font or the size. These settings apply to all labels in the KML layer. The size reflects the base size as defined in the KML file. These overrides are persisted in the layer in the map or scene.
KML files can include screen overlays and ground overlays. Screen overlays are images that appear at a set location on the screen over the display. When you pan the map or scene, their location relative to the screen is fixed. They can be turned on and off from the Contents pane, but they cannot be modified. Screen overlays are often used in the same way as layout elements. They may contain a legend, data credits, or a logo for example. A ground overlay is also an image, but it has geographic coordinates. It is overlaid along with other data in geographic space but only on the ground surface. Ground overlays with altitude mode absolute will draw on the ground (as though altitude mode is set to clampToGround) in scenes. Photo overlays are not supported in ArcGIS Pro.
KML files can include network link elements. A network link is a reference to an external file stored either locally or on a remote server. This could be an image used by an icon, ground overlay or screen overlay, a 3D model, or another KML or KMZ file. These elements may have refresh intervals associated with them. In this case, the KML layer is updated dynamically. Depending on how the network link has been specified, this can be a view-based refresh, triggered when the relevant KML features are in the view, or it can be an interval refresh, triggered as a set increment of time passes.