Beispiel #1
0
/*
 * Mandatory script !
 */
include_once 'config.php';
include_once 'functions/general.php';
/*
 * Avoid unwanted requests...
 */
if (!abcCheck($_REQUEST)) {
    exit(0);
}
/*
 * Force HTTP Header
 */
if (isset($_REQUEST["returntype"])) {
    /*
     * Force XML
     */
    if ($_REQUEST["returntype"] == "XML") {
        header("Pragma: no-cache");
        header("Expires: 0");
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
        header("Cache-Control: no-cache, must-revalidate");
        header("Content-type: text/xml");
    }
}
/*
 * Send either a POST request or a GET request
 */
echo $_SERVER['REQUEST_METHOD'] == 'POST' ? postRemoteData($_REQUEST["url"], $HTTP_RAW_POST_DATA, true) : getRemoteData($_REQUEST["url"], null, false);
    $request .= '</ogc:And>';
}
$request .= '</ogc:Filter>
      </Constraint>
   </csw:Query>
</GetRecords>';
/**
 * Send a post $request at $url
 * 
 * If headers is set to false, do not force headers
 * during POST request
 */
if (isset($_REQUEST["headers"]) && $_REQUEST["headers"] == "false") {
    $theData = postRemoteData($url, $request, false);
} else {
    $theData = postRemoteData($url, $request, true);
}
/**
 * Store request and response
 */
if (MSP_DEBUG) {
    $tmp = createPassword(10);
    saveFile($request, MSP_UPLOAD_DIR . "csw_" . $tmp . "_request.xml");
    $resultFileURI = saveFile($theData, MSP_UPLOAD_DIR . "csw_" . $tmp . "_response.xml");
}
/**
 *  Check if a SOAP Fault occured
 */
$error = OWSExceptionToJSON($theData);
if ($error) {
    echo $error;
Beispiel #3
0
if (!abcCheck($_REQUEST)) {
    exit(0);
}
/*
 * Force HTTP Header
 */
if (isset($_REQUEST["returntype"])) {
    /*
     * Force XML
     */
    if ($_REQUEST["returntype"] == "XML") {
        header("Pragma: no-cache");
        header("Expires: 0");
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
        header("Cache-Control: no-cache, must-revalidate");
        header("Content-type: text/xml");
    }
}
/*
 * Forward Authorization headers
 */
$headers = apache_request_headers();
$forwarded_headers = array();
if (isset($headers["Authorization"])) {
    array_push($forwarded_headers, "Authorization: " . $headers["Authorization"]);
}
/*
 * Send either a POST request or a GET request
 */
echo $_SERVER['REQUEST_METHOD'] == 'POST' ? postRemoteData($_REQUEST["url"], $HTTP_RAW_POST_DATA, true) : getRemoteDataHeaders($_REQUEST["url"], null, false, $forwarded_headers);
Beispiel #4
0
    if (count($typeAndfilter) === 2) {
        $keyval = explode('=', $typeAndfilter[1]);
        $type = $typeAndfilter[0];
    } else {
        $keyval = explode('=', $typeAndfilter[0]);
    }
    if (count($keyval) === 2) {
        $data .= ',{"term":{"' . $keyval[0] . '":"' . $keyval[1] . '"}}';
    } else {
        $data .= ',{"term":{"name":"' . $keyval[0] . '"}}';
    }
}
$data .= ']}}}}}';
/*
 * Get result in json format
 * 
 * Result example :
 * 
 *      {"took" : 138,"_shards" : {"total" : 5},"hits" :{"total" : 19882872,"hits" : [{"_index" : "osm","_type" : "way","_id" : "42165222","_score" : 1.0,"_source" :{"areaKm2":1.1417793121178532,"shape":{"type":"polygon","coordinates":[[[1.9304132,44.1974077],[1.9305396000000001,44.195908800000005],[1.931243,44.1946627],[1.9327492000000002,44.1944188],[1.9347191000000001,44.1940934],[1.9348400000000001,44.193344100000004],[1.9360017,44.1927651],[1.9364714,44.191850800000005],[1.9368212,44.191436200000005],[1.9384401000000002,44.1916917],[1.9397132000000001,44.191696300000004],[1.9416863000000002,44.190787400000005],[1.9418085,44.189955000000005],[1.9407707,44.1893691],[1.9391409000000002,44.190778200000004],[1.9387963000000001,44.190361100000004],[1.9391491,44.189612700000005],[1.940776,44.1886194],[1.9395094000000002,44.1876988],[1.9377793,44.186942800000004],[1.9352315000000002,44.1871841],[1.9358037000000001,44.1881022],[1.9341724,44.189594400000004],[1.9324328000000002,44.1901713],[1.929998,44.1907444],[1.9277904000000001,44.1919849],[1.9257061000000002,44.192144500000005],[1.9230418,44.1924671],[1.9210665,44.1936252],[1.9203623,44.194954300000006],[1.9216322000000001,44.195293],[1.9235919000000001,44.1963828],[1.9252103,44.196721600000004],[1.9264845000000002,44.1964769],[1.9272893000000002,44.197312800000006],[1.9275084,44.198978200000006],[1.928201,44.1992315],[1.9297109000000001,44.198487400000005],[1.9304132,44.1974077]]]},"tags":{"wood":"deciduous","source":"Union européenne - SOeS, CORINE Land Cover, 2006.","CLC:code":"311","CLC:id":"FR-211193","CLC:year":"2006","landuse":"forest"}}}]}}
 * 
 */
$json = postRemoteData($url . '/' . ($type === 'way' ? 'way' : 'node') . '/_search', $data, false);
/*
 * Problem reading json => return an empty GeoJSON
 */
if ($json == NULL) {
    echo json_encode(array('type' => 'FeatureCollection', 'features' => array()));
} else {
    echo json_encode(elasticResultToGeoJSON(json_decode($json)));
}
exit(0);
Beispiel #5
0
}
if ($nbOfFilters > 1) {
    $request .= '</ogc:And>';
}
$request .= '</ogc:Filter></wfs:Query></wfs:GetFeature>';
// Send HITS request
$theData = postRemoteData($url, $requestHits . $request, array("REMOTE_USER: "******"Content-Type: text/xml"));
// Store request and response
if (MSP_DEBUG) {
    $tmp = createPassword(10);
    saveFile($request, MSP_UPLOAD_DIR . "csw_" . $tmp . "_request.xml");
    saveFile($theData, MSP_UPLOAD_DIR . "csw_" . $tmp . "_response.xml");
}
// Get the number of results
$nbOfResults = getNbOfResults($theData);
// Send RESULTS request
$theData = postRemoteData($url, $requestResults . $request, array("REMOTE_USER: "******"Content-Type: text/xml"));
// Store request and response
if (MSP_DEBUG) {
    $tmp = createPassword(10);
    saveFile($request, MSP_UPLOAD_DIR . "csw_" . $tmp . "_request.xml");
    saveFile($theData, MSP_UPLOAD_DIR . "csw_" . $tmp . "_response.xml");
}
//  Check if a SOAP Fault occured
$error = OWSExceptionToJSON($theData);
if ($error) {
    echo $error;
} else {
    // Stream result
    echo outputToGeoJSON($theData, $nbOfResults);
}