You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.9 KiB
66 lines
1.9 KiB
// SPDX-License-Identifier: MIT
|
|
// Copyright 2007, Mateusz Loskot
|
|
// Copyright 2008-2024, Even Rouault <even.rouault at spatialys.com>
|
|
|
|
#ifndef OGRGEOJSONGEOMETRY_H_INCLUDED
|
|
#define OGRGEOJSONGEOMETRY_H_INCLUDED
|
|
|
|
/*! @cond Doxygen_Suppress */
|
|
|
|
#include "cpl_port.h"
|
|
#include "cpl_json_header.h"
|
|
|
|
#include "ogr_api.h"
|
|
|
|
class OGRGeometry;
|
|
class OGRPolygon;
|
|
class OGRSpatialReference;
|
|
|
|
/************************************************************************/
|
|
/* GeoJSONObject */
|
|
/************************************************************************/
|
|
|
|
struct GeoJSONObject
|
|
{
|
|
enum Type
|
|
{
|
|
eUnknown = wkbUnknown, // non-GeoJSON properties
|
|
ePoint = wkbPoint,
|
|
eLineString = wkbLineString,
|
|
ePolygon = wkbPolygon,
|
|
eMultiPoint = wkbMultiPoint,
|
|
eMultiLineString = wkbMultiLineString,
|
|
eMultiPolygon = wkbMultiPolygon,
|
|
eGeometryCollection = wkbGeometryCollection,
|
|
eFeature,
|
|
eFeatureCollection
|
|
};
|
|
|
|
enum CoordinateDimension
|
|
{
|
|
eMinCoordinateDimension = 2,
|
|
eMaxCoordinateDimension = 3
|
|
};
|
|
};
|
|
|
|
/************************************************************************/
|
|
/* GeoJSON Geometry Translators */
|
|
/************************************************************************/
|
|
|
|
GeoJSONObject::Type CPL_DLL OGRGeoJSONGetType(json_object *poObj);
|
|
|
|
OGRwkbGeometryType CPL_DLL OGRGeoJSONGetOGRGeometryType(json_object *poObj);
|
|
|
|
OGRGeometry CPL_DLL *
|
|
OGRGeoJSONReadGeometry(json_object *poObj,
|
|
OGRSpatialReference *poParentSRS = nullptr);
|
|
OGRSpatialReference CPL_DLL *OGRGeoJSONReadSpatialReference(json_object *poObj);
|
|
|
|
OGRPolygon *OGRGeoJSONReadPolygon(json_object *poObj, bool bRaw = false);
|
|
|
|
const char *OGRGeoJSONGetGeometryName(OGRGeometry const *poGeometry);
|
|
|
|
/*! @endcond */
|
|
|
|
#endif
|