[Geocoding] Error updating nominatim database "UPDATE failed: ERROR: null value in column "geometry" violates not-null constraint"

Adrian Chapela achapela.rexistros at gmail.com
Thu Jul 12 09:54:28 BST 2012


Hello,

I am trying to update nominatim database and again I have a problem. It
is very difficult to achieve a stable installation. I have downloaded
the last version (SVN last version).

The steps to reproduce:

Import first file. This step prepare database, import data and index data.
./utils/setup.php --osm-file virgin_islands_us.osm --all

Next steps are to import other osm files:
./utils/update.php --import-file jamaica.osm
./utils/update.php --import-file argentina.osm
./utils/update.php --import-file bahamas.osm
./utils/update.php --import-file cuba.osm
./utils/update.php --import-file ecuador.osm
./utils/update.php --import-file haiti-and-domrep.osm
./utils/update.php --import-file puerto_rico.osm
./utils/update.php --import-file venezuela.osm

Indexing data of new imported files:
./utils/update.php --index

Configure date to start update database:
./utils/setup.php --osmosis-init --osmosis-init-date 2011-09-28T00:00:00

Start import new data from date configured:
./utils/update.php --import-osmosis-all --no-npi

The last is failing after a while when is updating 2011-09-28 12:00:00 
or so..

I am using the 2011-09-28 date after getting the older date with
./osmconvert osm_file --out-statistics of all files that I am importing.

The error I am getting is the next:
index_placex: UPDATE failed: ERROR:  null value in column "geometry"
violates not-null constraint
CONTEXT:  SQL statement "insert into placex (osm_type, osm_id, class,
type, admin_level, housenumber, street, isin, postcode,
                  country_code, parent_place_id, rank_address,
rank_search, indexed_status, geometry)
                  values ('N',prevnode.osm_id, prevnode.class,
prevnode.type, prevnode.admin_level, housenum, prevnode.street,
prevnode.isin, coalesce(prevnode.postcode, defpostalcode),
                  prevnode.country_code, prevnode.parent_place_id,
prevnode.rank_address, prevnode.rank_search, 1,
ST_Line_Interpolate_Point(linegeo,
(housenum::float-orginalstartnumber::float)/originalnumberrange::float))"
PL/pgSQL function "create_interpolation" line 92 at SQL statement
PL/pgSQL function "placex_update" line 71 at assignment

Why could be the reason ?

Thank you!




More information about the Geocoding mailing list