<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pages on ikml.com</title>
    <link>https://ikml.com/pages/</link>
    <description>Recent content in Pages on ikml.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://ikml.com/pages/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://ikml.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ikml.com/about/</guid>
      <description>&lt;p&gt;ikml.com is the home of iKML, a small tool that helps you understand a geographic file before you import it. It reads KML, KMZ and GeoJSON, shows what&amp;rsquo;s inside, flags what&amp;rsquo;s broken, tells you what a conversion to another format will lose, and writes a cleaned copy with a list of every change.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-it-exists&#34;&gt;Why It Exists&lt;/h2&gt;&#xA;&lt;p&gt;Map files get passed around more than almost any other kind of data. A drone pilot sends a mission KMZ, a surveyor sends site boundaries, a council publishes a layer, a colleague exports a Google My Maps project. The person receiving it opens it in QGIS, ArcGIS, a web map or a spreadsheet, and that&amp;rsquo;s where things go wrong without a word: points in the ocean, polygons that don&amp;rsquo;t draw, icons missing, attribute data and folders gone after a conversion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://ikml.com/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ikml.com/contact/</guid>
      <description>&lt;p&gt;ikml.com would like to hear from:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone checking real files with iKML.&lt;/strong&gt; What it found, what it missed, and which tool the file came from.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone who found a bug.&lt;/strong&gt; A good file iKML called broken, a broken one it passed, a conversion that lost something the report didn&amp;rsquo;t mention.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone with an idea&lt;/strong&gt; for a format, a check or an exporter quirk iKML should know about.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Write to &lt;strong&gt;&lt;a href=&#34;mailto:info@ikml.com&#34;&gt;info@ikml.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download iKML</title>
      <link>https://ikml.com/download/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ikml.com/download/</guid>
      <description>&lt;p&gt;The &lt;code&gt;ikml&lt;/code&gt; command is one file with nothing else to install. Each archive below holds it with its license files. The links always point to the latest release.&lt;/p&gt;&#xA;&lt;div style=&#34;overflow-x:auto&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;System&lt;/th&gt;&#xA;          &lt;th&gt;Download&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/ikml/releases/latest/download/ikml_linux_amd64.tar.gz&#34;&gt;ikml_linux_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, ARM64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/ikml/releases/latest/download/ikml_linux_arm64.tar.gz&#34;&gt;ikml_linux_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Apple silicon&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/ikml/releases/latest/download/ikml_darwin_arm64.tar.gz&#34;&gt;ikml_darwin_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Intel&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/ikml/releases/latest/download/ikml_darwin_amd64.tar.gz&#34;&gt;ikml_darwin_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Windows, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/softdevstudio/ikml/releases/latest/download/ikml_windows_amd64.zip&#34;&gt;ikml_windows_amd64.zip&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;em&gt;Checksums are in &lt;a href=&#34;https://github.com/softdevstudio/ikml/releases/latest/download/SHA256SUMS&#34;&gt;SHA256SUMS&lt;/a&gt;. Every release is listed on &lt;a href=&#34;https://github.com/softdevstudio/ikml/releases&#34;&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;install&#34;&gt;Install&lt;/h2&gt;&#xA;&lt;p&gt;On Linux or macOS:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tar -xzf ikml_linux_amd64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mv ikml /usr/local/bin/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ikml version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The binaries are static, so they run on any Linux distribution. The macOS binaries aren&amp;rsquo;t signed by Apple, so macOS may block the first run; allow it in System Settings under Privacy &amp;amp; Security, or run &lt;code&gt;xattr -d com.apple.quarantine ikml&lt;/code&gt;. On Windows, unzip the archive and put &lt;code&gt;ikml.exe&lt;/code&gt; in a folder on your PATH.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inspector</title>
      <link>https://ikml.com/inspect/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ikml.com/inspect/</guid>
      <description>&lt;p&gt;Drop a KML, KMZ or GeoJSON file below. iKML reads it inside this page and shows what&amp;rsquo;s in it, what&amp;rsquo;s broken and what a conversion would lose. You can download a cleaned copy as GeoJSON, KML or KMZ.&lt;/p&gt;&#xA;&lt;div id=&#34;ikml-app&#34;&gt;&lt;/div&gt;&#xA;&lt;script src=&#34;https://ikml.com/tool/ikml.js&#34;&gt;&lt;/script&gt;&#xA;&lt;h2 id=&#34;your-file-stays-here&#34;&gt;Your File Stays Here&lt;/h2&gt;&#xA;&lt;p&gt;The inspector is iKML&amp;rsquo;s engine compiled to WebAssembly. Your browser reads the file from your disk and hands it to that engine in memory. Nothing is uploaded, and the page makes no other network requests once it has loaded. The preview is drawn from the coordinates alone, without map tiles, so not even the area you&amp;rsquo;re looking at is sent anywhere.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick Start</title>
      <link>https://ikml.com/quick-start/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ikml.com/quick-start/</guid>
      <description>&lt;p&gt;The fastest start is no install at all: drop a file on &lt;a href=&#34;https://ikml.com/inspect/&#34;&gt;the inspector&lt;/a&gt;. This page covers the &lt;code&gt;ikml&lt;/code&gt; program, for batches of files, scripts and data pipelines.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-get-the-ikml-command&#34;&gt;1. Get the ikml Command&lt;/h2&gt;&#xA;&lt;p&gt;Download the archive for your system from &lt;a href=&#34;https://ikml.com/download/&#34;&gt;the download page&lt;/a&gt;, unpack it and put &lt;code&gt;ikml&lt;/code&gt; somewhere on your PATH. Check it works:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ikml version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;2-see-whats-inside&#34;&gt;2. See What&amp;rsquo;s Inside&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;ikml inspect&lt;/code&gt; reads KML, KMZ and GeoJSON, whatever the file is called, and shows its structure, its attribute fields and styles, and anything worth knowing:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reference</title>
      <link>https://ikml.com/reference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ikml.com/reference/</guid>
      <description>&lt;p&gt;Every issue iKML reports has a stable code. Scripts can match on the codes; they don&amp;rsquo;t change between versions. The same list is in the program: &lt;code&gt;ikml codes&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Severity decides the exit code of &lt;code&gt;ikml check&lt;/code&gt;: errors give exit status 1,&#xA;warnings give 1 only with &lt;code&gt;--strict&lt;/code&gt;, and info never does.&lt;/p&gt;&#xA;&lt;h2 id=&#34;errors&#34;&gt;Errors&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Code&lt;/th&gt;&#xA;          &lt;th&gt;Meaning&lt;/th&gt;&#xA;          &lt;th&gt;What &lt;code&gt;ikml clean&lt;/code&gt; does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;xml-invalid&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The KML is not well-formed XML. Most programs refuse the whole file. iKML reports the line and keeps what it could read before the problem.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;json-invalid&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The GeoJSON is not valid JSON. iKML reports the line of the first problem.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;geojson-structure&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The JSON is valid but does not follow GeoJSON rules, for example a missing &amp;ldquo;type&amp;rdquo; or a position that is not an array of numbers.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;kmz-invalid&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The file starts like a zip archive but cannot be read as one.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;kmz-no-kml&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The KMZ archive has no .kml file inside, so there is nothing to show.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;kmz-too-large&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The KMZ expands past iKML&amp;rsquo;s safety limit (512 MiB in total, or an entry that compresses far better than real data does). iKML stops reading to protect your machine.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;coord-parse&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A coordinate tuple could not be read as two or three numbers. Viewers usually drop the point or the whole shape.&lt;/td&gt;&#xA;          &lt;td&gt;Not fixed. The tuple is left as it is in KML output and dropped from GeoJSON output.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;lon-range&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A longitude is outside -180 to 180.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;lat-range&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A latitude is outside -90 to 90.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;swapped-latlon&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Every point of a placemark has the first value inside ±90 and the second outside ±90. That can only happen when latitude and longitude were written in the wrong order.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed only with &amp;ndash;fix-swapped.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ring-unclosed&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A polygon ring does not end on its first point. KML and GeoJSON both require closed rings.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: the first point is appended.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ring-too-short&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A polygon ring has fewer than 4 positions (3 corners plus the closing point), so it has no area.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;line-too-short&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A line has fewer than 2 positions.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;polygon-no-outer&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A Polygon has no outer boundary.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;kmz-missing-asset&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The document refers to a file (icon, image, overlay, model) that should be inside the KMZ but is not there.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;local-path-ref&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A reference points to a file on the creator&amp;rsquo;s computer (file:///, C:, /Users/, /home/ and similar). Nobody else can open it.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;kmz-unsafe-path&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A file inside the KMZ has a name that would unpack outside the folder: an absolute path, a drive letter or a .. step. A KMZ from a real mapping program never has one, and some unzip tools would write the file wherever the name points.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: the entry is left out of the cleaned copy, and iKML never writes such a name.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;style-missing&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A placemark uses a style (#id) that is not defined in the document. Viewers fall back to default styling.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: the broken styleUrl is removed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;warnings&#34;&gt;Warnings&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Code&lt;/th&gt;&#xA;          &lt;th&gt;Meaning&lt;/th&gt;&#xA;          &lt;th&gt;What &lt;code&gt;ikml clean&lt;/code&gt; does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;null-island&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A position is exactly 0,0, in the Gulf of Guinea. This is usually a missing value written as zero.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;duplicate-points&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A line or ring repeats the same position twice in a row.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: repeats are removed, as long as the shape keeps enough points. GPS tracks are left alone.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;coord-spacing&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Coordinates have spaces next to the commas (&amp;ldquo;34.8, 32.1&amp;rdquo;). KML separates points with spaces, so some programs read each number as its own point.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: the coordinates are rewritten without the extra spaces.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;empty-placemark&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A placemark or feature has no geometry, so it will not show on a map.&lt;/td&gt;&#xA;          &lt;td&gt;Kept and reported.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;http-ref&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A reference uses plain http://. Browsers and some viewers block it, and the content is not inside the file.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;mixed-dimensions&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;One shape mixes 2D (lon,lat) and 3D (lon,lat,alt) positions.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;geojson-crs&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The GeoJSON has a &amp;ldquo;crs&amp;rdquo; member. RFC 7946 removed it, and most tools ignore it and assume WGS 84 degrees.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed when the crs names WGS 84 (CRS84 or EPSG:4326): the member is removed. Other systems are left, because the coordinates would need reprojecting.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;geojson-nested-collection&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A GeometryCollection contains another GeometryCollection. RFC 7946 says not to do this and many tools reject it.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;old-namespace&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The file uses the KML 2.0 or 2.1 namespace. Newer tools expect 2.2.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: the namespace is changed to KML 2.2.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;no-kml-root&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The XML root is a Document, Folder or Placemark without the &lt;code&gt;&amp;lt;kml&amp;gt;&lt;/code&gt; wrapper.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;altitude-ignored&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Positions have non-zero altitudes but the altitude mode is clampToGround (the default). Most viewers will draw them on the ground.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;large-coordinate-count&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;One placemark has more than 100,000 positions. Many web maps slow down or refuse shapes this large.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;track-times-mismatch&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A gx:Track has a different number of &lt;code&gt;&amp;lt;when&amp;gt;&lt;/code&gt; times and &lt;code&gt;&amp;lt;gx:coord&amp;gt;&lt;/code&gt; positions. KML requires one time per position.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;kmz-duplicate-entry&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The KMZ holds two files with the same name. Programs differ on which one they use.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: the first copy is kept.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;duplicate-ids&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Two elements share the same id. Style references and feature lookups may pick the wrong one.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;info&#34;&gt;Info&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Code&lt;/th&gt;&#xA;          &lt;th&gt;Meaning&lt;/th&gt;&#xA;          &lt;th&gt;What &lt;code&gt;ikml clean&lt;/code&gt; does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;no-namespace&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The &lt;code&gt;&amp;lt;kml&amp;gt;&lt;/code&gt; root has no namespace. Most programs read it anyway.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed: the KML 2.2 namespace is added.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;remote-ref&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A reference points to an https:// address. It works online but the content is not inside the file.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;external-file-ref&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A plain .kml file refers to a file next to it on disk (for example an icon). That file must travel with the .kml.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;network-link&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The file contains a NetworkLink. Its contents load from elsewhere and are not part of this file.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;unused-asset&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A file inside the KMZ is not referenced by the document.&lt;/td&gt;&#xA;          &lt;td&gt;Removed only with &amp;ndash;drop-unused.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;unknown-element&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;An element iKML does not interpret, such as a vendor extension. It is kept in KML output and dropped from GeoJSON output.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;winding&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A GeoJSON ring winds the opposite way from RFC 7946 (outer rings counterclockwise, holes clockwise). Most tools accept either.&lt;/td&gt;&#xA;          &lt;td&gt;Fixed in GeoJSON output: rings are rewound.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;foreign-members&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The GeoJSON has members outside the specification. They are kept in GeoJSON output and dropped from KML output.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;overlay-present&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The file contains image overlays (GroundOverlay, ScreenOverlay or PhotoOverlay).&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;model-present&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The file contains 3D models.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;has-tracks&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The file contains gx:Track GPS tracks with a time for each point.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;has-timestamps&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Placemarks carry TimeStamp or TimeSpan values.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;empty-folder&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;A Folder or Document has nothing inside.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;encoding-converted&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The file is not UTF-8. iKML converted it, and cleaned output is written as UTF-8.&lt;/td&gt;&#xA;          &lt;td&gt;Reported, not changed.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;what-a-conversion-loses&#34;&gt;What a conversion loses&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;ikml convert&lt;/code&gt; and &lt;code&gt;ikml convert --report&lt;/code&gt; print a loss report for the&#xA;file in hand. For KML to GeoJSON, these are the parts it covers:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
