All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.micromata.opengis.kml.v_2_2_0.Feature Maven / Gradle / Ivy

Go to download

This is JavaAPIforKMml, Micromata's library for use with applications that want to parse, generate and operate on KML. It is an implementation of the OGC KML 2.2 standard. It is written entirely in Java and makes heavy use of JAXB.

There is a newer version: 3.0.4
Show newest version

package de.micromata.opengis.kml.v_2_2_0;

import de.micromata.opengis.kml.v_2_2_0.annotations.Obvious;
import de.micromata.opengis.kml.v_2_2_0.atom.Author;
import de.micromata.opengis.kml.v_2_2_0.atom.Link;
import de.micromata.opengis.kml.v_2_2_0.gx.Tour;
import de.micromata.opengis.kml.v_2_2_0.xal.*;
import jakarta.xml.bind.annotation.*;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import java.util.ArrayList;
import java.util.List;


/**
 * {@code }
 * 

* This is an abstract element and cannot be used directly in a KML file. *

* */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "AbstractFeatureType", propOrder = { "name", "visibility", "open", "atomAuthor", "atomLink", "address", "xalAddressDetails", "phoneNumber", "snippet", "snippetd", "description", "abstractView", "timePrimitive", "styleUrl", "styleSelector", "region", "metadata", "extendedData", "featureSimpleExtension", "featureObjectExtension" }) @XmlSeeAlso({ Tour.class, Overlay.class, NetworkLink.class, Container.class, Placemark.class }) public abstract class Feature extends AbstractObject implements Cloneable { /** * {@code } *

* User-defined text displayed in the 3D viewer as the label for the object (for example, * for a Placemark, Folder, or NetworkLink). *

* * * */ protected String name; /** * {@code } *

* Boolean value. Specifies whether the feature is drawn in the 3D viewer when it is * initially loaded. In order for a feature to be visible, the {@code } tag of * all its ancestors must also be set to 1. In the Google Earth List View, each Feature * has a checkbox that allows the user to control visibility of the Feature. *

* * * */ @XmlElement(defaultValue = "1") @XmlJavaTypeAdapter(BooleanConverter.class) protected Boolean visibility; /** * {@code } *

* Boolean value. Specifies whether a Document or Folder appears closed or open when * first loaded into the Places panel. 0=collapsed (the default), 1=expanded. See also * {@code }. This element applies only to Document, Folder, and NetworkLink. *

* * * */ @XmlElement(defaultValue = "0") @XmlJavaTypeAdapter(BooleanConverter.class) protected Boolean open; /** * {@code } *

* KML 2.2 supports new elements for including data about the author and related website * in your KML file. This information is displayed in geo search results, both in Earth * browsers such as Google Earth, and in other applications such as Google Maps. The * ascription elements used in KML are as follows: *

*

* The {@code } element is the parent element for {@code }, which specifies * the author of the KML feature. *

*

* These elements are defined in the Atom Syndication Format. The complete specification * is found at http://atompub.org. (see the sample that follows). *

*

* These elements are defined in the Atom Syndication Format. The complete specification * is found at http://atompub.org. (see the sample that follows). *

* * * */ @XmlElement(name = "author", namespace = "http://www.w3.org/2005/Atom") protected Author atomAuthor; /** * {@code } (required). see {@code }. *

* {@code } specifies the location of any of the following: *

*

* If the file specified in {@code }is a local file, the {@code } and {@code } * elements are not used. *

*

* KML files fetched by network links Image files used in any Overlay (the {@code }element * specifies the image in an Overlay; {@code }has the same fields as {@code }) Model files * used in the {@code } element *

*

* Specifies the URL of the website containing this KML or KMZ file. Be sure to include * the namespace for this element in any KML file that uses it: xmlns:atom="http://www.w3.org/2005/Atom" * (see the sample that follows). *

*

* Specifies the file to load and optional refresh parameters. See {@code }. *

*

* The {@code } element replaces the {@code } element of NetworkLink contained in earlier * KML releases and adds functionality for the {@code } element (introduced in KML * 2.1). In Google Earth releases 3.0 and earlier, the {@code } element is ignored. *

*

* The file is conditionally loaded and refreshed, depending on the refresh parameters * supplied here. Two different sets of refresh parameters can be specified: one set * is based on time ({@code } and {@code }) and one is based on the current * "camera" view ({@code } and {@code }). In addition, Link specifies * whether to scale the bounding box parameters that are sent to the server ({@code } * and provides a set of optional viewing parameters that can be sent to the server * ({@code }) as well as a set of optional parameters containing version and language * information. *

*

* Tip: To display the top-level Folder or Document within a Network Link in the List * View, assign an ID to the Folder or Document. Without this ID, only the child object * names are displayed in the List View. *

*

* When a file is fetched, the URL that is sent to the server is composed of three * pieces of information: *

*

* the href (Hypertext Reference) that specifies the file to load. an arbitrary format * string that is created from (a) parameters that you specify in the {@code } * element or (b) bounding box parameters (this is the default and is used if no {@code } * element is included in the file). a second format string that is specified in the * {@code } element. *

* * See Also: * {@code } * {@code } * * * */ @XmlElement(name = "link", namespace = "http://www.w3.org/2005/Atom") protected Link atomLink; /** * {@code
} *

* A string value representing an unstructured address written as a standard street, * city, state address, and/or as a postal code. You can use the address tag to specify * the location of a point instead of using latitude and longitude coordinates. (However, * if aPoint is provided, it takes precedence over the address.) To find out which * locales are supported for this tag in Google Earth, go to the Google Maps Help. *

* * * */ protected String address; /** * {@code } *

* A structured address, formatted as xAL, or eXtensible Address Language, an international * standard for address formatting. xal:addressdetails is used by KML for geocoding * in Google Maps only. For details, see the Google Maps API documentation. Currently, * Google Earth does not use this element; use address instead. Be sure to include * the namespace for this element in any KML file that uses it: xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" *

*

* A structured address, formatted as xAL, or eXtensible Address Language, an international * standard for address formatting. xal:addressdetails is used by KML for geocoding * in Google Maps only. For details, see the Google Maps API documentation. Currently, * Google Earth does not use this element; use address instead. Be sure to include * the namespace for this element in any KML file that uses it: xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" *

* * * */ @XmlElement(name = "AddressDetails", namespace = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0") protected AddressDetails xalAddressDetails; /** * {@code } * * */ protected String phoneNumber; /** * {@code } *

* A short description of the feature. In Google Earth, this description is displayed * in the Places panel under the name of the feature. If a Snippet is not supplied, * the first two lines of the {@code } are used. In Google Earth, if a Placemark * contains both a description and a Snippet, the {@code } appears beneath the Placemark * in the Places panel, and the {@code } appears in the Placemark's description * balloon. This tag does not support HTML markup. {@code } has a maxLines attribute, * an integer that specifies the maximum number of lines to display. *

* * * */ @XmlElement(name = "Snippet") protected Snippet snippet; @XmlElement(name = "snippet") protected String snippetd; /** * {@code } *

* The supported content for the {@code } element changed from Google Earth 4.3 * to 5.0. Specific information for each version is listed out below, followed by information * common to both. *

*

* User-supplied content that appears in the description balloon. *

*

* User-supplied content that appears in the description balloon. The supported content * for the {@code } element changed from Google Earth 4.3 to 5.0. Specific information * for each version is listed out below, followed by information common to both. Google * Earth 5.0 Google Earth 5.0 supports plain text content, as well as full HTML and * JavaScript, within description balloons. Contents of the description tag are rendered * by the WebKit open source web browser engine, and are displayed as they would be * in any WebKit-based browser. General restrictions Links to local files are generally * not allowed. This prevents malicious code from damaging your system or accessing * your data. Should you wish to allow access to your local filesystem, select Preferences * Allow placemark balloons to access local files and personal data. Links to image * files on the local filesystem are always allowed, if contained within an {@code } tag. * Content that has been compressed into a KMZ file can be accessed, even if on the * local filesystem. Cookies are completely disabled, including cookies set or read * by content contained within a iFrame. There are no exceptions to this rule. Doctype * declarations are ignored. *

* * * */ protected String description; /** * {@code } *

* Defines a viewpoint associated with any element derived from Feature. See Camera * and LookAt. *

*

* This is an abstract element and cannot be used directly in a KML file. This element * is extended by the Camera and LookAt elements. *

*/ @XmlElementRef(name = "AbstractViewGroup", namespace = "http://www.opengis.net/kml/2.2", required = false) protected AbstractView abstractView; /** * {@code } *

* Associates this Feature with a period of time ({@code }) or a point in time ({@code }). *

*

* This is an abstract element and cannot be used directly in a KML file. This element * is extended by the {@code } and {@code } elements. *

*/ @XmlElementRef(name = "AbstractTimePrimitiveGroup", namespace = "http://www.opengis.net/kml/2.2", required = false) protected TimePrimitive timePrimitive; /** * {@code } *

* URL of a {@code