geojson:polygon( $polygon-or-points as object-node()+ ) as cts:polygon
Create a cts:polygon value from a GeoJSON "Polygon" type geometry object or a sequence of GeoJSON "Point" type geometry objects.
xquery version "1.0-ml"; import module namespace geojson = "http://marklogic.com/geospatial/geojson" at "/MarkLogic/geospatial/geojson.xqy"; geojson:polygon(( object-node { "type" : "Point", "coordinates" : array-node {100.0, 0.0} }, object-node { "type" : "Point", "coordinates" : array-node {101.0, 0.0} }, object-node { "type" : "Point", "coordinates" : array-node {101.0, 1.0} }, object-node { "type" : "Point", "coordinates" : array-node {100.0, 1.0} }, object-node { "type" : "Point", "coordinates" : array-node {100.0, 0.0} } ))
xquery version "1.0-ml"; import module namespace geojson = "http://marklogic.com/geospatial/geojson" at "/MarkLogic/geospatial/geojson.xqy"; geojson:polygon(object-node { "type": "Polygon", "coordinates": array-node { array-node { array-node {100.0, 0.0}, array-node {101.0, 0.0}, array-node {101.0, 1.0}, array-node {100.0, 1.0}, array-node {100.0, 0.0} }, array-node { array-node {100.2, 0.2}, array-node {100.8, 0.2}, array-node {100.8, 0.8}, array-node {100.2, 0.8}, array-node {100.2, 0.2} } } })
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.