x

[gelöst] osm2pgsql Error


Geschrieben von SafetyIng (Gast) am 02. Juli 2022 00:49:39: [flux]

Moin,

ich versuchte mich heute an einem kleinen Skript für osm2pqsql. Leider bekomme ich immer wieder die selbe Fehlermeldung....

2022-07-02␣01:47:49␣␣osm2pgsql␣version␣1.6.0
2022-07-02␣01:47:49␣␣Database␣version:␣14.3␣(Ubuntu␣14.3-0ubuntu0.22.04.1)
2022-07-02␣01:47:49␣␣PostGIS␣version:␣3.2
2022-07-02␣01:47:50␣␣ERROR:␣Error␣loading␣lua␣config:␣./streets.lua:2:␣attempt␣to␣index␣a␣nil␣value␣(global␣'osm2pqsql').

Meine streets.lua sieht wie folgt aus:

local␣streets␣=␣osm2pqsql.define_way_table('osm_streets',␣{
{␣column␣=␣'type',␣␣␣␣type␣=␣'text'␣},
{␣column␣=␣'name',␣␣␣␣type␣=␣'text'␣},
{␣column␣=␣'tags',␣␣␣␣type␣=␣'jsonb'␣},
{␣column␣=␣'geom',␣␣␣␣type␣=␣'linestring'␣},
})
local␣sidepaths␣=␣osm2pqsql.define_way_table('osm_sidepaths',␣{
{␣column␣=␣'type',␣␣␣␣type␣=␣'text'␣},
{␣column␣=␣'name',␣␣␣␣type␣=␣'text'␣},
{␣column␣=␣'tags',␣␣␣␣type␣=␣'jsonb'␣},
{␣column␣=␣'geom',␣␣␣␣type␣=␣'linestring'␣},
})
local␣signs␣=␣osm2pqsql.define_node_table('osm_trafficsigns',␣{
{␣column␣=␣'sign',␣␣␣␣type␣=␣'text'␣␣},
{␣column␣=␣'direction',␣type␣=␣'integer'},
{␣column␣=␣'geom',␣␣␣␣type␣=␣'point'},
})
local␣get_highway_value␣=␣osm2pgsql.make_check_values_func({
'primary',␣'secondary',␣'tertiary',
'primary_link',␣'secondary_link',␣'tertiary_link',
'unclassified',␣'residential',␣'pedestrian',␣'living_street',
'service',␣'track',␣'footway',␣'path',␣'cycleway'
})
local␣get_sidepath_value␣=␣osm2pgsql.make_check_values_func({
'yes'
})
function␣osm2pgsql.process_way(object)
local␣highway_type␣=␣get_highway_value(object.tags.highway)
local␣sidepath_type␣=␣get_sidepath_value(object.tags.is_sidepath)
if␣not␣highway_type␣then
return
end
if␣object.tags.area␣==␣'yes'␣then
return
end
if␣not␣sidepath_type␣then
streets:add_row({
type␣␣␣␣=␣highway_type,
tags␣␣␣␣=␣object.tags,
name␣␣␣␣=␣object.tags.name,
geom␣␣␣␣=␣{␣create␣=␣'line'␣}
})
else
sidepaths:add_row({
type␣␣␣␣=␣highway_type,
tags␣␣␣␣=␣object.tags,
name␣␣␣␣=␣object.tags.name,
geom␣␣␣␣=␣{␣create␣=␣'line'␣}
})
end
end
function␣osm2pgsql.process_node(object)
if␣object.tags.highway␣==␣'traffic_sign'␣then
signs:add_row({
sign␣␣=␣object.tags.traffic_sign,
direction␣=␣object.tags['traffic_sign:direction'],
geom␣=␣{␣create␣=␣'point'␣}
})
end
end

Ich bin bisschen ratlos und verstehe nicht, wo das Problem liegt. Vielleicht kann ja jemand mit mehr Erfahrung mit osm2pgsql helfen.


Antworten: