diff --git a/docs/mapping.rst b/docs/mapping.rst index 449152c..0ff0e64 100644 --- a/docs/mapping.rst +++ b/docs/mapping.rst @@ -251,25 +251,25 @@ Element types for ``relation_member`` The following types are only valid for tables of the type ``relation_member``. -``relation_member_id`` -^^^^^^^^^^^^^^^^^^^^^^ +``member_id`` +^^^^^^^^^^^^^ The OSM ID of the relation member. -``relation_member_type`` -^^^^^^^^^^^^^^^^^^^^^^^^ +``member_type`` +^^^^^^^^^^^^^^^ The type of the relation member. 0 for nodes, 1 for ways and 2 for relations. -``relation_member_role`` -^^^^^^^^^^^^^^^^^^^^^^^^ +``member_role`` +^^^^^^^^^^^^^^^ The role of the relation member as a string, e.g. `outer`, `stop`, etc. -``relation_member_index`` -^^^^^^^^^^^^^^^^^^^^^^^^^ +``member_index`` +^^^^^^^^^^^^^^^^ The index of the member in the relation, starting from 0. E.g. the first member is 0, second member is 1, etc. This can be used to query bus stops of a route relation in the right order. diff --git a/docs/relations.rst b/docs/relations.rst index 7f61f84..55b3f38 100644 --- a/docs/relations.rst +++ b/docs/relations.rst @@ -88,13 +88,13 @@ You can use the following mapping:: - name: osm_id type: id - name: member - type: relation_member_id + type: member_id - name: index - type: relation_member_index + type: member_index - name: role - type: relation_member_role + type: member_role - name: type - type: relation_member_type + type: member_type - name: geometry type: geometry - name: relname @@ -146,7 +146,7 @@ ref The value of the ``ref`` tag of the relation. ``301`` in this case. You can insert the tags of the relation in a separate ``relation`` table to avoid duplication and then use `joins` when querying the data. -Both ``osm_id`` and ``relation_member_id`` columns are indexed in PostgreSQL by default to speed up these joins. +Both ``osm_id`` and ``member_id`` columns are indexed in PostgreSQL by default to speed up these joins. ``relation`` ^^^^^^^^^^^^ diff --git a/mapping/fields.go b/mapping/fields.go index 31e0ba4..b2ca2a6 100644 --- a/mapping/fields.go +++ b/mapping/fields.go @@ -17,26 +17,26 @@ var AvailableFieldTypes map[string]FieldType func init() { AvailableFieldTypes = map[string]FieldType{ - "bool": {"bool", "bool", Bool, nil, nil, false}, - "boolint": {"boolint", "int8", BoolInt, nil, nil, false}, - "id": {"id", "int64", Id, nil, nil, false}, - "string": {"string", "string", String, nil, nil, false}, - "direction": {"direction", "int8", Direction, nil, nil, false}, - "integer": {"integer", "int32", Integer, nil, nil, false}, - "mapping_key": {"mapping_key", "string", KeyName, nil, nil, false}, - "mapping_value": {"mapping_value", "string", ValueName, nil, nil, false}, - "relation_member_id": {"relation_member_id", "int64", nil, nil, RelationMemberID, true}, - "relation_member_role": {"relation_member_role", "string", nil, nil, RelationMemberRole, true}, - "relation_member_type": {"relation_member_type", "int8", nil, nil, RelationMemberType, true}, - "relation_member_index": {"relation_member_index", "int32", nil, nil, RelationMemberIndex, true}, - "geometry": {"geometry", "geometry", Geometry, nil, nil, false}, - "validated_geometry": {"validated_geometry", "validated_geometry", Geometry, nil, nil, false}, - "hstore_tags": {"hstore_tags", "hstore_string", HstoreString, nil, nil, false}, - "wayzorder": {"wayzorder", "int32", WayZOrder, nil, nil, false}, - "pseudoarea": {"pseudoarea", "float32", PseudoArea, nil, nil, false}, - "zorder": {"zorder", "int32", nil, MakeZOrder, nil, false}, - "enumerate": {"enumerate", "int32", nil, MakeEnumerate, nil, false}, - "string_suffixreplace": {"string_suffixreplace", "string", nil, MakeSuffixReplace, nil, false}, + "bool": {"bool", "bool", Bool, nil, nil, false}, + "boolint": {"boolint", "int8", BoolInt, nil, nil, false}, + "id": {"id", "int64", Id, nil, nil, false}, + "string": {"string", "string", String, nil, nil, false}, + "direction": {"direction", "int8", Direction, nil, nil, false}, + "integer": {"integer", "int32", Integer, nil, nil, false}, + "mapping_key": {"mapping_key", "string", KeyName, nil, nil, false}, + "mapping_value": {"mapping_value", "string", ValueName, nil, nil, false}, + "member_id": {"member_id", "int64", nil, nil, RelationMemberID, true}, + "member_role": {"member_role", "string", nil, nil, RelationMemberRole, true}, + "member_type": {"member_type", "int8", nil, nil, RelationMemberType, true}, + "member_index": {"member_index", "int32", nil, nil, RelationMemberIndex, true}, + "geometry": {"geometry", "geometry", Geometry, nil, nil, false}, + "validated_geometry": {"validated_geometry", "validated_geometry", Geometry, nil, nil, false}, + "hstore_tags": {"hstore_tags", "hstore_string", HstoreString, nil, nil, false}, + "wayzorder": {"wayzorder", "int32", WayZOrder, nil, nil, false}, + "pseudoarea": {"pseudoarea", "float32", PseudoArea, nil, nil, false}, + "zorder": {"zorder", "int32", nil, MakeZOrder, nil, false}, + "enumerate": {"enumerate", "int32", nil, MakeEnumerate, nil, false}, + "string_suffixreplace": {"string_suffixreplace", "string", nil, MakeSuffixReplace, nil, false}, } } diff --git a/test/route_relation_mapping.yml b/test/route_relation_mapping.yml index d9a9773..aa17e6d 100644 --- a/test/route_relation_mapping.yml +++ b/test/route_relation_mapping.yml @@ -11,13 +11,13 @@ tables: - name: osm_id type: id - name: member - type: relation_member_id + type: member_id - name: index - type: relation_member_index + type: member_index - name: role - type: relation_member_role + type: member_role - name: type - type: relation_member_type + type: member_type - name: geometry type: geometry - name: subname @@ -38,13 +38,13 @@ tables: name: ref type: string - name: member - type: relation_member_id + type: member_id - name: index - type: relation_member_index + type: member_index - name: role - type: relation_member_role + type: member_role - name: type - type: relation_member_type + type: member_type - name: geometry type: geometry - name: relname