<span class="Apple-style-span" style="border-collapse: collapse; color: rgb(136, 136, 136); ">I read through the earlier thread about this at<div><br></div><div><a href="http://lists.geojson.org/htdig.cgi/geojson-geojson.org/2008-October/000464.html" target="_blank" style="color: rgb(42, 93, 176); ">http://lists.geojson.org/htdig.cgi/geojson-geojson.org/2008-October/000464.html</a><br>
</div><div><br></div><div>and was not sure as to its conclusion - whether GeoJSON supports nested FeatureCollections or prohibits them.</div><div><br></div><div>The application-specific issue that we are working with and trying to resolve is towards sharing recent ocean observations as GeoJSON , for example we have ocean buoy platforms which contain a collection of sensors with each sensor containing a collection of associated observations.</div>
<div><br></div><div>I've taken a shot at describing this as a GeoJSON microschema (ObsJSON) at </div><div><br></div><div><a href="http://code.google.com/p/xenia/wiki/ObsJSON#Simple_schema_version_2" target="_blank" style="color: rgb(42, 93, 176); ">http://code.google.com/p/xenia/wiki/ObsJSON#Simple_schema_version_2</a><br>
</div><div><br></div><div>where each GeoJSON file contains only one platforms recent observations and each feature models a sensor and its associated observations</div><div><pre style="font-size: 110%; margin-left: 2em; padding-top: 0.5em; padding-right: 0.5em; padding-bottom: 0.5em; padding-left: 0.5em; border-left-width: 3px; border-left-style: solid; border-left-color: rgb(204, 204, 204); white-space: pre-wrap; word-wrap: break-word; ">
<span style="color: rgb(102, 102, 0); ">{</span><span style="color: rgb(0, 0, 0); "><br>    </span><span style="color: rgb(0, 136, 0); ">"type"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"FeatureCollection"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"schemaRef"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"ioos blessed schema name reference(s)"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"dictionaryRef"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"ioos blessed obstype uom dictionary reference(s)"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"dictionaryURL"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"<a href="http://nautilus.baruch.sc.edu/obsjson/secoora_dictionary.json" target="_blank" style="color: rgb(42, 93, 176); ">http://nautilus.baruch.sc.edu/obsjson/secoora_dictionary.json</a>"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"platformId"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"urn:x-noaa:def:station:noaa.nws.ndbc::41012"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"metadataURL"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"link to further operator/platform metadata/links as XML/JSON"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"operatorName"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"ndbc"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"operatorURL"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"<a href="http://www.ndbc.noaa.gov/" target="_blank" style="color: rgb(42, 93, 176); ">http://www.ndbc.noaa.gov/</a>"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"platformName"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"41012"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"platformURL"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"<a href="http://www.ndbc.noaa.gov/station_page.php?station=41012" target="_blank" style="color: rgb(42, 93, 176); ">http://www.ndbc.noaa.gov/station_page.php?station=41012</a>"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

    </span><span style="color: rgb(0, 136, 0); ">"features"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">[</span><span style="color: rgb(0, 0, 0); "><br>

        </span><span style="color: rgb(102, 102, 0); ">{</span><span style="color: rgb(0, 0, 0); "><br>            </span><span style="color: rgb(0, 136, 0); ">"type"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"Feature"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

            </span><span style="color: rgb(0, 136, 0); ">"geometry"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">{</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"type"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"MultiPoint"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"coordinates"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">[[-</span><span style="color: rgb(0, 102, 102); ">80.55</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">30.04</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">3</span><span style="color: rgb(102, 102, 0); ">],[-</span><span style="color: rgb(0, 102, 102); ">79.00</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">31.00</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">3</span><span style="color: rgb(102, 102, 0); ">],[-</span><span style="color: rgb(0, 102, 102); ">78.00</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">32.00</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">3</span><span style="color: rgb(102, 102, 0); ">]]</span><span style="color: rgb(0, 0, 0); "> <br>

            </span><span style="color: rgb(102, 102, 0); ">},</span><span style="color: rgb(0, 0, 0); "><br>            </span><span style="color: rgb(0, 136, 0); ">"properties"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">{</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"sensorId"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"link to further sensor metadata/links as XML/JSON"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"obsType"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"air_temperature"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"uomType"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"celsius"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"time"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">[</span><span style="color: rgb(0, 136, 0); ">"2009-03-31T10:50:00Z"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"2009-03-31T11:50:00Z"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"2009-03-31T12:50:00Z"</span><span style="color: rgb(102, 102, 0); ">],</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"value"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">[</span><span style="color: rgb(0, 136, 0); ">"22.0"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"23.0"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"24.0"</span><span style="color: rgb(102, 102, 0); ">]</span><span style="color: rgb(0, 0, 0); "> <br>

            </span><span style="color: rgb(102, 102, 0); ">}</span><span style="color: rgb(0, 0, 0); "> <br>        </span><span style="color: rgb(102, 102, 0); ">},</span><span style="color: rgb(0, 0, 0); "><br>
        </span><span style="color: rgb(102, 102, 0); ">{</span><span style="color: rgb(0, 0, 0); "><br>            </span><span style="color: rgb(0, 136, 0); ">"type"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"Feature"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

            </span><span style="color: rgb(0, 136, 0); ">"geometry"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">{</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"type"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"MultiPoint"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"coordinates"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">[[-</span><span style="color: rgb(0, 102, 102); ">80.55</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">30.04</span><span style="color: rgb(102, 102, 0); ">,-</span><span style="color: rgb(0, 102, 102); ">1</span><span style="color: rgb(102, 102, 0); ">],[-</span><span style="color: rgb(0, 102, 102); ">79.00</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">31.00</span><span style="color: rgb(102, 102, 0); ">,-</span><span style="color: rgb(0, 102, 102); ">1</span><span style="color: rgb(102, 102, 0); ">],[-</span><span style="color: rgb(0, 102, 102); ">78.00</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 102, 102); ">32.00</span><span style="color: rgb(102, 102, 0); ">,-</span><span style="color: rgb(0, 102, 102); ">1</span><span style="color: rgb(102, 102, 0); ">]]</span><span style="color: rgb(0, 0, 0); "> <br>

            </span><span style="color: rgb(102, 102, 0); ">},</span><span style="color: rgb(0, 0, 0); "><br>            </span><span style="color: rgb(0, 136, 0); ">"properties"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">{</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"sensorId"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"link to further sensor metadata/links as XML/JSON"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"obsType"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"water_temperature"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"uomType"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 136, 0); ">"celsius"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"time"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">[</span><span style="color: rgb(0, 136, 0); ">"2009-03-31T10:50:00Z"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"2009-03-31T11:50:00Z"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"2009-03-31T12:50:00Z"</span><span style="color: rgb(102, 102, 0); ">],</span><span style="color: rgb(0, 0, 0); "><br>

                </span><span style="color: rgb(0, 136, 0); ">"value"</span><span style="color: rgb(102, 102, 0); ">:</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(102, 102, 0); ">[</span><span style="color: rgb(0, 136, 0); ">"17.0"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"18.0"</span><span style="color: rgb(102, 102, 0); ">,</span><span style="color: rgb(0, 136, 0); ">"19.0"</span><span style="color: rgb(102, 102, 0); ">]</span><span style="color: rgb(0, 0, 0); "> <br>

            </span><span style="color: rgb(102, 102, 0); ">}</span><span style="color: rgb(0, 0, 0); "> <br>        </span><span style="color: rgb(102, 102, 0); ">}</span><span style="color: rgb(0, 0, 0); "> <br>
    </span><span style="color: rgb(102, 102, 0); ">]</span><span style="color: rgb(0, 0, 0); "> <br></span><span style="color: rgb(102, 102, 0); ">}</span></pre></div><div><br></div><div>Not sure if the above schema is kosher in regards to GeoJSON property listings containing time/value lists which might be cross-associated with location lists or potential nesting of properties(contact lists with similar contact properties) at the featurecollection metadata level.</div>
<div><br></div><div>The follow-up question that I've had is that if someone makes a bounding-box request for several platforms, could the above type featurecollection results be further nested within a featurecollection of multiple platforms.</div>
<div><br></div><div>Thanks</div><div>Jeremy Cothran</div><font color="#888888"><div>Software Developer</div><div><a href="http://groups.google.com/group/xeniavm" target="_blank" style="color: rgb(42, 93, 176); ">http://groups.google.com/group/xeniavm</a><br>
</div><div><br></div></font></span><font color="#888888"></font>