[Mapbender-commits] r9081 - trunk/mapbender/http/php
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Mon Sep 22 03:27:59 PDT 2014
Author: armin11
Date: 2014-09-22 03:27:59 -0700 (Mon, 22 Sep 2014)
New Revision: 9081
Modified:
trunk/mapbender/http/php/mod_inspireDownloadFeed.php
Log:
Bugfix for handling multigeometries from mb_metadata table - multi exterior ring objects
Modified: trunk/mapbender/http/php/mod_inspireDownloadFeed.php
===================================================================
--- trunk/mapbender/http/php/mod_inspireDownloadFeed.php 2014-09-22 10:26:56 UTC (rev 9080)
+++ trunk/mapbender/http/php/mod_inspireDownloadFeed.php 2014-09-22 10:27:59 UTC (rev 9081)
@@ -1262,7 +1262,7 @@
//echo "maxyWms: ". $maxyWms .",";
$bboxWfs[$mapbenderMetadata[$i]->featuretype_name][$countBbox] = $minxWfs.",".$minyWfs.",".$maxxWfs.",".$maxyWfs;
//transform bbox back to geographic coordinates and filter them if a spatial_extent as polygon is given (give only those which intersects)!!
- $lonLatBbox = transformBbox($minxWfs.",".$minyWfs.",".$maxxWfs.",".$maxyWfs,intval($epsgId),4326, $mapbenderMetadata[$i]->metadata_uuid, $mapbenderMetadata[$i]->polygonFilter);
+ $lonLatBbox = transformBbox($minxWfs.",".$minyWfs.",".$maxxWfs.",".$maxyWfs,intval($epsgId),4326, $mapbenderMetadata[$i]->metadata_uuid, $polygonalFilter);
//only add entry, if not false
if ($lonLatBbox != false) {
$lonLatBbox = explode(',',$lonLatBbox);
@@ -1683,7 +1683,7 @@
if ($metadataUuid != false && $polygonFilter != false) {
$sql = "select asewkt(transform(GeometryFromText ( 'LINESTRING ( ".$arrayBbox[0]." ".$arrayBbox[1].",".$arrayBbox[2]." ".$arrayBbox[3]." )', $fromCRS ),".intval($toCRS).")) as bbox,
CASE
-WHEN st_intersects((select bounding_geom from mb_metadata where uuid = '".$metadataUuid."'), transform(GeometryFromText ( 'LINESTRING ( ".$arrayBbox[0]." ".$arrayBbox[1].",".$arrayBbox[2]." ".$arrayBbox[3]." )', $fromCRS ),".intval($toCRS)." )) = true THEN true
+WHEN st_intersects((select geography(bounding_geom) from mb_metadata where uuid = '".$metadataUuid."'),transform(GeometryFromText ( 'POLYGON (( ".$arrayBbox[0]." ".$arrayBbox[1].",".$arrayBbox[2]." ".$arrayBbox[1].",".$arrayBbox[2]." ".$arrayBbox[3].",".$arrayBbox[0]." ".$arrayBbox[3].",".$arrayBbox[0]." ".$arrayBbox[1]."))', $fromCRS ),".intval($toCRS)." )) = true THEN true
ELSE false
END as inside;";
$res = db_query($sql,$v,$t);
More information about the Mapbender_commits
mailing list