omniscale / imposm3

Imposm imports OpenStreetMap data into PostGIS
http://imposm.org/docs/imposm3/latest/
Apache License 2.0
719 stars 157 forks source link

from_member feature not working #145

Closed rouen-sk closed 7 years ago

rouen-sk commented 7 years ago

I have imported planet with latest release of Imposm3 (20170119), with this simple mapping:

{      
  "tables": {  
    "admin_area": {
      "fields": [
        {
          "type": "id",
          "name": "osm_id",
          "key": null
        },
        {
          "type": "geometry",
          "name": "geometry",
          "key": null
        },
        {
          "type": "string",
          "name": "name",
          "key": "name"
        },
        {
          "type": "string",
          "name": "name_en",
          "key": "name:en"
        },
        {
          "type": "string",
          "name": "official_name",
          "key": "official_name"
        },
        {
          "type": "string",
          "name": "iso_code",
          "key": "ISO3166-1:alpha3"
        },
        {
          "type": "string",
          "name": "iso2",
          "key": "ISO3166-2"
        },
        {
          "type": "mapping_value",
          "name": "type",
          "key": null
        },
        {
          "type": "integer",
          "name": "admin_level",
          "key": "admin_level"
        },
        {
          "type": "webmerc_area",
          "name": "area",
          "key": null
        }
      ],
      "type": "polygon",
      "mapping": {
        "boundary": [
          "administrative"
        ]
      }
    },
    "admin_relation_member": {
      "type": "relation_member",
      "columns": [
        {
          "name": "osm_id",
          "type": "id"
        },
        {
          "name": "member_id",
          "type": "member_id"
        },
        {
          "name": "member_type",
          "type": "member_type"
        },
        {
          "name": "member_role",
          "type": "member_role"
        },
        {
          "name": "geometry",
          "type": "geometry"
        },
        {
          "name": "admin_level",
          "type": "integer",
          "key": "admin_level"
        },
        {
          "name": "iso2",
          "type": "string",
          "key": "ISO3166-2"
        },
        {
          "name": "is_in_country_code",
          "type": "string",
          "key": "is_in:country_code"
        },
        {
          "name": "maritime",
          "key": "maritime",
          "type": "boolint",
          "from_member": true
        }
      ],
      "mapping": {
        "boundary": [ 
            "administrative" 
        ]
      }
    }
  }
}

In the resulting table osm_admin_relation_member, ALL rows have maritime = 0 - which is obviously not correct (i.e. http://www.openstreetmap.org/way/309644649)

olt commented 7 years ago

relation and relation_member require load_all to have access to all keys. See: https://imposm.org/docs/imposm3/latest/relations.html#other-relations

This will change in the future. But right now you need to use load_all.

On 26.04.2017, at 16:08, rouen-sk notifications@github.com wrote:

I have imported planet with latest release of Imposm3 (20170119), with this simple mapping:

{
"tables": {
"admin_area": { "fields": [ { "type": "id", "name": "osm_id", "key": null }, { "type": "geometry", "name": "geometry", "key": null }, { "type": "string", "name": "name", "key": "name" }, { "type": "string", "name": "name_en", "key": "name:en" }, { "type": "string", "name": "official_name", "key": "official_name" }, { "type": "string", "name": "iso_code", "key": "ISO3166-1:alpha3" }, { "type": "string", "name": "iso2", "key": "ISO3166-2" }, { "type": "mapping_value", "name": "type", "key": null }, { "type": "integer", "name": "admin_level", "key": "admin_level" }, { "type": "webmerc_area", "name": "area", "key": null } ], "type": "polygon", "mapping": { "boundary": [ "administrative" ] } }, "admin_relation_member": { "type": "relation_member", "columns": [ { "name": "osm_id", "type": "id" }, { "name": "member_id", "type": "member_id" }, { "name": "member_type", "type": "member_type" }, { "name": "member_role", "type": "member_role" }, { "name": "geometry", "type": "geometry" }, { "name": "admin_level", "type": "integer", "key": "admin_level" }, { "name": "iso2", "type": "string", "key": "ISO3166-2" }, { "name": "is_in_country_code", "type": "string", "key": "is_in:country_code" }, { "name": "maritime", "key": "maritime", "type": "boolint", "from_member": true } ], "mapping": { "boundary": [ "administrative" ] } } } }

In the resulting table osm_admin_relation_member, ALL rows have maritime = 0 - which is obviously not correct (i.e. http://www.openstreetmap.org/way/309644649)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

rouen-sk commented 7 years ago

Ah, I didnt notice this in docs... Thanks.