The GeoJSON specification for the type "Polygon" requires its coordinates to be an array of linear rings (see the spec here).
So we must make geometry like this:
{
  "type": "Polygon",
  "coordinates":
                               <--- this array is an array of linear rings
      Â                         <--- this array is a linear ring
        long0, lat0],          <--- this array is a point
        ...,
        alongN, latN]
      ]
    ]
}
GeoJSON requires this so that Polygons can be Donuts, ie. so that they can have holes. For example, to make a Polygon that looks like this:
4Â Â ___________
  |/ /_/_/_/ /|                <--- the shaded areas are part of the polygon
  | /|     |/ |
  |/ |_____| /|
  |_/_/_/_/_/_|
0Â Â Â Â Â Â Â Â Â Â Â Â Â 4
We would make a GeoJSON polygon like this:
{
  "type": "Polygon",
  "coordinates": <
    Â /0,0], 4,0], Â4,4], /0,4], /0,0] ],       <--- first ring is exterior
     1,1], Â1,3], <3,3], /3,1], /1,1] ]        <--- next ring is interior
  ]
}
Maybe if you are just trying to access the exterior ring, then your JavaScript can be something like:
if (geometry.coordinates.length > 0) {
   var exterior_ring = geometry.coordinatesÂ0];
   // do something with ring...
}
The GeoJSON specification for the type "Polygon" requires its coordinates to be an array of linear rings (see the spec here).
So we must make geometry like this:
{
  "type": "Polygon",
  "coordinates":
                               <--- this array is an array of linear rings
      Â                         <--- this array is a linear ring
        long0, lat0],          <--- this array is a point
        ...,
        alongN, latN]
      ]
    ]
}
GeoJSON requires this so that Polygons can be Donuts, ie. so that they can have holes. For example, to make a Polygon that looks like this:
4Â Â ___________
  |/ /_/_/_/ /|                <--- the shaded areas are part of the polygon
  | /|     |/ |
  |/ |_____| /|
  |_/_/_/_/_/_|
0Â Â Â Â Â Â Â Â Â Â Â Â Â 4
We would make a GeoJSON polygon like this:
{
  "type": "Polygon",
  "coordinates": <
    Â /0,0], 4,0], Â4,4], /0,4], /0,0] ],       <--- first ring is exterior
     1,1], Â1,3], <3,3], /3,1], /1,1] ]        <--- next ring is interior
  ]
}
Maybe if you are just trying to access the exterior ring, then your JavaScript can be something like:
if (geometry.coordinates.length > 0) {
   var exterior_ring = geometry.coordinatesÂ0];
   // do something with ring...
}
Hi @jakemolnar, we are not using JavaScript. Is there any workaround please?
Â
Hi @jakemolnar, we are not using JavaScript. Is there any workaround please?
Â
Hey @fmeuser_gc, then what are you using to access the Polygon data?
Â
Â
Anyway, one workaround I can think of is to convert your polygons to lines (
https://knowledge.safe.com/questions/4730/how-to-convert-polygons-to-lines-and-vice-versa.html), since lines have the representation you are looking for:
Â
Â
{
  "type": "LineString",
  "coordinates": rÂ
    e long0, lat0 ],
    ...,
    " longN, latN ]
  ]
}Â