[Mapnik-de] FEHLER: Wert »4000000000« ist außerhalb des gültigen Bereichs für Typ integer

Johannes jotpe at posteo.de
Do Apr 30 07:20:45 CEST 2015


Hehe, ja das passiert, wenn man nicht alles bedenkt.
Auch das ist keine perfekte Lösung. Am besten den regulären Ausdruck in
seiner Länge begrenzen.

Gruß Johannes

On 29.04.2015 14:29, Michael Meier wrote:
> On 04/29/2015 12:16 PM, Nachtigall, Jens (init) wrote:
>> beim Rendern der Welt (mapnik, tirex, german style) kriege ich diesen Fehler:
>> FEHLER:  Wert »4000000000« ist außerhalb des gültigen Bereichs für Typ integer
>> ANWEISUNG:  SELECT ST_AsBinary("way") AS geom,"name","place" FROM (select way,place,get_localized_placename(name,"name:de",int_name,"name:en",false) as name,ref
>>                 from view_osmde_point
>>                 where place in ('country','state','continent')
>>                 order by population desc
>>                ) as placenames WHERE "way" && ST_SetSRID('BOX3D(9392582.035682455 4383204.949985144,15654303.3928041 10644926.30710679)'::box3d, 900913)
>> Ich vermute, das liegt daran, dass population mittlerweile über 4 Mrd liegt?! Gibt es einen Workaround?
> 
> Ja. Der Bug ist in der view view_osmde_point, die castet naemlich auf
> "integer" - was wie du schon ganz richtig bemerkt hast zu klein ist.
> Casten auf "bigint" schafft Abhilfe.
> also in views/view-point.sql sowas wie
>> -CASE WHEN tags->'population' ~ '^[0-9]+$' THEN (tags->'population')::integer ELSE 0 END as "population",
>> +CASE WHEN tags->'population' ~ '^[0-9]+$' THEN (tags->'population')::bigint ELSE 0 END as "population",
> und dann damit die view neu anlegen.
> 


-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://lists.openstreetmap.de/pipermail/mapnik-de/attachments/20150430/717a7fc9/signature.asc>