ngageoint / hootenanny

Hootenanny conflates multiple maps into a single seamless map.
GNU General Public License v3.0
353 stars 74 forks source link

MGCP TRD 4.5.1 Length (LEN_) Field #5228

Open tdvorakcaci opened 2 years ago

tdvorakcaci commented 2 years ago

Describe the bug MGCP TRD v4.5.1 stores length field as LEN_. This is lost with Hootenanny import or export.

To Reproduce See screenshot below

Expected behavior Preserve Length attribution. Hooteanny may be looking for LEN vs LEN. TRD schema is stored as LEN.

Screenshots Top table shows data at Hootenanny import, bottom table shows data exported with Hootenanny. image

Desktop (please complete the following information): N/A

Smartphone (please complete the following information): N/A

Additional context N/A

mattjdnv commented 2 years ago

Hi @tdvorakcaci, I'm not sure about this one. I have added code to look for LEN_ and map it to LEN but I think this is an issue with ESRI - assuming that you are using Arc.

The code change has been added to the #5216 branch.

All of the TRD docs I have all say LEN E.g. From "MGCP Extraction Guidance TRD4 v4.6"

LEN : Length
Definition  The dimension of a feature taken along its primary alignment of use and generally in the horizontal plane. ( The primary alignment of a feature is its established direction of flow or use (for example: a road, a power line, a river, a rapid, and/or a bridge). A feature-specific rule may apply. In the case of a bridge, the length is the distance between the bridge abutments along the bridge centreline. In the case of a dam, the length is the distance along the dam crest. If no established direction of flow or use exists then (1) if the feature is irregular in shape its length is its greatest horizontal dimension (see Attribute: 'Greatest Horizontal Extent'), else (2) if the feature is regular in shape then a shape-specific rule may apply: for a rectangular feature, the length of the longer axis; for a round feature, the diameter. )
DFDD Code   LEN
Unit    Metre
Type    Real

The "MGCP ESRI Shapefile Implementation Rules TRD4 v4.6 20210129" and "MGCP ESRI Shapefile Implementation Rules TRD4 v4.5.1 20190705" do not mention anything about LEN changing to LEN_

Using QGIS to look at a real mgcp shapefile and a FGDB generated by Hootenanny, all I see is LEN MGCP Shapefile: runway

Hootenanny FGDB: runway_gdb

Digging through other specs I have, I found this text in the Datastore Guidance for TDSv6.0 "Topographic Data Store Entity Catalog (TDS EC) Version 6.0" dated 19-Aug-13

For data store implementations that encounter problems with Field Names specified in this EC it is recommended that a standard practice be employed of appending the underscore ('_') character to the specified logical Field Name to result in a corresponding physical Field Name.
Example:  For XYZ use XYZ_

which appears to be what you are seeing.

MikeTho16 commented 2 years ago

@mattjdnv I do think this is an ESRI thing as "LEN" is a reserved word, and using "LEN_" avoids some potential issues.