Define Region - GLOBE Observer
Defining a Region of Interest
GeoJSON is a geospatial data interchange format based on JavaScript Object Notation (JSON). It defines several types of JSON objects and the manner in which they are combined to represent data about geographic features, their properties, and their spatial extents. GeoJSON uses a geographic coordinate reference system, World Geodetic System 1984, and units of decimal degrees. (Source: GeoJSON Specification, RFC 7946 , developed by the Internet Engineering Task Force)
GLOBE requests that all users create a GeoJSON file which includes the necessary information to establish the area of interest. One multi-polygon GeoJSON file can be used to define multiple areas if desired. To help minimize user upload burden, we request that you avoid overly complex GeoJSON files. You can also use a website like GeoJSON.io to review your file before submitting to GLOBE. GeoJSON.io will also allow you to convert other formats into GeoJSON, including converting a CSV file into a set of points. This tutorial about drawing and editing with GeoJSON.io may be helpful.
A GeoJSON Feature can have seven different geometry types, of which Polygon is the simplest to use to define a region for the GLOBE Observer geofencing data request capability. The Point type may also be needed in some circumstances. Features can be part of a FeatureCollection containing multiple Polygons or Points. Features can also have other properties, such as an attribute to give the feature a name. Polygons are defined by an array of coordinates in the form [Longitude, Latitude] and separated by commas. The first and last coordinates must be the same to close the loop on the polygon. Below are some examples of GeoJSON polygons (click the to expand).
NOTE FOR THOSE PARTICIPATING IN THE PILOT PERIOD: There is currently an issue using GeoJSON files with points for a data request. The points show up properly on the map on the project submission form, but they aren’t displaying properly in the map in the app. A workaround is to use small polygons at the places you would like data from, rather than actual points. We are working to resolve the issue, and appreciate your patience.
Simple bounding box or polygon:
The below example is a GeoJSON for a simple rectangle surrounding Mount Tabor Park in Portland, Oregon. Note the type of feature is a Polygon, and the five points to define it (starting and ending at the same place) are in the format [Longitude,Latitude].
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"name":"Mount Tabor Park"},
"geometry": {
"type": "Polygon",
"coordinates": [
[[-122.6019,45.5053],
[-122.5891,45.5053],
[-122.5891,45.5166],
[-122.6019,45.5166],
[-122.6019,45.5053]]
]
}
}
]
}
Multiple polygons:
In this example, three different parks in the Toledo, Ohio area are outlined and grouped together in the same FeatureCollection. These are still simple shapes with five points to define each (starting and ending at the same place), but are no longer a basic rectangle. Coordinates are in the format [Longitude,Latitude].
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"name": "Glass City Metropark",
"geometry": {
"type": "Polygon",
"coordinates": [
[[-83.5160,41.6558],
[-83.5247,41.6526],
[-83.5209,41.6498],
[-83.5136,41.6538],
[-83.5160,41.6558]]
]
}
},
{
"type": "Feature",
"properties": {"name": "Thomas Edison and Tribute Park"},
"geometry": {
"type": "Polygon",
"coordinates": [
[[-83.5137,41.6577],
[-83.5077,41.6517],
[-83.5050,41.6531],
[-83.5112,41.6590],
[-83.5137,41.6577]]
]
}
},
{
"type": "Feature",
"properties": {"name": "Ravine Park"},
"geometry": {
"type": "Polygon",
"coordinates": [
[[-83.4875,41.6541],
[-83.4875,41.6567],
[-83.4943, 41.6549],
[-83.4963,41.6516],
[-83.4875, 41.6541]]
]
}
}
]
}
Complex polygon:
Here is an example of a single polygon, but one that is defined by a greater number of points for a more complex shape. In this case, it is outlining the boundary of Dixie National Forest in southwest Utah.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {"name":"Dixie National Forest"},
"geometry": {
"type": "Polygon",
"coordinates": [
[[-113.8046,37.6892],
[-114.0491,37.6990],
[-114.1370,37.5446],
[-114.0738,37.3309],
[-113.9941,37.3101],
[-113.9461,37.4334],
[-113.8376,37.3560],
[-113.6343,37.3985],
[-113.6014, 37.2544],
[-113.6728,37.3014],
[-113.7607,37.2992],
[-113.7978,37.2117],
[-113.5767,37.0837],
[-113.3981,37.1548],
[-113.2333,37.3789],
[-113.2896,37.6208],
[-113.5423,37.6512],
[-113.7868,37.5729],
[-113.8046,37.6892]]
]
}
}
]
}
Set of points:
The final example is a set of points representing trees near the community center and library in Greenbelt, Maryland. Each Point is its own Feature in the FeatureCollection with the desired coordinates in [Longitude,Latitude] format. This type of GeoJSON file can be created by converting a CSV file into a GeoJSON, for example by using GeoJSON.io (This tutorial about drawing and editing with GeoJSON.io may be helpful).
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87789857387543,39.00034270108453]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87809705734252,39.0004177415258]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87834113836288, 39.000371883487794
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87850207090378, 39.00044483944338]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.8784162402153, 39.00068872023446]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87878638505936, 39.00071998694175]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87866568565369, 39.00052196422888]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87896072864532, 39.00065328461616]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87873005867004, 39.00037813685839]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87926918268204, 39.00045109280749]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87932282686234, 39.000540724299135]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87951326370239, 39.000559484364395]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87898755073547, 39.001045159878494]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87820166349411, 39.00077001364469]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87896609306335, 39.00124109669574]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87792807817459, 39.0015037345571]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87801122665405, 39.00160170239857]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87813997268677, 39.00164339080058]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87835991382597, 39.00163922196148]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87855571508408, 39.00144537067215]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.8784886598587, 39.00186225450827]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87851011753082, 39.00206027346989]
}
},
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [-76.87929332256317, 39.00175178053091]
}
},
]
}