MCPcopy Index your code
hub / github.com/MapServer/MapServer / msGML3Point

Function msGML3Point

mapgml.c:1642–1680  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1640 */
1641
1642xmlNodePtr msGML3Point(xmlNsPtr psNs, const char *psSrsName, const char *id, double x, double y) {
1643 xmlNodePtr psNode = NULL, psSubNode = NULL;
1644 char *pszTmp = NULL;
1645 int dimension = 2;
1646 char *pszSrsName = NULL;
1647 char *pszTmp2 = NULL;
1648 size_t bufferSize = 0;
1649
1650 psNode = xmlNewNode(psNs, BAD_CAST "Point");
1651
1652 if (id) {
1653 xmlNewNsProp(psNode, psNs, BAD_CAST "id", BAD_CAST id);
1654 }
1655
1656 if (psSrsName) {
1657 bufferSize = strlen(psSrsName)+1;
1658 pszSrsName = (char *) msSmallMalloc(bufferSize);
1659 snprintf(pszSrsName, bufferSize, "%s", psSrsName);
1660 msStringToLower(pszSrsName);
1661 pszTmp = msStringConcatenate(pszTmp, "urn:ogc:crs:");
1662 pszTmp = msStringConcatenate(pszTmp, pszSrsName);
1663 xmlNewProp(psNode, BAD_CAST "srsName", BAD_CAST pszTmp);
1664 free(pszSrsName);
1665 free(pszTmp);
1666 pszTmp = msIntToString(dimension);
1667 xmlNewProp(psNode, BAD_CAST "srsDimension", BAD_CAST pszTmp);
1668 free(pszTmp);
1669 }
1670
1671 pszTmp = msDoubleToString(x, MS_TRUE);
1672 pszTmp = msStringConcatenate(pszTmp, " ");
1673 pszTmp2 = msDoubleToString(y, MS_TRUE);
1674 pszTmp = msStringConcatenate(pszTmp, pszTmp2);
1675 psSubNode = xmlNewChild(psNode, NULL, BAD_CAST "pos", BAD_CAST pszTmp);
1676
1677 free(pszTmp);
1678 free(pszTmp2);
1679 return psNode;
1680}
1681
1682/**
1683 * msGML3TimePeriod()

Callers 1

msSOSAddGeometryNodeFunction · 0.85

Calls 5

msSmallMallocFunction · 0.85
msStringToLowerFunction · 0.85
msStringConcatenateFunction · 0.85
msIntToStringFunction · 0.85
msDoubleToStringFunction · 0.85

Tested by

no test coverage detected