[Mapbender-commits] r9947 - trunk/mapbender/http/php
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Wed Aug 15 08:43:25 PDT 2018
Author: armin11
Date: 2018-08-15 08:43:25 -0700 (Wed, 15 Aug 2018)
New Revision: 9947
Modified:
trunk/mapbender/http/php/mod_exportISOMetadata.php
Log:
Export wfs metadata to csw
Modified: trunk/mapbender/http/php/mod_exportISOMetadata.php
===================================================================
--- trunk/mapbender/http/php/mod_exportISOMetadata.php 2018-08-13 14:29:08 UTC (rev 9946)
+++ trunk/mapbender/http/php/mod_exportISOMetadata.php 2018-08-15 15:43:25 UTC (rev 9947)
@@ -59,11 +59,13 @@
$generatorScriptMetadata = '/mapbender/php/mod_dataISOMetadata.php?';
$generatorScriptDlsOption = '/mapbender/php/mod_getDownloadOptions.php?';
$generatorScriptDls = '/mapbender/php/mod_inspireAtomFeedISOMetadata.php?';
+$generatorScriptDlsWfs2 = '/mapbender/php/mod_featuretypeISOMetadata.php?'; //SERVICE=WFS&outputFormat=iso19139&Id=2699'
$generatorBaseUrl = 'http://'.$_SERVER['HTTP_HOST'].$generatorScript;
$generatorBaseUrlMetadata = 'http://'.$_SERVER['HTTP_HOST'].$generatorScriptMetadata;
$generatorBaseUrlDlsOption = 'http://'.$_SERVER['HTTP_HOST'].$generatorScriptDlsOption;
$generatorBaseUrlDls = 'http://'.$_SERVER['HTTP_HOST'].$generatorScriptDls;
+$generatorBaseUrlDlsWfs2 = 'http://'.$_SERVER['HTTP_HOST'].$generatorScriptDlsWfs2;
$countLayer = 0;
$countMetadataURL = 0;
@@ -180,6 +182,34 @@
$countDls++;
}
}
+ //test if download option via wfsrequest is based on WFS > 2.0 - first also generate metadata for wfs 1.1.0
+ if ($option->type == "wfsrequest") {
+ //select featuretypeid, wfs_version, ...
+ $sqlWfs2 = <<<SQL
+
+ SELECT wfs_version, fkey_wfs_id, featuretype_id FROM (SELECT fkey_wfs_id, featuretype_id FROM wfs_featuretype WHERE featuretype_id
+ IN (select fkey_featuretype_id from mb_metadata LEFT JOIN ows_relation_metadata ON metadata_id = fkey_metadata_id where
+ uuid = '14bd842d-c9d4-64e1-68c8-f3007d004ae3' AND fkey_featuretype_id IS NOT NULL)) ft LEFT JOIN wfs ON
+ ft.fkey_wfs_id = wfs_id WHERE wfs_version = '2.0.0' OR wfs_version = '2.0.2' or wfs_version = '1.1.0';
+
+SQL;
+ $v = array();
+ $t = array();
+ $res_wfs2 = db_prep_query($sqlWfs2,$v,$t);
+ while ($row_wfs2 = db_fetch_array($res_wfs2)) {
+ $generatorDlsUrlWfs2 = $generatorBaseUrlDlsWfs2."SERVICE=WFS&outputFormat=iso19139&Id=".$row_wfs2['featuretype_id'];
+ $generatorInterfaceObject = new connector($generatorDlsUrlWfs2);
+ $ISOFile = $generatorInterfaceObject->file;
+ if($h = fopen(METADATA_DIR."/mapbenderDlsWfs2Metadata_".$row_metadata["uuid"]."_".$row_wfs2['featuretype_id']."_iso19139.xml","w")){
+ if(!fwrite($h,$ISOFile)){
+ $e = new mb_exception("mod_exportISOMetadata.php: cannot write to file: ".METADATA_DIR."/mapbenderDlsWfs2Metadata_".$row_metadata["uuid"]."_".$row_wfs2['featuretype_id']."_iso19139.xml");
+ }
+ fclose($h);
+ $countDls++;
+ }
+ }
+
+ }
}
}
More information about the Mapbender_commits
mailing list