]> git.openstreetmap.org Git - nominatim.git/commitdiff
include a bit of extra details for polygon errors in output on details.php page
authorBrian Quinion <openstreetmap@brian.quinion.co.uk>
Mon, 5 Nov 2012 14:00:54 +0000 (14:00 +0000)
committerBrian Quinion <openstreetmap@brian.quinion.co.uk>
Mon, 5 Nov 2012 14:00:54 +0000 (14:00 +0000)
sql/tables.sql
website/details.php

index d5cf7bcd47eb0755ecbd2dcfdae9f2fac6092fe0..8f933abc0b0fb7dab7c6fbba1f336944190913f5 100644 (file)
@@ -216,6 +216,7 @@ CREATE INDEX idx_placex_adminname on placex USING BTREE (make_standard_name(name
 
 DROP SEQUENCE seq_place;
 CREATE SEQUENCE seq_place start 1;
+GRANT SELECT on place to "www-data" ;
 GRANT SELECT on placex to "www-data" ;
 GRANT UPDATE ON placex to "www-data" ;
 GRANT SELECT ON search_name to "www-data" ;
index b7a38b2d7cc7c1cea3c000835de8e68b8393475a..c92e3f77ce3849b3d7b9206a8dc52f57bcee793c 100755 (executable)
        if (isset($_GET['osmtype']) && isset($_GET['osmid']) && (int)$_GET['osmid'] && ($_GET['osmtype'] == 'N' || $_GET['osmtype'] == 'W' || $_GET['osmtype'] == 'R'))
        {
                $_GET['place_id'] = $oDB->getOne("select place_id from placex where osm_type = '".$_GET['osmtype']."' and osm_id = ".(int)$_GET['osmid']." order by type = 'postcode' asc");
+
+               // Be nice about our error messages for broken geometry
+               if (!$_GET['place_id'])
+               {
+                       $sErrorMessage = $oDB->getOne("select ST_IsValidReason(geometry) from place where osm_type = '".$_GET['osmtype']."' and osm_id = ".(int)$_GET['osmid']." order by type = 'postcode' asc");
+                       if (!PEAR::isError($sErrorMessage) && $sErrorMessage) {
+                               echo "Problem with geometry: ";
+                               echo $sErrorMessage;
+                               exit;
+                       }
+               }
        }
 
        if (!isset($_GET['place_id']))