Parse GML.
1917 xmlNodePtr xa = xnode;
1920 while (xa != NULL && (xa->type != XML_ELEMENT_NODE
1923 if (xa == NULL)
gml_lwpgerror(
"invalid GML representation", 55);
1928 *root_srid = srs.
srid;
1931 if (!strcmp((
char *) xa->name,
"Point"))
1934 if (!strcmp((
char *) xa->name,
"LineString"))
1937 if (!strcmp((
char *) xa->name,
"Curve"))
1940 if (!strcmp((
char *) xa->name,
"LinearRing"))
1943 if (!strcmp((
char *) xa->name,
"Polygon"))
1946 if (!strcmp((
char *) xa->name,
"Triangle"))
1949 if (!strcmp((
char *) xa->name,
"Surface"))
1952 if (!strcmp((
char *) xa->name,
"MultiPoint"))
1955 if (!strcmp((
char *) xa->name,
"MultiLineString"))
1958 if (!strcmp((
char *) xa->name,
"MultiCurve"))
1961 if (!strcmp((
char *) xa->name,
"MultiPolygon"))
1964 if (!strcmp((
char *) xa->name,
"MultiSurface"))
1967 if (!strcmp((
char *) xa->name,
"PolyhedralSurface"))
1970 if ((!strcmp((
char *) xa->name,
"Tin")) ||
1971 !strcmp((
char *) xa->name,
"TriangulatedSurface" ))
1974 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)