Ticket #9 (closed defect: fixed)
verschiedene Feldformate fuer 'lage'
Reported by: | frank.jaeger | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.6 release |
Component: | ogr | Version: | 0.5 |
Keywords: | lage,Straßenschlüssel | Cc: | astrid.emde, warmerdam@… |
Description
Das Feld "lage" enthält den Straßenschlüssel oder auch den Schlüssel von Bahnstrecken und ähnlichen.
In 4 Tabellen hat dies Feld 3 unterschiedliche Formate. Dadurch wird die Verbindung (JOIN) der Tabellen erschwert.
ax_lagebezeichnungkatalogeintrag.lage
- character varying(5)
- Inhalt mit führenden Nullen
ax_lagebezeichnungOhneHausnummer
- character varying (5)
- Inhalt ohne führende Nullen
ax_lagebezeichnungmithausnummer.lage und ax_lagebezeichnungmitpseudonummer.lage
- integer
- Wenn man das Feld in der Datenbank als "character varying(5)" anlegt, wird es von PostNAS nicht gefüllt.
Die Felder sollen in einem einheitlichen Format (char(5)) angelegt werden und einheitlich (mit führenden Nullen) gefüllt werden.
Change History
comment:2 Changed 13 years ago by frank.jaeger
The column 'lage' is to be found in 4 tables but has 3 different formats.
Column 'lage' is the key for streets and routes like train.
Column 'lage' is used for joining the 4 tables. The different formats makes it difficult.
<sql>
.. JOIN .. ON ax_lagebezeichnungohnehausnummer.lage = trim(leading '0' from ax_lagebezeichnungkatalogeintrag.lage)
.. JOIN .. ON to_char(ax_lagebezeichnungmithausnummer.lage, 'FM00000') = ax_lagebezeichnungkatalogeintrag.lage
</sql>
Formats
ax_lagebezeichnungkatalogeintrag.lage
- character varying(5)
- filled with leading zeroes
ax_lagebezeichnungOhneHausnummer
- character varying (5)
- without leading zeroes
ax_lagebezeichnungmithausnummer.lage und ax_lagebezeichnungmitpseudonummer.lage
- integer
- If defined as "character varying(5)" in the Database it isn't filled by PostNAS.
'lage' should have the same format in all tables for easy join: char(5) with leading zeroes.
Content
ax_lagebezeichnungkatalogeintrag.lage
This is the keytable (forein key) for the other tables.
Streets (with House-Numbers) have only numeric keys.
Train-Routes have "=" (Equal) in the first byte.
Classifications for primary streets have character "K" in the first byte.
ax_lagebezeichnungOhneHausnummer
- Land without a hause near a street.
ax_lagebezeichnungmithausnummer.lage
- Houses with house-number which references the keytable.
Only numeric (integer-like) keys appear because the cases with characters have no houses.
ax_lagebezeichnungmitpseudonummer.lage
- Other buildungs like a garage belonging to a house with a house-number.
Only numeric (integer-like) keys appear.
comment:3 Changed 13 years ago by warmerdam
- Status changed from new to closed
- Resolution set to fixed
Preferred formatting and field type implemented in the NASReader::SetFeatureProperty?() method (http://trac.osgeo.org/gdal/changeset/22336).
Note that existing .gfs files associated with NAS files need to be cleared away for this to have an effect on the schema.
comment:4 Changed 13 years ago by astrid.emde
Testing
- I tested this change with the testdata, I changed the databaseschema-file and changed every column lage to character varying(5) (https://trac.wheregroup.com/PostNAS/changeset/90)
- https://trac.wheregroup.com/PostNAS/attachment/ticket/11/NBA_RIO_20110430T000000_0von0_0_0.xml
- Works fine for me, the information
- I tested with gdal trunk from today 11.5.2011 (GDAL revision 22354)