1. tag-mapping 내용 입니다.
<pois>
<osm-tag key="poi_숫자" value='%f' zoom-appear = "14" />
</pois>
2. 테마 입니다.
<rule e="node" k="poi_숫자" v="*" >
<caption fill="#4040FF" font-size="24" font-style="bold" k="poi_숫자" stroke="#FFFFFF" stroke-width="2.0" />
</rule>
3. 중요 Osm 내용 입니다.
(예시) 아래는 문제 없이 됨니다.
<node id='3504542402' timestamp='2026-04-01T11:39:28Z' version='2' lat='37.55154361866' lon='127.19379093'>
<tag k='poi_숫자' v='14.508' />
</node>
v= signed 1 byte 값 인경우 (-128 - 127) 까지는 표현이 안되고 있음니다. => tag에는 "poi_숫자=%b" 로 표현됨니다.
v= 값이 2byte 이상의 값에서는 문제 없이 표현됨니다.
v= %f 는 소수점이 포함된 실수를 표현합니다.
혹시 : cruiser 에 확인 요청이 가능 하신 회원분이 계시면 요청 부탁드림니다.
프로그램중 자료 확인을 cuuiser로 하다가 이부분 때문에 약 1주일 소비 했네요....
첫댓글 %s string (문자열 그대로)
%f float (소수 포함 숫자)
%d integer (정수)
%b boolean (true/false)
%c color (색상 값)
%h hex (16진수 값)
혹시 이게 도움이 될까요
혹시 제가 경험한 바가 도움이 될지 몰라 몇 자 적어 봅니다. (여기서 경험이라고 말씀드리는 것은 아직 이에 관한 공식문서를 본 적이 없는 부분이 있어 확신할 수 없기 때문임)
osmisis writer에서,
숫자는 tag-mapping.xml 에서 tag=%f 로 매핑하면 osmosis 가 컴파일 시 osm 파일의 실제 값에 따라 자동으로 %b, %h, %f 로 분류하여, mapsforge 포맷의 'tag id' 부분 뒤에 big endian으로 인코딩된다.
- %b: 1바이트 정수 (way에서는 1바이트로 인코딩; poi에서는 2바이트로 인코딩--> 이 부분이 이해가 안됨 )
- %h: 2바이트 정수 (2바이트로 인코딩)
- %f : 부동소수점수 (단밀도 IEEE 754 표준으로 인코딩; 보통 4 바이트)
감사합니다.
%b, %i, %f, %h, %s 를 사용하며( big endian), %i=> Color 값
(way에서는 1바이트로 인코딩; poi에서는 2바이트로 인코딩--> 이 부분이 이해가 안됨 ) 는 저도 이해가 안가지만
내용은 poi 에서 는 1 byte 가 음수(0) 양수(255)를 표시하며(추측) 2 byte(그런데 sbyte 로 표현) 값 이 실제 값..
way 는 sbyte 로 표현... 이문제 때문에 cruiser 에서 오류가 되는것 같고,
다른 어플(Locus , Ourex 등등)은 아직 확인하지 못했음니다.
확인하는 방법은 %b 가 들어가는 map 을 만들어 보면 될것 같음니다.