Parse gml:posList.
814 xmlChar *dimension, *gmlposlist;
822 dimension =
gmlGetProp(xnode, (xmlChar *)
"srsDimension");
823 if (dimension == NULL)
824 dimension =
gmlGetProp(xnode, (xmlChar *)
"dimension");
825 if (dimension == NULL) dim = 2;
828 dim = atoi((
char *) dimension);
830 if (dim < 2 || dim > 3)
gml_lwpgerror(
"invalid GML representation", 27);
832 if (dim == 2) *hasz =
false;
835 gmlposlist = xmlNodeGetContent(xnode);
836 poslist = (
char *) gmlposlist;
844 while (isspace(*poslist)) poslist++;
845 for (p=poslist, gml_dim=0, digit=
false ; *poslist ; poslist++)
847 if (isdigit(*poslist)) digit =
true;
848 if (digit && (*poslist ==
' ' || *(poslist+1) ==
'\0'))
850 if (*poslist ==
' ') *poslist =
'\0';
861 pt.
x = pt.
y = pt.
z = pt.
m = 0.0;
864 else if (*(poslist+1) ==
'\0')
POINTARRAY * ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)
Create a new POINTARRAY with no points.
int ptarray_append_point(POINTARRAY *pa, const POINT4D *pt, int allow_duplicates)
Append a point to the end of an existing POINTARRAY If allow_duplicate is LW_FALSE,...
#define LW_TRUE
Return types for functions with status returns.
static double parse_gml_double(char *d, bool space_before, bool space_after)
Parse a string supposed to be a double.
static xmlChar * gmlGetProp(xmlNodePtr xnode, xmlChar *prop)
Retrieve a GML property from a node or NULL otherwise Respect namespaces if presents in the node elem...
static void gml_lwpgerror(char *msg, __attribute__((__unused__)) int error_code)