MCPcopy Create free account
hub / github.com/MapServer/MapServer / msOWSCommonBoundingBox

Function msOWSCommonBoundingBox

mapowscommon.c:508–548  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

506 */
507
508xmlNodePtr msOWSCommonBoundingBox(xmlNsPtr psNsOws, const char *crs, int dimensions, double minx, double miny, double maxx, double maxy) {
509 char LowerCorner[100];
510 char UpperCorner[100];
511 char dim_string[100];
512 xmlNodePtr psRootNode = NULL;
513
514 /* Do we need to reorient tuple axes? */
515 {
516 projectionObj proj;
517
518 msInitProjection( &proj );
519 if( msLoadProjectionString( &proj, (char *) crs ) == 0 )
520 {
521 msAxisNormalizePoints( &proj, 1, &minx, &miny );
522 msAxisNormalizePoints( &proj, 1, &maxx, &maxy );
523 }
524 msFreeProjection( &proj );
525 }
526
527
528 if (_validateNamespace(psNsOws) == MS_FAILURE)
529 psNsOws = xmlNewNs(psRootNode, BAD_CAST MS_OWSCOMMON_OWS_NAMESPACE_URI, BAD_CAST MS_OWSCOMMON_OWS_NAMESPACE_PREFIX);
530
531 /* create element name */
532 psRootNode = xmlNewNode(psNsOws, BAD_CAST "BoundingBox");
533
534 /* add attributes to the root element */
535 xmlNewProp(psRootNode, BAD_CAST "crs", BAD_CAST crs);
536
537 snprintf( dim_string, sizeof(dim_string), "%d", dimensions );
538 xmlNewProp(psRootNode, BAD_CAST "dimensions", BAD_CAST dim_string);
539
540 snprintf(LowerCorner, sizeof(LowerCorner), "%.15g %.15g", minx, miny);
541 snprintf(UpperCorner, sizeof(UpperCorner), "%.15g %.15g", maxx, maxy);
542
543 /* add child elements */
544 xmlNewChild(psRootNode, psNsOws,BAD_CAST "LowerCorner",BAD_CAST LowerCorner);
545 xmlNewChild(psRootNode, psNsOws,BAD_CAST "UpperCorner",BAD_CAST UpperCorner);
546
547 return psRootNode;
548}
549
550/**
551 * msOWSCommonWGS84BoundingBox()

Calls 5

msInitProjectionFunction · 0.85
msLoadProjectionStringFunction · 0.85
msAxisNormalizePointsFunction · 0.85
msFreeProjectionFunction · 0.85
_validateNamespaceFunction · 0.85

Tested by

no test coverage detected