<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sean Gillies (Posts about ecma)</title><link>https://sgillies.net/</link><description></description><atom:link href="https://sgillies.net/tags/ecma.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Sun, 31 Dec 2023 01:26:23 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Some consequences of GeoJSON features as arrays</title><link>https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;Don't mind me, I'm just thinking out loud about the GeoJSON format.&lt;/p&gt;
&lt;p&gt;A GeoJSON Feature Collection is an object with a "features" key and the value
for the key is specified to be an array of Feature objects. Is the order of
Features significant? In the context of my &lt;a class="reference external" href="http://sgillies.net/blog/2013/12/04/json-diff-and-patch-for-geojson.html"&gt;previous post&lt;/a&gt;,
should a zero or empty RFC 6902 diff between this&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code javascript"&gt;&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-1" name="rest_code_23f90d7361a5468995d9a90765d69528-1" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-1"&gt;&lt;/a&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"FeatureCollection"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-2" name="rest_code_23f90d7361a5468995d9a90765d69528-2" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="s2"&gt;"features"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-3" name="rest_code_23f90d7361a5468995d9a90765d69528-3" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Feature"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-4" name="rest_code_23f90d7361a5468995d9a90765d69528-4" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"foo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-5" name="rest_code_23f90d7361a5468995d9a90765d69528-5" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-5"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-6" name="rest_code_23f90d7361a5468995d9a90765d69528-6" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-6"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Feature"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-7" name="rest_code_23f90d7361a5468995d9a90765d69528-7" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-7"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"bar"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_23f90d7361a5468995d9a90765d69528-8" name="rest_code_23f90d7361a5468995d9a90765d69528-8" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_23f90d7361a5468995d9a90765d69528-8"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and this, where the feature array has been reversed,&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code javascript"&gt;&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-1" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-1" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-1"&gt;&lt;/a&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"FeatureCollection"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-2" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-2" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="s2"&gt;"features"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-3" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-3" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Feature"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-4" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-4" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"bar"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-5" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-5" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-5"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-6" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-6" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-6"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Feature"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-7" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-7" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-7"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"foo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-8" name="rest_code_b8c6ad036f1045569e9cb6fed9478fb3-8" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b8c6ad036f1045569e9cb6fed9478fb3-8"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;be expected? Strictly speaking, no, because in JSON (see &lt;a class="reference external" href="http://www.json.org"&gt;json.org&lt;/a&gt; or &lt;a class="reference external" href="http://www.ecma-international.org/publications/standards/Ecma-404.htm"&gt;ECMA 404&lt;/a&gt;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An array is an ordered collection of values.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;whereas&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An object is an unordered set of name/value pairs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My question is related to &lt;a class="reference external" href="http://www.ietf.org/mail-archive/web/apps-discuss/current/msg08749.html"&gt;one asked on the IETF's apps-discuss
list&lt;/a&gt; in
January. Should we expect to be able to patch GeoJSON documents using the ids
of individual features? Being able to do so is more or less the reason why
GeoJSON Features have unique ids, but it's clear to me that a generic RFC 6902
won't do. As James Snell points out in that thread, more expressive paths will
be required.&lt;/p&gt;
&lt;p&gt;In my previous post on this topic (see link at the top of this one) I looked at
the addition of a new feature to the tail of the features array. The JSON patch
in this case was very simple. But what if that feature had been inserted at the
head of the features array? Is the resulting patch going to be something that
reads like "push back existing items and add new item to the head?" The result
from python-json-patch isn't pretty.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code javascript"&gt;&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-1" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-1" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-1"&gt;&lt;/a&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-2" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-2" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-3" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-3" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/0/geometry/coordinates/0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-4" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-4" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;122.65496134757996&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-5" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-5" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-5"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-6" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-6" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-6"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-7" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-7" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-7"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-8" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-8" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-8"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/0/geometry/coordinates/1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-9" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-9" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-9"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;45.5212590460849&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-10" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-10" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-10"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-11" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-11" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-11"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-12" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-12" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-12"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-13" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-13" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-13"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/0/properties/Notes"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-14" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-14" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-14"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"remove"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-15" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-15" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-15"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-16" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-16" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-16"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-17" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-17" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-17"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/0/properties/Name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-18" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-18" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-18"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Three Friends Coffeehouse"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-19" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-19" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-19"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-20" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-20" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-20"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-21" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-21" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-21"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-22" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-22" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-22"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/0/properties/Address"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-23" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-23" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-23"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"201 SE 12th Ave, Portland, OR 97214"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-24" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-24" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-24"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-25" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-25" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-25"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-26" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-26" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-26"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-27" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-27" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-27"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/1/geometry/coordinates/0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-28" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-28" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-28"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;122.67516911029816&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-29" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-29" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-29"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-30" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-30" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-30"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-31" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-31" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-31"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-32" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-32" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-32"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/1/geometry/coordinates/1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-33" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-33" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-33"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;45.55673233031101&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-34" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-34" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-34"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-35" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-35" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-35"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-36" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-36" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-36"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-37" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-37" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-37"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/1/properties/Notes"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-38" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-38" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-38"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"usually busy, outlets on side wall only"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-39" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-39" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-39"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-40" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-40" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-40"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-41" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-41" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-41"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-42" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-42" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-42"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/1/properties/Name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-43" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-43" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-43"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Albina Press"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-44" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-44" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-44"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-45" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-45" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-45"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-46" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-46" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-46"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-47" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-47" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-47"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/1/properties/Address"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-48" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-48" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-48"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"4637 N Albina Ave  Portland, OR 97217"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-49" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-49" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-49"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"replace"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-50" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-50" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-50"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-51" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-51" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-51"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-52" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-52" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-52"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-53" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-53" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-53"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-54" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-54" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-54"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"geometry"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-55" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-55" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-55"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Point"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-56" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-56" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-56"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"coordinates"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-57" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-57" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-57"&gt;&lt;/a&gt;&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;122.68242716789246&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-58" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-58" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-58"&gt;&lt;/a&gt;&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="mf"&gt;45.56997505986905&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-59" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-59" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-59"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-60" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-60" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-60"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-61" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-61" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-61"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Feature"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-62" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-62" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-62"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"properties"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-63" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-63" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-63"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"Notes"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-64" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-64" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-64"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"Name"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Arbor Lodge"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-65" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-65" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-65"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"Address"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1507 N Rosa Parks Way  Portland, OR 97217"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-66" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-66" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-66"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-67" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-67" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-67"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-68" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-68" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-68"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"add"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-69" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-69" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-69"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-70" name="rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-70" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_b2f2ef2f978e420a896b9d786d3a5e7f-70"&gt;&lt;/a&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Unless I misunderstand RFC 6901 and RFC 6902, the following ought to be
possible.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code javascript"&gt;&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-1" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-1" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-1"&gt;&lt;/a&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-2" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-2" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-2"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"move"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"from"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/foo/1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/foo/2"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-3" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-3" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-3"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"move"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"from"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/foo/0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/foo/1"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-4" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-4" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-4"&gt;&lt;/a&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"path"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/features/0`"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-5" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-5" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-5"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"value"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-6" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-6" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-6"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"geometry"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-7" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-7" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-7"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Point"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-8" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-8" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-8"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"coordinates"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-9" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-9" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-9"&gt;&lt;/a&gt;&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;122.65496134757996&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-10" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-10" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-10"&gt;&lt;/a&gt;&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="mf"&gt;45.5212590460849&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-11" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-11" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-11"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-12" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-12" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-12"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-13" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-13" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-13"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"type"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Feature"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-14" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-14" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-14"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="s2"&gt;"properties"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-15" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-15" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-15"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"Name"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Three Friends Coffeehouse"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-16" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-16" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-16"&gt;&lt;/a&gt;&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;"Address"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"201 SE 12th Ave, Portland, OR 97214"&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-17" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-17" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-17"&gt;&lt;/a&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-18" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-18" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-18"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-19" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-19" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-19"&gt;&lt;/a&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;"op"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"add"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;a id="rest_code_99f85a7e6fe446b289cd84b5fa01470c-20" name="rest_code_99f85a7e6fe446b289cd84b5fa01470c-20" href="https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html#rest_code_99f85a7e6fe446b289cd84b5fa01470c-20"&gt;&lt;/a&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Making concise patches won't be trivial, that seems clear, and the ideal patch
style for GeoJSON could differ from the ideal style for other applications.
I'm certain that we'd need to get to patches like the latter to make GeoJSON
patching something that developers would consider adopting. JSON PATCH provides
a useful grammar but by itself isn't enough. There's more work to be done.&lt;/p&gt;
&lt;p&gt;Did we ever consider making FeatureCollection's features key have an object
value? I'll look in the GeoJSON list archive when I have time.&lt;/p&gt;</description><category>diff</category><category>ecma</category><category>geojson</category><category>http</category><category>ietf</category><category>json</category><category>patch</category><category>python</category><category>work</category><guid>https://sgillies.net/2013/12/06/some-consequences-of-geojson-features-as-arrays.html</guid><pubDate>Fri, 06 Dec 2013 07:00:00 GMT</pubDate></item></channel></rss>