Link Search Menu Expand Document

Revision 2019.12.09 - enuSpace for saturn (v4.0)

contour


contour객체에 대하여 설명합니다.


Properties

아래 테이블의 속성정보는 스크립트상에서 연계되는 속성 이름과 데이터 타입정보 입니다.

PropertyTypeDescriptionValue
visibilitybool객체의 visibility 속성true, false
lockbool객체의 잠금 속성true, false
strokestring객체의 라인 색상 속성“rgb(0,0,0)”, “#000000”
stroke_opacityfloat객체의 라인 투명도 속성0~1
stroke_widthfloat객체의 라인 굵기value
stroke_linecapstring객체의linecap의 속성“butt”, “round”, “square”
stroke_linejoinstring객체의 linejoin의 속성“miter”, “round”, “bevel”
stroke_dasharraystring객체의dasharray의 속성“1 1 1”
xfloat객체의 x위치 속성value
yfloat객체의 y위치 속성value
widthfloat객체의 넓이 속성value
heightfloat객체의 높이 속성value 라운드
translate_xfloat객체의 x축 이동value
translate_yfloat객체의 y축 이동value
rotatefloat객체의 회전 각도value
scale_xfloat객체의 x 스케일value
scale_yfloat객체의 y 스케일value
center_xfloat객체의 x 센터 설정value
center_yfloat객체의 y 센터 설정value
fillstring채우기 색상 설정“rgb(0,0,0)”, “#000000”
fill_opacityfloat채우기 투명도 설정0~1
grid_strokestring그리드 라인 색상 설정“rgb(0,0,0)”, “#000000”
grid_stroke_widthfloat그리드 라인 굵기 설정value
grid_stroke_opacityfloat그리드 라인 투명도 설정0~1
subdivision_xint컨투어 분할(x)value
subdivision_yint컨투어 분할(y)value
label_numint라벨의 개수value
xaxis_font_colorstringx 축 폰트 색상“rgb(0,0,0)”, “#000000”
xaxis_font_familystringx 축 폰트 이름“arial”…
xaxis_font_sizefloatx 축 폰트 사이즈value
yaxis_font_colorstringy 축 폰트 색상“rgb(0,0,0)”, “#000000”
yaxis_font_familystringy 축 폰트 이름“arial”…
yaxis_font_sizefloaty 축 폰트 사이즈value
value_font_colorstring값 폰트 색상“rgb(0,0,0)”, “#000000”
value_font_familystring값 폰트 이름“arial”…
value_font_sizefloat값 폰트 사이즈value
value_formatstring값 디스플레이 포맷“number”, “engineering unit”
value_decimal_pointint소수점 자리 디스플레이value
legend_posstring범례 위치left, right, top, bottom
legend_gapfloatcontour와 범례사이의 간격value
legend_widthfloat범례 너비value
legend_font_familystring범례 폰트 이름“arial”…
legend_font_sizefloat범례 폰트 크기value
grid_visiblebool그리드 Visible 속성true, false
outline_visiblebool아웃라인 Visible 속성true, false
legend_visiblebool범례 Visible 속성true, false
xaxis_visibleboolx 축 Visible 속성true, false
yaxis_visiblebooly 축 Visible 속성true, false
value_visiblebool값 Visible 속성true, false
draw_shapestringContour 모양“rect”, “circle”
draw_typestringContour 그리기 타입“solid”, “contour”
draw_directionstringContour 그리는 방향rect: “top bottom”, “bottom top” ; circle: “clockwise”, “counterclockwise”
minElevationfloat컨투어 최소값value
maxElevationfloat컨투어 최대값value
colorElevationstring컨투어 색상 리스트rgb(10,50,120);rgb(15,75,165);rgb(165,0,0)
  • colorElevation값 설정 방법

rgb(0,100,20),rgba(20,30,40,30) ….. : 색상값을 rgb, rgba의 포맷에 따라서 나열하는 방법

hsl(0,100,20),hsla(20,30,40,20) …… : 색상값을 hsl, hsla의 포맷에 따라서 나열하는 방법

hsl_elevation_l(0:360, 0:100, 0:100) : hsl 색상표를 이용한 색상 테이블 설정 방법(left 방향)

hsl_elevation_r(0:360, 0:100, 0:100) : hsl 색상표를 이용한 색상 테이블 설정 방법(right 방향)

hsla_elevation_l(0:360, 0:100, 0:100, 0:1) : hsla 색상표를 이용한 색상 테이블 설정 방법(left 방향)

hsla_elevation_r(0:360, 0:100, 0:100, 0:1) : hsla 색상표를 이용한 색상 테이블 설정 방법(right 방향)

rgb_elevation(0:255, 0:255, 0:255) : rgb 색상표를 이용한 색상 테이블 설정 방법

rgb_elevationa(0:255, 0:255, 0:255, 0:1) : rgba 색상표를 이용한 색상 테이블 설정 방법

Script Example

스크립트는 lua스크립트와 javascript를 이용하여 적용할 수 있습니다.

객체의 속성을 설정하는 방법에는 직접 객체의 변수에 접근하여 적용하는 방법과SetAttribute함수를 통하여 적용할 수 있습니다. 직접 변수에 접근하고자 할 경우에는 위 테이블의 속성이름을 통하여 접근을 수행합니다.

SetAttribute함수는 전역기반의 함수로 객체의 이름과 속성을 조합하여 값을 설정합니다. 스크립트를 SVG노드에서 추가하였을 경우에는 해당객체의 ID와 속성을 통하여 스크립트를 작성합니다.

  • 컨투어의 색상을 표현하기 위한 변수는 subdivision_x, _subdivision_y_의 설정값에 따라서 변경된다. 예를 들어 subdivision_x=5, _subdivision_y=5로 설정하였을 경우, double형 data[5][5]의 메모리가 생성된다. 생성된 data 배열 변수를 이용하여 스크립트를 작성한다.

lua Script

lua Script (객체내부의 ontaskview 함수에서의 구현한 예시)

function _ontaskview()

    --TODO Add your lua script code here
    local i
    local j
    for i=0,3 do 
        for j=0,3 do
            data[i][j] = data[i][j] + 1
            if (data[i][j] >100) then
                data[i][j] = 0

                -- label display. if label-num = 1
                label[i][j][0] = string.format('%d,%d',i,j)
            end
        end
    end

end

lua Script (SVG의 ontaskview 함수에서의 구현한 예시)

function _ontaskview()

    --TODO Add your lua script code here
    local i
    local j
    for i=0,3 do 
        for j=0,3 do
            ID_CONTOUR.data[i][j] = ID_CONTOUR.data[i][j] + 1
            if (ID_CONTOUR.data[i][j] >100) then
                ID_CONTOUR.data[i][j] = 0

                -- label display. if label-num = 1
                ID_CONTOUR.label[i][j][0] = string.format('%d,%d',i,j)

                -- if label-num = 2
                ID_CONTOUR.label[i][j][1] = string.format('%d,%d',i,j)                  
            end
        end
    end

end

javascript

javascript를 이용하여 적용하였을 경우, 웹 랜더러를 이용하여 동적 웹 가시화가 가능합니다.

javascript (객체내부의 ontaskview 함수에서의 구현한 예시)

function _ontaskview()
{    
    //TODO Add your javascript code here
    var i
    var j
    for (i=0 ; i<5 ; i++)
    {
        for (j=0 ; j<5 ; j++ )
        {
            data[i][j] = data[i][j] + 1;
            if (data[i][j] > 100)
            {
                data[i][j] = 0;
            }
        }
    }
}

enuSpace의 속성 윈도우

enuSpace 스튜디오를 통하여 객체의 편집 및 속성정보를 확인할 수 있습니다.

contour data 편집 대화창

SVG Tag 예시

<?xml version="1.0" encoding="UTF-16"?>
<svg id="ID_1h1QZt1" stroke="rgb(0,119,189)" stroke-opacity="1" stroke-width="1" transform="translate(0,0) rotate(0) scale(1, 1)" pg-xcenter="0" pg-ycenter="0" style="stroke:rgb(127,127,127);stroke-opacity:1.00;stroke-width:2.00;stroke-dasharray:1,1,1;"
    enuspace-version="4.0.2.0"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    width="1920"
    height="1080"
>
    <pg-trend-contour id="ID_1gvvB40" stroke="rgb(0,0,0)" stroke-opacity="1" stroke-width="1" transform="translate(300,300) rotate(0) scale(1, 1)" pg-xcenter="0" pg-ycenter="0" stroke-linecap="square" stroke-linejoin="miter" draw-shape="circle" draw-type="solid" draw-direction="clockwise" x="0.00" y="0.00" width="500.00" height="500.00" fill="rgb(200,200,200)" fill-opacity="1.00" grid-stroke="rgb(0,0,0)" grid-stroke-width="0.50" grid-stroke-opacity="1.00" xaxis-font-family="arial" xaxis-font-color="rgb(0,0,0)" xaxis-font-size="20.00" yaxis-font-family="arial" yaxis-font-color="rgb(0,0,0)" yaxis-font-size="20.00" value-font-family="arial" value-font-color="rgb(0,0,0)" value-font-size="15.00" value-format="number" value-decimal-point="0" subdivision="7,9" label-num="0" minElevation="0.000000" maxElevation="90.000000" colorElevation="rgb(10,50,120);rgb(15,75,165);rgb(30,110,200);rgb(60,160,240);rgb(80,180,250);rgb(130,210,255);rgb(160,240,255);rgb(200,250,255);rgb(230,255,255);rgb(255,250,220);rgb(255,232,120);rgb(255,192,60);rgb(255,160,0);rgb(255,96,0);rgb(255,50,0);rgb(225,20,0);rgb(192,0,0);rgb(165,0,0)" grid-visible="visible" outline-visible="visible" xaxis-visible="visible" yaxis-visible="visible" value-visible="visible" data="10.000000,20.000000,30.000000,40.000000,50.000000,60.000000,70.000000,80.000000,90.000000,10.000000,20.000000,30.000000,40.000000,50.000000,60.000000,70.000000,80.000000,90.000000,10.000000,20.000000,30.000000,40.000000,50.000000,60.000000,70.000000,80.000000,90.000000,10.000000,20.000000,30.000000,40.000000,50.000000,60.000000,70.000000,80.000000,90.000000,10.000000,20.000000,30.000000,40.000000,50.000000,60.000000,70.000000,80.000000,90.000000,10.000000,20.000000,30.000000,40.000000,50.000000,60.000000,70.000000,80.000000,90.000000,10.000000,20.000000,30.000000,40.000000,50.000000,60.000000,70.000000,80.000000,90.000000"></pg-trend-contour>
</svg>

enuSpace for saturn (ver 4.0) 추가 기능

속성 확장 : circle-position

color-position 속성 정보는 draw-shape 속성값이 circle인 경우에만 제공되는 정보입니다. circle-position 속성은 원형 컬럼의 위치 정보를 설정하는 기능입니다.

원형 컬럼의 위치 정보를 0~100사이의 가중치값을 이용하여 컬럼을 정의합니다.

속성 확장 : min-transparent

데이터의 값이 Elevation의 최소값인 경우 Invisible 상태를 제공합니다. min-transparent 속성에 true 설정시 활성화합니다.

enuSpace for neptune (ver 6.0) 추가 기능

속성 확장 : xaxis-text, yaxis-text

축방향 라벨 확장 기능으로 Text, 특수문자를 표현할 수 있습니다. xaxis-format이나 yaxis-format 속성에서 text로 전환하여 활성화합니다. 구분자는 ;을 사용합니다.

속성 확장 : transparentPoints

좌표를 입력받아 해당 위치의 Alpha값을 조정하여 Invisible 상태를 제공합니다.. x1,y1 x2,y2 x3,y3 ··· 형식으로 좌표를 입력합니다.