Kml open. Making our own map for Google Maps - KML from XLS. Geodetic reference systems in KML

A KML file stores geo-modeling data in XML format. It contains points, lines and images. Use XML to express geographic annotation and visualization by storing locations, image overlays, video links, and modeling information such as lines, shapes, 3D images, and points. Various geospatial software solutions use the KML format to put data in a format that other programs and web services can easily use.

Introduction

Keyhole Markup Language - XML ​​notation for expressing geographic annotation and rendering in 2D maps and 3D browsers. KML was designed for use with Google earth which was originally called the Keyhole Earth Viewer. It was created by Keyhole. Inc, which was acquired by Google in 2004. This format has become international standard Open Geospatial Consortium in 2008.

Google Earth was the first program capable of viewing and graphically editing such files. Other projects such as Marble have also started to develop support for KML.

Application: how to create a KML format?

You can open the file with this extension in Google Maps. To do this, you need to place its location online and then enter the URL into the search box on Google Maps.

Google Earth was the first program that could view and edit these files, and it remains one of the most popular ways to work with geodata on the Internet. With a web page open, use the My Places menu item (bookmark icon) to download a KML file from your computer, or account Google Drive.

You can also open the files with any text editor (like Notepad ++). This will allow you to see a text version that includes coordinates, image links, camera tilt angles, and timestamps.

If you want to convert KML to XML, you don't need to do the conversion. Since the format is actually just using the KML format extension), you can rename .KML to .XML so that it opens in your XML viewer.

You can also import the file directly to Google Maps. This is done on google page My maps when adding content to a new map layer. With the map open, select Import at any level to download the file from your computer or Google Drive. You can create a new layer using the Add Layer button.

Alternatively, you can create your own KML file and its URL in Google Maps by first linking your file's URL using http://maps.google.com/maps?q=. For example, to open the same URL, you can use the following URL: http://maps.google.com/maps?q=http://mywebsite.com/myfile.kml.

The same operation works for Google Earth, a 3D viewing plug-in for our planet that can be added to a web browser.

Structure

The KML file format specifies a set of functions (labels, images, polygons, 3D models, text descriptions) for display in Google Maps, Google Earth, Maps, on mobile devices or any other geospatial software that implements KML encoding. Each location has a longitude and latitude. This format shares some of the same structural grammars as GML. Some information cannot be viewed on Google Maps or on mobile devices.

Data is very often distributed in the KMZ format, which are encrypted KML files with a .kmz extension. They must be compatible with legacy (ZIP 2.0) compression, or the .kmz file may not be unpacked.

Geodetic reference systems in KML

For its frame of reference, KML uses 3D geographic coordinates: longitude, latitude, and altitude. Longitudes, latitude components (decimal degrees) are determined according to the World Geodetic System 1984 (WGS84). The vertical component (height) is measured in meters from the vertical base of the WGS84 EGM96 Geoid. If elevation is not specified in the coordinate line (for example, -77.03647, 38.89763), then the default value for the elevation component is 0 (approximately sea level), that is, (-77.03647, 38.89763, 0).

The formal definition of the coordinate system (coded as GML) used in KML is contained in the OGC KML 2.2 specification. This definition refers to the EPSG CRS components.

Documentation

The KML 2.2 specification has been submitted to an open geospatial consortium to ensure its status as an open standard for all geo objects. In November 2007, a new working group was formed within the OGC to formalize the standard. Comments were requested on the proposed standard before January 4, 2008, and it became an official OGC standard on April 14, 2008.

The Standards Working Group finalized the KML 2.2 change requests and incorporated the accepted changes. The official OGC KML 2.3 standard was published on August 4, 2015.

The first option with which you can open the KMZ format is the Google Earth application. This is a universal mapping program from a world famous company.

All you have to do is select the "File" - "Open" menu item in the running software. At the next stage, select the folder in which the file itself is located, select it and press the "Open" button.

Another way is to drag the file from Explorer to the area where the maps are displayed.

Using the Google SketchUp app

This program is used for three-dimensional modeling, and the file with the KMZ extension can store all kinds of 3D models of objects necessary for a realistic demonstration of the terrain.

To open it, click Import-File. As in the previous case, we find the desired folder, select the desired file in it and click Import.

Geographic information software Global Mapper

This program supports a large number of cartographic formats, including the one mentioned in this article. Thanks to the application, the data contained in it can not only be edited, but also transformed.

Opening is carried out using the menu item Open Data File (s) - File. Further, everything is similar to the previous options.

Geographic information platform ArcGIS Server

We'll be using the desktop version, ArcGIS Explorer. The KMZ file, which is also used in this application, helps to set the coordinates of the required object.

You can open it by dragging and dropping from Windows Explorer directly into the software workspace.

A KMZ file contains geolocation data, such as a location tag, and is primarily used in mapping applications. Often such information can be exchanged by users all over the world and therefore the question of opening this format is relevant.

So, in this article, we will take a closer look at Windows applications that support working with KMZ.

Method 1: Google Earth

After launching Global Mapper, select the item "Open Data File (s)" on the menu "File".

In Explorer, move to the directory with the desired object, select it and click on the button "Open".

You can also drag the file into the program window from the Explorer folder.

As a result of the action, information about the location of the object is loaded, which is displayed on the map as a marker.

Method 4: ArcGIS Explorer

The app is the desktop version of the ArcGIS Server geographic information platform. KMZ is used here to set the coordinates of an object.

The explorer can import the KMZ format by drag-and-drop. Drag the source file from the Explorer folder to the program area.

Open file.

As the review has shown, all methods open the KMZ format. While Google Earth and Global Mapper only display the location of an object, SketchUp uses KMZ as an addition to the 3D model. In the case of ArcGIS Explorer, the specified extension can be used to accurately determine the coordinates of utilities and land cadastre objects.

If you have a computer installed antivirus software can scan all files on the computer, as well as each file separately... You can scan any file by right-clicking on the file and selecting the appropriate option to scan the file for viruses.

For example, in this figure, file my-file.kml, then you need to right-click on this file, and select the option from the file menu "Scan with AVG"... Selecting this option will open AVG Antivirus, which will scan of this file for viruses.


Sometimes an error can result from incorrect installation software , which may be due to a problem encountered during the installation process. It may interfere with your operating system link your KML file to the correct application software tool influencing the so-called "File extension associations".

Sometimes simple reinstalling ESRI ArcGIS for Desktop might solve your problem by correctly linking KML to ESRI ArcGIS for Desktop. In other cases, problems with file associations can result from poor software programming developer and you may need to contact the developer for further assistance.


Advice: Try updating ESRI ArcGIS for Desktop to latest version to make sure the latest patches and updates are installed.


It may seem too obvious, but often the KML file itself may be causing the problem... If you received a file via an email attachment or downloaded it from a website and the download process was interrupted (for example, a power outage or other reason), the file may be damaged... If possible, try getting a fresh copy of the KML file, and then try opening it again.


Carefully: A damaged file may result in collateral damage to a previous or existing one. malware on your PC, so it is very important that you have an updated antivirus running on your PC at all times.


If your KML file related to the hardware on your computer to open the file you may need update device drivers related to this equipment.

This problem usually associated with types of media files that depend on the successful opening of the hardware inside the computer, for example, sound card or video card... For example, if you are trying to open an audio file but cannot open it, you may need to update sound card drivers.


Advice: If when you try to open a KML file, you get SYS file related error message, the problem could probably be related to damaged or outdated device drivers that need to be updated. This process can be facilitated by using a driver update software such as DriverDoc.


If the steps did not solve the problem and you're still having problems opening KML files, it might be due to lack of available system resources... Some versions of KML files may require a significant amount of resources (e.g. memory / RAM, processing power) to open properly on your computer. This problem occurs quite often if you are using an old enough computer Hardware and at the same time a much newer operating system.

This problem can occur when the computer is difficult to cope with the task, because operating system(and other services running in the background) can consume too many resources to open the KML file... Try closing all applications on your PC before opening Keyhole Markup Language File. By freeing up all the available resources on your computer, you will provide a better environment for trying to open the KML file.


If you completed all the steps above and your KML file still won't open, you might need to do equipment upgrade... In most cases, even with older hardware versions, the processing power may still be more than adequate for most custom applications (unless you're doing a lot of CPU-intensive work like 3D rendering, financial / scientific modeling, or heavy multimedia work) ... Thus, it is likely that your computer does not have enough memory(more commonly called "RAM", or random access memory) to perform the task of opening a file.

KML is a file format used to display geographic data in an Earth browser such as Google Earth. KML uses a tag-based structure with nested elements and attributes and is based on the XML standard. All tags are case-sensitive and must appear exactly as they are listed in the. The Reference indicates which tags are optional. Within a given element, tags must appear in the order shown in the Reference.

If you "re new to KML, explore this document and the accompanying samples files () to begin learning about the basic structure of a KML file and the most commonly used tags. The first section describes features that can be created with the Google Earth user interface. These features include placemarks, descriptions, ground overlays, paths, and polygons. The second section describes features that require authoring KML with a text editor. When a text file is saved with a .kml or .kmz extension, Earth browsers know how to display it.

Tip: To see the KML "code" for a feature in Google Earth, you can simply right-click the feature in the 3D Viewer of Google Earth and select Copy. Then Paste the contents of the clipboard into any text editor. The visual feature displayed in Google Earth is converted into its KML text equivalent. Be sure to experiment with this feature.

For a discussion of how to use some of the key features in KML, see the.

Table of Contents

Basic KML Documents

The simplest kind of KML documents are those that can be authored directly in Google Earth — that is, you don "t need to edit or create any KML in a text editor. Placemarks, ground overlays, paths, and polygons can all be authored directly in Google Earth.

Placemarks

A Placemark is one of the most commonly used features in Google Earth. It marks a position on the Earth "s surface, using a yellow pushpin as the icon. The simplest Placemark includes only a Element, which specifies the location of the Placemark. You can specify a name and a custom icon for the Placemark, and you can also add other geometry elements to it.

As an example, enable the "Absolute Positioning: Top left" folder in the file and you will see a screen overlay at the top left of the view window. This was created with the following KML code:




Absolute Positioning: Top left

http: //site/kml/documentation/images/top_left.jpg






Positioning is controlled by mapping a point in the image specified by to a point on the screen specified by ... In this case, the top-left corner of the image (0,1) has been made coincident with the same point on the screen.

Check the other examples in the folder to see how it is possible to obtain other fixed positions, and to create images that size dynamically with screen size. (Note that xunits and yunits can also be specified as "pixels" for precision control.) For further detail, see the.

Network Links

A network link contains a element with an (a hypertext reference) that loads a file. The can be a local file specification or an absolute URL. Despite the name, a does not necessarily load files from the network.

The in a link specifies the location of any of the following:

  • An image file used by icons in icon styles, ground overlays, and screen overlays
  • A model file used in the element
  • A KML or KMZ file loaded by a Network Link

The specified file can be either a local file or a file on a remote server. In their simplest form, network links are a useful way to split one large KML file into smaller, more manageable files on the same computer.

So far, all of our examples have required that the KML code be delivered to Google Earth from the local machine. Network links give you the power to serve content from a remote location and are commonly used to distribute data to large numbers of users. In this way, if the data needs to be amended, it has to be changed only at the source location, and all users receive the updated data automatically.

CGI Scripting for KML

In addition to pointing to files containing static data, a network link "s can point to data that is dynamically generated — for example, by a CGI script located on a network server. With some knowledge of a scripting language such as PHP, Python, or Perl, you can create a script that delivers a stream (or file) of KML data to each network link.

Two things are necessary for delivering KML through a network CGI:

When a call is made from the client (Google Earth) to the server, the server must (1) return a response code of HTTP 200 and (2) set the response "s content type to text / plain or application / vnd.google -earth.kml + xml.

The response must be valid KML. For complex applications, proper error handling is very important.

Tip: A simple way to handle errors is to parse the server "s error as the text for a folder name. For example, you could have the server return database inaccessible as a string. This is more informative (and more user-friendly) than letting the connection drop.

The following examples use Python, but they are equally valid in any other scripting language.

Generating a random placemark

The following Python script generates random integer values ​​for latitude and longitude and then inserts those values ​​into the element of a Whenever the network link is refreshed, the Python script runs again and generates KML with new latitude and longitude values.

#! / usr / bin / python import random latitude = random.randrange (-90, 90) longitude = random.randrange (-180, 180) kml = ("\ n "" \ n "" \ n "" Random placemark\ n "" \ n "" % d,% d\ n ""\ n ""\ n """)% (longitude, latitude) print" Content-Type: application / vnd.google-earth.kml + xml \ n "print kml

Here is an example of a KML file containing a Network Link that loads this Python script:




Network Links
0
0
Network link example 1

Random placemark
0
0
A simple server-side script that generates a new random
placemark on each call

0
0

http: // yourserver.com/cgi-bin/randomPlacemark.py



View-Based Refresh Queries

A standard network link is a uni-directional link: data flows only from the server to Google Earth. The view-based refresh enables bi-directional communication. When the view-based refresh is active, Google Earth returns the view coordinates to the server at a specified time. This may be every n seconds, minutes, or hours, or once a certain amount of time has elapsed since the view stopped moving. See in the KML 2.2 Reference.

The coordinates are returned to the server by means of an HTTP GET that appends the coordinates as follows (this is the default bounding box information):

GET / path / to / sever / script / query? BBOX = HTTP / 1.1

If the request were made while the user was looking down on San Francisco, the coordinates might look as follows:

GET /path/to/server/script/query?BBOX=-122.497790,37.730385,-122.380087,37.812331 HTTP / 1.1

This feature can be used for some very creative applications, but to get you started, a simple example is presented below.

Tracking a Point Directly Under Your View

The following server-side Python script parses the return message sent by Google Earth and responds with a Placemark at the center of the screen. Each time the Network Link is refreshed, a new Placemark is generated.

#! / usr / bin / python import cgi url = cgi.FieldStorage () bbox = url ["BBOX"]. value bbox = bbox.split (",") west = float (bbox) south = float (bbox) east = float (bbox) north = float (bbox) center_lng = ((east - west) / 2) + west center_lat = ((north - south) / 2) + south kml = ("\ n "" \ n "" \ n "" View-centered placemark\ n "" \ n "" % .6f,%. 6f\ n ""\ n ""\ n """)% (center_lng, center_lat) print" Content-Type: application / vnd.google-earth.kml + xml \ n "print kml

And here is the KML for the Network Link that loads the Python script:




Network Links
0
0
Network link example 2

View centered placemark
0
0
The view-based refresh allows the remote server to calculate
the center of your screen and return a placemark.

0
0

http: // yourserver.com/cgi-bin/viewCenteredPlacemark.py

2
onStop
1



The principle illustrated in this example can be used for some very complex applications. For example, if you have a database of geographic information, you can extract the coordinates of the viewer, make a call to the database for the data specific to the view, and return it to Google Earth as KML.

3 KML MIME Types

When responding to a request from Google Earth (or any Earth browser), a KML server must follow a certain set of rules so that Google Earth can correctly interpret its responses.

Upon success, the server must return a response code of HTTP 200 and set the response "s content-type to a suitable MIME type, as described here.

Google Earth reads KML and KMZ files. The MIME type for KML files is

  • application / vnd.google-earth.kml + xml

The MIME type for KMZ files is

  • application / vnd.google-earth.kmz

For Apache, add these lines to the httpd.conf file:

  • AddType application / vnd.google-earth.kml + xml .kml
  • AddType application / vnd.google-earth.kmz .kmz

See the Microsoft documentation for details on setting up MIME types on Microsoft "s IIS.

The body of the response must contain valid KML data, including the XML declaration (). If the server returns invalid KML, the Network Link will stop, deactivate, and output an error message.

What "s Next?

Ready for more? Check out the, which describes key KML features. Also, browse the for information on specific elements.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our. Java is a registered trademark of Oracle and / or its affiliates.