Click or drag to resize
XDL

XUASDatalinkLocalSetInfo Class

MISB ST 0601 UAS Datalink Local Set 메타데이터 항목별 정보. 메타데이터 항목별 이름과 값 형식, 단위 등의 정보를 제공한다.

Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NXVideoXUASDatalinkLocalSetInfo

Namespace:  Pixoneer.NXDL.NXVideo
Assembly:  NXVideo (in NXVideo.dll) Version: 2.0.3.31
Syntax
C#
public class XUASDatalinkLocalSetInfo : IDisposable

The XUASDatalinkLocalSetInfo type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyLastTag
표준 문서에 정의된 마지막 태그 번호.
Public propertyLSVersion
표준 문서 버전.
Top
Methods
  NameDescription
Public methodGetItemTypeInfo
유효한 메타데이터 항목에 대하여 자료 형식, 수치 형식의 범위, 단위 등 형식 정보를 얻는다.
Public methodGetNativePtr
비관리 객체 포인터를 얻는다.
Public methodGetNumericValue(Int32, Byte, Int64, Double)
유효한 수치형 메타데이터 항목의 인코딩 데이터로부터 수치 데이터 값을 얻는다. 정수형과 실수형 모두 캐스팅하여 반환하며, 정수형일 때 UInt64 데이터는 반환되는 자료 형식을 보고 캐스팅하여 사용한다.
Public methodGetNumericValue(Int32, IntPtr, Int32, Int64, Double)
유효한 수치형 메타데이터 항목의 인코딩 데이터로부터 수치 데이터 값을 얻는다. 정수형과 실수형 모두 캐스팅하여 반환하며, 정수형일 때 UInt64 데이터는 반환되는 자료 형식을 보고 캐스팅하여 사용한다.
Public methodGetStringValue(Int32, Byte, String)
유효한 문자열 메타데이터 항목의 인코딩 데이터로부터 문자열 값을 얻는다.
Public methodGetStringValue(Int32, IntPtr, Int32, String)
유효한 문자열 메타데이터 항목의 인코딩 데이터로부터 문자열 값을 얻는다.
Public methodGetTagName

표준 문서에 정의된 태그 이름을 얻는다. eUasTag 열거형에 정의되지 않은 설명(Description)을 얻는 ToString() 메소드와 달리 문서 버전 별 정확한 이름을 반환한다.

Public methodGetTagStatus
표준 문서에 정의된 태그 상태를 얻는다.
Public methodGetValue(Int32, Byte, Object)
메타데이터 인코딩 데이터로부터 자료 형식과 그에 따른 값 객체를 얻는다. 숫자와 문자열이 아닌 경우 바이트 배열로 넘긴다.
Public methodGetValue(Int32, IntPtr, Int32, Object)
메타데이터 인코딩 데이터로부터 자료 형식과 그에 따른 값 객체를 얻는다. 숫자와 문자열이 아닌 경우 바이트 배열로 넘긴다.
Public methodGetValueType
메타데이터 항목 값의 자료 형식을 얻는다.
Public methodIsInteger(Int32)
메타데이터 항목이 정수형 데이터인지 확인한다. 부호 여부를 구분하지 않고, IMAP 형식은 실수형으로 여긴다.
Public methodStatic memberIsInteger(eMetadValType)
주어진 메타데이터 값 형식이 정수형인지 확인한다. 부호를 구분하지 않고, IMAP 형식은 실수형으로 여긴다.
Public methodIsNumeric(Int32)
메타데이터 항목이 수치 데이터인지 확인한다. 정수형과 실수형을 모두 포함한다.
Public methodStatic memberIsNumeric(eMetadValType)
주어진 메타데이터 값 형식이 수치형인지 확인한다.
Public methodIsReal(Int32)
메타데이터 항목이 실수형 데이터인지 확인한다.
Public methodStatic memberIsReal(eMetadValType)
주어진 메타데이터 값 형식이 실수형인지 확인한다.
Public methodIsString(Int32)
메타데이터 항목이 문자열 데이터인지 확인한다.
Public methodStatic memberIsString(eMetadValType)
주어진 메타데이터 값 형식이 문자열인지 확인한다.
Public methodIsTimeStamp
메타데이터 항목이 MISB 타임스탬프 데이터인지 확인한다. 1970년 1월 1일 0시(UTC)부터 마이크로 초 단위로 센 64비트 부호 없는 정수형으로 표현된다.
Top
Examples
자동으로 분석된 메타데이터를 비디오뷰의 랜더 콜백에서 확인하는 예제이다.
private bool VideoLayer_OnRender(NXVideoLayer sender, NXVideoDrawArgs DrawArgs)
{
    XVideoChannel channel = sender.GetVidView().GetVideoChannel();
    // Get default local set information provider from video channel
    XUASDatalinkLocalSetInfo info = channel.UASDatalinkLSInfo;
    if (info != null && DrawArgs.MetadFrame != null)
    {
        // Get decoded TLV items
        XTagValueSet items = DrawArgs.MetadFrame.Items;
        foreach (int tag in items.TagList)
        {
            string name = info.GetTagName(tag);
            // Get Numerical value if available
            if (info.IsNumeric(tag))
            {
                Int64 iVal = 0;
                Double dVal = 0.0;
                XMetadValType vType = info.GetNumericValue(tag, items[tag], out iVal, out dVal);
                if (vType == eMetadValType.OID || vType == eMetadValType.UInt64)
                {
                    // Get 64-bit unsigned integer with full significance
                    UInt64 uVal = (UInt64)iVal;
                }
                if (info.IsReal(tag))
                {
                    // Format string with tag number, value and unit
                    string text = String.Format("Tag {0} {1}: {2} {3}", 
                                         tag, dVal, XMetadItemTypeInfo.GetUntiString(tag));
                }
            }
        }
    }
    return true;
}
See Also