[Geocoding] Technical questions about building Nominatim instance
Teemu Ikonen
teemu.ikonen at iki.fi
Thu Sep 2 11:39:39 BST 2010
Thank you for your time Brian, please see some comments inline
On Thu, Sep 2, 2010 at 1:14 PM, Brian Quinion
<openstreetmap at brian.quinion.co.uk> wrote:
>> Q1. Would it be possible to index the database only up to rank 22? I'm
>> not interested of streets and highways. Only up to neighborhood level.
>
> Probably the best choice would be to add a block in placex_insert such as:
>
> IF NEW.rank_search > 22 THEN
> RETURN NULL;
> END IF;
I did already load the data in placex, so I guess my best option now
is to edit util.update.php to stop indexing after rank 22.
>> Q2. For some reason reverse geocoding results from my own instance
>> (I've tried with whole Planet import and country extracts) do no
>> always match the ones from main site (nominatim.openstreetmap.org).
>> Especially the high level data like country and county are sometimes
>> missing. What could be the reason for this?
>
> Without knowing what the difference is it is impossible to say. Minor
> differences are certainly possible - for performance reasons the diff
> updates do not completely re-index all data.
I'll need to investigate closer, I'm just getting familiar with the
source and especially Postgresql.
However, the most common symptom is that when I do reverse geocoding
to some lat/lon, the results from openstreetmap.org seem always have
country and country code. When I issue identical query to my instance
(same lat, long, zoom level) I may not get country.
>> Q3. As far as I know only source for the software is this:
>> http://svn.openstreetmap.org/applications/utils/export/osm2pgsql
>> Strangely it seems to be partly broken. For example
>> gazetteer-tables.sql is missing GRANT to country_name. Is that really
>> the latest commit or what version I should be using?
>
> Yes that is the latest version. I'll check the permissions problem you mention.
This was the missing grant:
GRANT SELECT ON country_name TO "www-data";
>> ERROR: permission denied for relation place_boundingbox
>
> If sounds like you have a general permissions problem with the user
> accessing the database - reverse.php does make changes to the db to
> cache address details.
Hmm, this makes me suspect that like the gazetteer-tables.sql did not
grant all the required access rights to the 'www-data' user. I still
don't understand why this seems to happen only when indexing.
- Teemu
More information about the Geocoding
mailing list