]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge pull request #1252 from mtmail/update-and-document-gb-postcode-data2
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 4 Dec 2018 21:20:55 +0000 (22:20 +0100)
committerGitHub <noreply@github.com>
Tue, 4 Dec 2018 21:20:55 +0000 (22:20 +0100)
GB postcode: new conversion script, documentation

24 files changed:
CMakeLists.txt
cmake/script.tmpl [new file with mode: 0755]
cmake/website.tmpl [new file with mode: 0755]
docs/api/Output.md
settings/defaults.php
settings/settings.php [deleted file]
utils/blocks.php [deleted file]
utils/country_languages.php [changed mode: 0755->0644]
utils/export.php [changed mode: 0755->0644]
utils/importWikipedia.php [changed mode: 0755->0644]
utils/query.php [changed mode: 0755->0644]
utils/server_compare.php
utils/setup.php [changed mode: 0755->0644]
utils/specialphrases.php [changed mode: 0755->0644]
utils/update.php [changed mode: 0755->0644]
utils/warm.php [changed mode: 0755->0644]
website/deletable.php [changed mode: 0755->0644]
website/details.php [changed mode: 0755->0644]
website/hierarchy.php [changed mode: 0755->0644]
website/lookup.php [changed mode: 0755->0644]
website/polygons.php [changed mode: 0755->0644]
website/reverse.php [changed mode: 0755->0644]
website/search.php [changed mode: 0755->0644]
website/status.php

index d6f7d2cb94d5abcd32ef4d59672f4ce1230981cb..7d401ade35a5427ad38a06adc98dc0d75c46a17b 100644 (file)
@@ -93,8 +93,7 @@ message (STATUS "Using PHP binary " ${PHP_BIN})
 #
 #-----------------------------------------------------------------------------
 
-set(CUSTOMFILES
-    settings/phrase_settings.php
+set(WEBSITESCRIPTS
     website/deletable.php
     website/details.php
     website/hierarchy.php
@@ -103,23 +102,31 @@ set(CUSTOMFILES
     website/reverse.php
     website/search.php
     website/status.php
-    utils/blocks.php
+)
+
+set(CUSTOMSCRIPTS
     utils/country_languages.php
     utils/importWikipedia.php
     utils/export.php
     utils/query.php
-    utils/server_compare.php
     utils/setup.php
     utils/specialphrases.php
     utils/update.php
     utils/warm.php
    )
 
-foreach (cfile ${CUSTOMFILES})
-    configure_file(${PROJECT_SOURCE_DIR}/${cfile} ${PROJECT_BINARY_DIR}/${cfile})
+foreach (script_source ${CUSTOMSCRIPTS})
+    configure_file(${PROJECT_SOURCE_DIR}/cmake/script.tmpl
+                   ${PROJECT_BINARY_DIR}/${script_source})
+endforeach()
+
+foreach (script_source ${WEBSITESCRIPTS})
+    configure_file(${PROJECT_SOURCE_DIR}/cmake/website.tmpl
+                   ${PROJECT_BINARY_DIR}/${script_source})
 endforeach()
 
-configure_file(${PROJECT_SOURCE_DIR}/settings/defaults.php ${PROJECT_BINARY_DIR}/settings/settings.php)
+configure_file(${PROJECT_SOURCE_DIR}/settings/defaults.php
+               ${PROJECT_BINARY_DIR}/settings/settings.php)
 
 set(WEBPATHS css images js)
 
diff --git a/cmake/script.tmpl b/cmake/script.tmpl
new file mode 100755 (executable)
index 0000000..8146ca8
--- /dev/null
@@ -0,0 +1,4 @@
+#!@PHP_BIN@ -Cq
+<?php
+require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
+require_once(CONST_BasePath.'/@script_source@');
diff --git a/cmake/website.tmpl b/cmake/website.tmpl
new file mode 100755 (executable)
index 0000000..0257aa1
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
+require_once(CONST_BasePath.'/@script_source@');
index 5a33942034d4d49c41145cf02e9f8dbd0f62f571..4aa4d2982fba304eb4ad6636808506ec88b6fade 100644 (file)
@@ -46,7 +46,7 @@ a single place (for reverse) of the following format:
 
 The possible fields are:
 
- * `place_id` - reference to the Nominatim internal database ID
+ * `place_id` - reference to the Nominatim internal database ID (see notes below)
  * `osm_type`, `osm_id` - reference to the OSM object
  * `boundingbox` - area of corner coordinates
  * `lat`, `lon` - latitude and longitude of the centroid of the object
@@ -75,7 +75,7 @@ a bounding box (`bbox`).
 
 The feature list has the following fields:
 
- * `place_id` - reference to the Nominatim internal database ID
+ * `place_id` - reference to the Nominatim internal database ID (see notes below)
  * `osm_type`, `osm_id` - reference to the OSM object
  * `category`, `type` - key and value of the main OSM tag
  * `display_name` - full comma-separated address
@@ -148,7 +148,7 @@ attribution to OSM and the original querystring.
 
 The place information can be found in the `result` element. The attributes of that element contain:
 
- * `place_id` - reference to the Nominatim internal database ID
+ * `place_id` - reference to the Nominatim internal database ID (see notes below)
  * `osm_type`, `osm_id` - reference to the OSM object
  * `ref` - content of `ref` tag if it exists
  * `lat`, `lon` - latitude and longitude of the centroid of the object
@@ -203,7 +203,7 @@ generic information about the query:
 The place information can be found in the `place` elements, of which there may
 be more than one. The attributes of that element contain:
 
- * `place_id` - reference to the Nominatim internal database ID
+ * `place_id` - reference to the Nominatim internal database ID (see notes below)
  * `osm_type`, `osm_id` - reference to the OSM object
  * `ref` - content of `ref` tag if it exists
  * `lat`, `lon` - latitude and longitude of the centroid of the object
@@ -220,3 +220,27 @@ as subelements with the type of the address part.
 Additional information requested with `extratags=1` and `namedetails=1` can
 be found in extra elements as sub-element of each place.
 
+
+## Notes on field values
+
+### place_id is not a persistent id
+
+The `place_id` is created when a Nominatim database gets installed. A
+single place will have a different value on another server or even when
+the same data gets re-imported. It's thus not useful to treat it as
+permanent for later use.
+
+The combination `osm_type`+`osm_id` is slighly better but remember in
+OpenStreetMap mappers can delete, split, recreate places (and those
+get a new `osm_id`), there is no link between those old and new id.
+Places can also change their meaning without changing their `osm_id`,
+e.g. when a restaurant is retagged as supermarket. For a more in-depth
+discussion see [Permanent ID](https://wiki.openstreetmap.org/wiki/Permanent_ID).
+
+Nominatim merges some places (e.g. center node of a city with the boundary
+relation) so `osm_type`+`osm_id`+`class_name` would be more unique.
+
+### boundingbox
+
+Comma separated list of min latitude, max latitude, min longitude, max longitude.
+The whole planet would be `-90,90,-180,180`.
index 297e6ecdb2f79f31d52c9a53c7e388dff6eb8f81..2b3ddeb28ada84987632c743d506efb557dba1cc 100644 (file)
@@ -49,6 +49,7 @@ if (isset($_GET['debug']) && $_GET['debug']) @define('CONST_Debug', true);
 @define('CONST_Pyosmium_Binary', '@PYOSMIUM_PATH@');
 @define('CONST_Tiger_Data_Path', CONST_ExtraDataPath.'/tiger');
 @define('CONST_Wikipedia_Data_Path', CONST_ExtraDataPath);
+@define('CONST_Phrase_Config', CONST_BasePath.'/settings/phrase_settings.php');
 @define('CONST_Address_Level_Config', CONST_BasePath.'/settings/address-levels.json');
 
 // osm2pgsql settings
diff --git a/settings/settings.php b/settings/settings.php
deleted file mode 100644 (file)
index 907a9fa..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-
-echo "ERROR: Scripts must be run from build directory.\n";
-exit(1);
diff --git a/utils/blocks.php b/utils/blocks.php
deleted file mode 100755 (executable)
index 761ab9e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#!@PHP_BIN@ -Cq
-<?php
-
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
-require_once(CONST_BasePath.'/lib/init-cmd.php');
-ini_set('memory_limit', '800M');
-
-$aCMDOptions
- = array(
-    'Manage service blocks / restrictions',
-    array('help', 'h', 0, 1, 0, 0, false, 'Show Help'),
-    array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
-    array('verbose', 'v', 0, 1, 0, 0, 'bool', 'Verbose output'),
-    array('list', 'l', 0, 1, 0, 0, 'bool', 'List recent blocks'),
-    array('delete', 'd', 0, 1, 0, 0, 'bool', 'Clear recent blocks list'),
-    array('flush', '', 0, 1, 0, 0, 'bool', 'Flush all blocks / stats'),
-   );
-getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
-
-$m = getBucketMemcache();
-if (!$m) {
-    echo "ERROR: Bucket memcache is not configured\n";
-    exit;
-}
-
-if ($aResult['list']) {
-    $iCurrentSleeping = $m->get('sleepCounter');
-    echo "\n Sleeping blocks count: $iCurrentSleeping\n";
-
-    $aBlocks = getBucketBlocks();
-    echo "\n";
-    printf(" %-40s | %12s | %7s | %13s | %31s | %8s\n", 'Key', 'Total Blocks', 'Current', 'Still Blocked', 'Last Block Time', 'Sleeping');
-    printf(" %'--40s-|-%'-12s-|-%'-7s-|-%'-13s-|-%'-31s-|-%'-8s\n", '', '', '', '', '', '');
-    foreach ($aBlocks as $sKey => $aDetails) {
-        printf(
-            " %-40s | %12s | %7s | %13s | %31s | %8s\n",
-            $sKey,
-            $aDetails['totalBlocks'],
-            (int)$aDetails['currentBucketSize'],
-            $aDetails['currentlyBlocked']?'Y':'N',
-            date('r', $aDetails['lastBlockTimestamp']),
-            $aDetails['isSleeping']?'Y':'N'
-        );
-    }
-    echo "\n";
-}
-
-if ($aResult['delete']) {
-    $m->set('sleepCounter', 0);
-    clearBucketBlocks();
-}
-
-if ($aResult['flush']) {
-    $m->flush();
-}
old mode 100755 (executable)
new mode 100644 (file)
index b1a7ab1..63f6525
@@ -1,7 +1,5 @@
-#!@PHP_BIN@ -Cq
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-cmd.php');
 
 ini_set('memory_limit', '800M');
@@ -16,7 +14,7 @@ $aCMDOptions
    );
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
-include(CONST_InstallPath.'/settings/phrase_settings.php');
+include(CONST_Phrase_Config);
 
 if (true) {
     $sURL = 'https://wiki.openstreetmap.org/wiki/Special:Export/Nominatim/Country_Codes';
old mode 100755 (executable)
new mode 100644 (file)
index aafb375..34f1b01
@@ -1,10 +1,8 @@
-#!@PHP_BIN@ -Cq
 <?php
     // Script to extract structured city and street data
     // from a running nominatim instance as CSV data
 
 
-    require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
     require_once(CONST_BasePath.'/lib/init-cmd.php');
     require_once(CONST_BasePath.'/lib/ParameterParser.php');
     ini_set('memory_limit', '800M');
old mode 100755 (executable)
new mode 100644 (file)
index 6e42975..06db603
@@ -1,7 +1,5 @@
-#!/usr/bin/php -Cq
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-cmd.php');
 ini_set('memory_limit', '800M');
 
old mode 100755 (executable)
new mode 100644 (file)
index e3e2e7b..16657da
@@ -1,7 +1,5 @@
-#!@PHP_BIN@ -Cq
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-cmd.php');
 require_once(CONST_BasePath.'/lib/Geocode.php');
 require_once(CONST_BasePath.'/lib/ParameterParser.php');
index 0a27c484914fddb169b11dfe47184848d754bbc9..39016d072a17522b741bbb84bffb2c51fc048d37 100755 (executable)
@@ -1,4 +1,4 @@
-#!@PHP_BIN@ -Cq
+#!/usr/bin/php -Cq
 <?php
 
 $sFile = 'sample.log.txt'; // Apache log file
old mode 100755 (executable)
new mode 100644 (file)
index 0d2e658..66b7192
@@ -1,11 +1,6 @@
-#!@PHP_BIN@ -Cq
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-cmd.php');
-// ->indirect via init-cmd.php->/lib/cmd.php                for runWithEnv, getCmdOpt
-// ->indirect via init-cmd.php->/lib/init.php->db.php       for &getDB()
-
 require_once(CONST_BasePath.'/lib/setup/SetupClass.php');
 require_once(CONST_BasePath.'/lib/setup_functions.php');
 ini_set('memory_limit', '800M');
old mode 100755 (executable)
new mode 100644 (file)
index 7d22df5..cb237be
@@ -1,7 +1,5 @@
-#!@PHP_BIN@ -Cq
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-cmd.php');
 ini_set('memory_limit', '800M');
 ini_set('display_errors', 'stderr');
@@ -16,7 +14,7 @@ $aCMDOptions
   );
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
-include(CONST_InstallPath.'/settings/phrase_settings.php');
+include(CONST_Phrase_Config);
 
 if ($aCMDResult['wiki-import']) {
     $oNormalizer = Transliterator::createFromRules(CONST_Term_Normalization_Rules);
old mode 100755 (executable)
new mode 100644 (file)
index 7cb2187..24095ef
@@ -1,7 +1,5 @@
-#!@PHP_BIN@ -Cq
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-cmd.php');
 require_once(CONST_BasePath.'/lib/setup_functions.php');
 require_once(CONST_BasePath.'/lib/setup/SetupClass.php');
old mode 100755 (executable)
new mode 100644 (file)
index 653bcf1..5e1b3ee
@@ -1,7 +1,5 @@
-#!@PHP_BIN@ -Cq
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-cmd.php');
 ini_set('memory_limit', '800M');
 
old mode 100755 (executable)
new mode 100644 (file)
index 6e9178e..5b94d45
@@ -1,6 +1,5 @@
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/log.php');
 require_once(CONST_BasePath.'/lib/output.php');
old mode 100755 (executable)
new mode 100644 (file)
index 81d643f..474c1d8
@@ -1,7 +1,5 @@
 <?php
-@define('CONST_ConnectionBucket_PageType', 'Details');
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/log.php');
 require_once(CONST_BasePath.'/lib/output.php');
old mode 100755 (executable)
new mode 100644 (file)
index 3ac4f32..419a047
@@ -1,7 +1,5 @@
 <?php
-@define('CONST_ConnectionBucket_PageType', 'Details');
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/log.php');
 require_once(CONST_BasePath.'/lib/AddressDetails.php');
old mode 100755 (executable)
new mode 100644 (file)
index ec2a3a8..ae76df2
@@ -1,7 +1,5 @@
 <?php
-@define('CONST_ConnectionBucket_PageType', 'Reverse');
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/log.php');
 require_once(CONST_BasePath.'/lib/PlaceLookup.php');
old mode 100755 (executable)
new mode 100644 (file)
index 0f49183..e5d459f
@@ -1,6 +1,5 @@
 <?php
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/log.php');
 require_once(CONST_BasePath.'/lib/output.php');
old mode 100755 (executable)
new mode 100644 (file)
index 963f750..0ba1771
@@ -1,7 +1,5 @@
 <?php
-@define('CONST_ConnectionBucket_PageType', 'Reverse');
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/log.php');
 require_once(CONST_BasePath.'/lib/PlaceLookup.php');
old mode 100755 (executable)
new mode 100644 (file)
index 0b678ca..696cdf7
@@ -1,7 +1,5 @@
 <?php
-@define('CONST_ConnectionBucket_PageType', 'Search');
 
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/log.php');
 require_once(CONST_BasePath.'/lib/Geocode.php');
index c0c379d0a983e6dd6d331d5a0089a75866570952..90be93883e13a74f409f9276321e8b1c47acaf2f 100644 (file)
@@ -1,8 +1,5 @@
 <?php
 
-@define('CONST_ConnectionBucket_PageType', 'Status');
-
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
 require_once(CONST_BasePath.'/lib/init-website.php');
 require_once(CONST_BasePath.'/lib/ParameterParser.php');
 require_once(CONST_BasePath.'/lib/Status.php');