iho-ohi / S-101_Portrayal-Catalogue

Space to discuss and review IHO S-101 Portrayal Catalogue
32 stars 12 forks source link

Feature Name [Text Type] (row 49 main) #61

Closed mikan66 closed 9 months ago

mikan66 commented 2 years ago

image

PortyrayalModel.lua 244 image

Question: What should happen if displayName is unknown / missing? Currently it's treated as true. For example, display the name unless it explicitly says not to.

alvarosanuy commented 2 years ago

OFFICIAL Hi Mikan,

I think that if featureName is populated as Unknown, then displayName should be False. A validation check could be useful here.

Despite the theory, let’s say that displayName is True and featureName=Unknown. There’s nothing to display anyway, right? In short, would featureName=Unknown and displayName=1 produce a different result than featureName =Unknown and displayName=0 ??

Would a user in ECDIS notice the difference in encoding???

Alvaro

Alvaro Sanchez | Acting Director National Charting Australian Hydrographic Office | Maritime Geospatial Branch 8 Station Street, Wollongong T: +61 2 4223 6506 | M: +61 434 349 674

Defence Intelligence Group | Department of Defence [AGO Logo2]

IMPORTANT: This email remains the property of the Department of Defence. Unauthorised communication and dealing with the information in the email may be a serious criminal offence. If you have received this email in error, you are requested to contact the sender and delete the email immediately.

From: mikan66 @.> Sent: Tuesday, 10 May 2022 4:02 AM To: iho-ohi/S-101_Portrayal-Catalogue @.> Cc: Subscribed @.***> Subject: [iho-ohi/S-101_Portrayal-Catalogue] Feature Name [Text Type] (row 49 main) (Issue #61)

⚠ EXTERNAL EMAIL: Do not click any links or open any attachments unless you trust the sender and know the content is safe. ⚠.

[image]https://user-images.githubusercontent.com/4913543/167469447-5fc6ad18-8bc0-403b-bc60-cd591f4d6d2e.png

PortyrayalModel.lua 244 [image]https://user-images.githubusercontent.com/4913543/167469527-ae4277c4-6733-49a6-b31b-8efe6a524556.png

Question: What should happen if displayName is unknown / missing? Currently it's treated as true. For example, display the name unless it explicitly says not to.

— Reply to this email directly, view it on GitHubhttps://github.com/iho-ohi/S-101_Portrayal-Catalogue/issues/61, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQXP7WDFT7ANXFPKXALDQETVJFHJNANCNFSM5VPBLEHA. You are receiving this because you are subscribed to this thread.Message ID: @.**@.>>

DavidGrant-NIWC commented 2 years ago

Edit: Sorry, it appears I'm the one who is misunderstanding this. I do still think there is an issue wrt national language support. Also, Mikan's question still remains - what to do when displayName is unknown / missing. Alvaro answered the question for featureName, not for displayName.

I think there might be some misunderstanding. I believe when only one featureName is present it should always be displayed. displayName only comes into play when when there are multiple featureName's; it indicates which of the naming options should be labeled on the chart.

Also, there seems to be an issue with the guidance in the DCEG. It says only one instance can have displayName set to true, but national language support is provided via the language attribute. There could be multiple displayName attributes set to true, each with a different language; they all indicate various national language representations of the same name.

image

alvarosanuy commented 2 years ago

Edit: Sorry, it appears I'm the one who is misunderstanding this. I do still think there is an issue wrt national language support. Also, Mikan's question still remains - what to do when displayName is unknown / missing. Alvaro answered the question for featureName, not for displayName.

My opinion is that when displayName =Unknown then it should be considered as TRUE. This means that if featureName is populated then the text is displayed (if empty or Unknown - no impact. Nothing is displayed).

Also, there seems to be an issue with the guidance in the DCEG. It says only one instance can have displayName set to true, but national language support is provided via the language attribute. There could be multiple displayName attributes set to true, each with a different language; they all indicate various national language representations of the same name.

Agree this needs to be discussed by the DCEG subWG. If multi language display is to be supported then we should develop display rules accordingly (i.e place each language in a different text line). Otherwise, if only one displayName attribute can be TRUE, then the display of text in national/local languages would only be possible by turning the corresponding VG ON in ECDIS (as per current practices (??). Note that in S-52 'National text is a supplementary option for ECDIS'. It's implementation by OEMs is not mandatory).

DavidGrant-NIWC commented 2 years ago

In S-52 national language support is optionally implemented by OEM's, but in S-101 it's implemented within the portrayal.

The portrayal finds the featureName whose language attribute matches the "National Language" context parameter. If a match is found, the corresponding displayName attribute is output in a drawing instruction. If no match is found, the entry with no language attribute, or with "eng" is used.

featureName index displayName language name
0 true "Yes"
1 true "deu" "Ja"
2 true "spa" "Sí"
3 false "Irrelevant"
4 false "deu" "Unerheblich"
5 false "spa" "Irrelevante"

Currently, the pick report would be required to show all these values.

This would be cleaner if an additional complex attribute (text) was introduced. This would make it clearer which entries are translations of one another.

featureName       0:∞
    displayName   0:1
    text          1:∞
        name      1:1
        language  0:1

Also, there seems to be an issue with the guidance in the DCEG. It says only one instance can have displayName set to true, but national language support is provided via the language attribute. There could be multiple displayName attributes set to true, each with a different language; they all indicate various national language representations of the same name.

Agree this needs to be discussed by the DCEG subWG. If multi language display is to be supported then we should develop display rules accordingly (i.e place each language in a different text line). Otherwise, if only one displayName attribute can be TRUE, then the display of text in national/local languages would only be possible by turning the corresponding VG ON in ECDIS (as per current practices (??). Note that in S-52 'National text is a supplementary option for ECDIS'. It's implementation by OEMs is not mandatory).

DavidGrant-NIWC commented 2 years ago

Someone needs to define the display parameters for features with the feature name attribute which:

An example is DISMAR / DistanceMark. DISMAR has an OBJNAM attribute in S-57, but S-52 doesn't display it. In S-101 DistanceMark has a featureName attribute and nothing prevents an encoder from setting featureName.displayName to true.

Either it should be clarified that featureName.displayName should never be set to true for these features, or display parameters should be provided corresponding to the S-52 TX/TE instructions: TX(OBJNAM,1,2,2,'15110',0,1,CHBLK,26)

mikan66 commented 1 year ago

@alvarosanuy , @DavidGrant-NIWC I feel this one is still unresolved. For "No Geometry" I have a separate branch with the below changes for testing those features (right side). If we can harmonize what to do for all cases, then I can possible collapse the back down into one function before the merge. image

DavidGrant-NIWC commented 1 year ago

GetFeatureName() in PortrayalModel.lua should be updated based on PSWG #104

The current implementation has problems:

displayName name language
true foo eng
false bar eng
false bar in spanish spa
true foo in spanish spa
mikan66 commented 9 months ago

Close this one, handle under #175.