Parse GML.
1862 xmlNodePtr xa = xnode;
1865 while (xa != NULL && (xa->type != XML_ELEMENT_NODE
1868 if (xa == NULL)
gml_lwpgerror(
"invalid GML representation", 55);
1873 *root_srid = srs.
srid;
1876 if (!strcmp((
char *) xa->name,
"Point"))
1879 if (!strcmp((
char *) xa->name,
"LineString"))
1882 if (!strcmp((
char *) xa->name,
"Curve"))
1885 if (!strcmp((
char *) xa->name,
"LinearRing"))
1888 if (!strcmp((
char *) xa->name,
"Polygon"))
1891 if (!strcmp((
char *) xa->name,
"Triangle"))
1894 if (!strcmp((
char *) xa->name,
"Surface"))
1897 if (!strcmp((
char *) xa->name,
"MultiPoint"))
1900 if (!strcmp((
char *) xa->name,
"MultiLineString"))
1903 if (!strcmp((
char *) xa->name,
"MultiCurve"))
1906 if (!strcmp((
char *) xa->name,
"MultiPolygon"))
1909 if (!strcmp((
char *) xa->name,
"MultiSurface"))
1912 if (!strcmp((
char *) xa->name,
"PolyhedralSurface"))
1915 if ((!strcmp((
char *) xa->name,
"Tin")) ||
1916 !strcmp((
char *) xa->name,
"TriangulatedSurface" ))
1919 if (!strcmp((
char *) xa->name,
"MultiGeometry"))
#define SRID_UNKNOWN
Unknown SRID value.
static LWGEOM * parse_gml_surface(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML Surface (3.1.1)
static LWGEOM * parse_gml_msurface(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML MultiSurface (3.1.1)
static LWGEOM * parse_gml_psurface(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML PolyhedralSurface (3.1.1) Nota: It's not part of SF-2.
static LWGEOM * parse_gml_coll(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML MultiGeometry (2.1.2, 3.1.1)
static LWGEOM * parse_gml_mcurve(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML MultiCurve (3.1.1)
static bool is_gml_namespace(xmlNodePtr xnode, bool is_strict)
Return false if current element namespace is not a GML one Return true otherwise.
static void parse_gml_srs(xmlNodePtr xnode, gmlSrs *srs)
Parse gml srsName attribute.
static LWGEOM * parse_gml_polygon(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML Polygon (2.1.2, 3.1.1)
static LWGEOM * parse_gml_line(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML lineString (2.1.2, 3.1.1)
static LWGEOM * parse_gml_mpoly(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML MultiPolygon (2.1.2, 3.1.1)
static LWGEOM * parse_gml_curve(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML Curve (3.1.1)
static void gml_lwpgerror(char *msg, __attribute__((__unused__)) int error_code)
static LWGEOM * parse_gml_mpoint(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse gml:MultiPoint (2.1.2, 3.1.1)
static LWGEOM * parse_gml_point(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML point (2.1.2, 3.1.1)
static LWGEOM * parse_gml_tin(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML Tin (and TriangulatedSurface) (3.1.1)
static LWGEOM * parse_gml_triangle(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML Triangle (3.1.1)
static LWGEOM * parse_gml_mline(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse gml:MultiLineString (2.1.2, 3.1.1)
static LWGEOM * parse_gml_linearring(xmlNodePtr xnode, bool *hasz, int *root_srid)
Parse GML LinearRing (3.1.1)