[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