henc · 지도파일 입출력
ENC / SENC / 카탈로그 / Shape 파일 로딩·저장·언로드
hencLoad
섹션 제목: “hencLoad”함수 원형
섹션 제목: “함수 원형”int hencLoad( const char *fn, bool flagLoadUpdate = true )- ENC cell 파일을 로딩 후 SENC 포맷으로 변환한다.
- ENC catalog 파일을 로딩 후 multiple ENC 파일을 로딩한다.
- SENC 파일을 로딩한다.
- SENC catalog 파일을 로딩 후 SENC 포맷으로 변환하고 메모리에 로딩한다.
- Shape 파일을 로딩 후 multiple ENC 파일을 로딩한다.
const char *fn : IN (로딩하려는 파일명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencLoadENCintoDom
섹션 제목: “hencLoadENCintoDom”함수 원형
섹션 제목: “함수 원형”int hencLoadENCintoDom( const char *fn, CDomNode *node )- ENC 파일을 CDomNode 포맷으로 메모리에 읽어들인다.
- 지도 정보는 생성되지 않고 파일 내용만을 읽어들인다.
- ENC 파일 또는 ENC를 저장하고 있는 Dom 파일만 가능
- const char *fn : IN (읽고자 하는 파일명)
- CDomNode *node : IN, OUT (저장소)
반환값
섹션 제목: “반환값”-
= 0 : 읽기 성공
- < 0 : 읽기 실패
hencIsUpdateENC
섹션 제목: “hencIsUpdateENC”함수 원형
섹션 제목: “함수 원형”int hencIsUpdateENC( CDomNode *node )지도 정보가 UpdateENC 여부를 판정한다.
- ENC 정보, 함수에서 읽어온 CDomNode이어야만 정상적으로 동작한다.
반환값
섹션 제목: “반환값”- == 0 : Update ENC로 판정된 경우
- != 0 : Update ENC가 아닌 경우
hencGetEncVersion
섹션 제목: “hencGetEncVersion”함수 원형
섹션 제목: “함수 원형”int hencGetEncVersion( CDomNode *node, int &major, int &minor )으로 로딩한 지도 정보의 ENC 파일 버젼을 읽어들인다. ENC 파일을 비교하거나 패치 버전 비교시에 사용된다.
- ENC 정보, 함수에서 읽어온 CDomNode이어야만 정상적으로 동작한다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencUpdateENCDom
섹션 제목: “hencUpdateENCDom”함수 원형
섹션 제목: “함수 원형”int hencUpdateENCDom( CDomNode *nodeBase, CDomNode *nodeUpdate )함수를 통해 로딩한 2 개의 ENC 파일을 가지고, S-75 파일을 패치한다.
- CDomNode *nodeBase : IN (BASE ENC)
- CDomNode *nodeUpdate : IN (UPDATE ENC)
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencLoadDom
섹션 제목: “hencLoadDom”함수 원형
섹션 제목: “함수 원형”int hencLoadDom( CDomNode *node )- CDomNode 포맷의 데이터로부터 지도 정보를 읽어 온다.
- 함수에서 읽어 온 CdomNode 이어야만 정상적으로 동작한다.
CDomNode *node : IN, OUT (저장소)
반환값
섹션 제목: “반환값”-
= 0 : 읽기 성공
- < 0 : 읽기 실패
hencSave
섹션 제목: “hencSave”함수 원형
섹션 제목: “함수 원형”int hencSave( const char *fn )- 로딩된 모든 지도 정보를 CATALOG.SENC와 각 지도 셀(cell)별 SENC 파일로 저장한다.
- 개별 지도 cell 파일은 CATALOG 파일과 동일한 디렉토리 경로에 저장된다.
const char *fn : IN (카탈로그 파일명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencLoadFileListFromCatalogFile
섹션 제목: “hencLoadFileListFromCatalogFile”함수 원형
섹션 제목: “함수 원형”int hencLoadFileListFromCatalogFile( const char *fn, list &filelist )ENC 또는 SENC Catalog 파일로부터 파일 목록을 가져온다.
- const char *fn : IN (catalog 파일명)
- list &filelist : OUT (파일 리스트)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencSaveCatalogSENC
섹션 제목: “hencSaveCatalogSENC”함수 원형
섹션 제목: “함수 원형”int hencSaveCatalogSENC( const char *fn )로드된 Map의 Catalog SENC 파일만 저장하고, cell 파일은 저장하지 않는다.
const char *fn : IN (저장될 카탈로그 파일명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencEncfileSaveToSENC
섹션 제목: “hencEncfileSaveToSENC”함수 원형
섹션 제목: “함수 원형”int hencEncfileSaveToSENC( int no, const char *dirSave )- 개별 지도셀(Map Cell) 파일을 SENC 파일로 저장한다. 이때 저장되는 파일명은 로딩한 파일명이 그대로 사용된다.
- 저장시 ObjMask로 설정된 특징(Feature) 들만 저장된다.
- hencSetObjMask() 함수를 참조하세요.
- int no : IN
- 저장할 지도셀(Map Cell)의 번호
- 지도셀의 로딩시 0번부터 순서대로 번호가 부여된다.
- , 등의 함수를 이용하면 이미 로드된 파일명과 번호를 알 수가 있다.
- const char *dirSave : IN (저장할 디렉토리명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencEncfileToDom
섹션 제목: “hencEncfileToDom”함수 원형
섹션 제목: “함수 원형”int hencEncfileToDom( int no, CDomNode &dom )개별 지도셀(Map Cell) 파일의 정보를 복사해 준다. 저장시 ObjMask로 설정된 특징(Feature) 들만 저장된다. hencSetObjMask()을 참조하세요. class CDomNode를 통해서 내부의 정보를 사용할 수 있다.
- 저장할 지도셀(Map Cell)의 번호
- 지도셀의 로딩시 0번부터 순서대로 번호가 부여된다.
- , 등의 함수를 이용하면 이미 로드된 파일명과 번호를 알 수가 있다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileSaveToMem
섹션 제목: “hencEncfileSaveToMem”함수 원형
섹션 제목: “함수 원형”int hencEncfileSaveToMem( int no, LPVOID &ptr, int &size )개별 지도셀(Map Cell) 파일의 정보를 SENC로 메모리에 저장, 복사해 준다. 저장시 ObjMask로 설정된 특징(Feature) 들만 저장된다. 함수를 참조하세요.
- 저장할 지도셀(Map Cell)의 번호
- 지도셀의 로딩시 0번부터 순서대로 번호가 부여된다.
- , 등의 함수를 이용하면 이미 로드된 파일명과 번호를 알 수가 있다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileLoadFromMem
섹션 제목: “hencEncfileLoadFromMem”함수 원형
섹션 제목: “함수 원형”int hencEncfileLoadFromMem( LPVOID ptr, int size )메모리로부터 SENC를 읽어낸다.
LPVOID ptr : IN (SENC 저장 메모리) int size : IN (SENC 정보의 크기)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencUnload
섹션 제목: “hencUnload”함수 원형
섹션 제목: “함수 원형”int hencUnload( const char *fn )해당 파일명으로 로드된 지도를 메모리에서 삭제한다.
- no ) 함수에서 주는 파일명과 동일해야 한다.
- 이때 파일명에는 경로(path)를 포함하지 않는다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencUnload( int idx )해당 번호로 로드된 지도를 메모리에서 삭제한다.
int idx : IN (지도 번호)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencUnloadAll
섹션 제목: “hencUnloadAll”함수 원형
섹션 제목: “함수 원형”int hencUnloadAll()로드된 모든 지도 정보를 메모리에서 삭제한다.
없음
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileSetLimit
섹션 제목: “hencEncfileSetLimit”함수 원형
섹션 제목: “함수 원형”int hencEncfileSetLimit( int cnt )메모리에 로드되는 지도셀의 개수를 제한한다. 데모 버젼(Demo version) 제작을 위한 기능으로 사용할 수 있다.
int cnt : IN (최대 지도셀 개수)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileGetCount
섹션 제목: “hencEncfileGetCount”함수 원형
섹션 제목: “함수 원형”int hencEncfileGetCount()로드된 지도셀의 개수를 얻기 위한 기능이다.
없음
반환값
섹션 제목: “반환값”로드된 지도셀의 수
hencEncfileGetName
섹션 제목: “hencEncfileGetName”함수 원형
섹션 제목: “함수 원형”const char *hencEncfileGetName( int no )로드된 지도셀의 파일명을 얻을 수 있다.
- 지도셀은 로드되는 순서대로 0번부터 번호가 부여된다.
반환값
섹션 제목: “반환값”!= NULL : 파일명 (Null로 종료된 문자열) == NULL : 파일명 획득 실패 (존재하지 않는 파일 번호)
hencEncfileGetInfo
섹션 제목: “hencEncfileGetInfo”함수 원형
섹션 제목: “함수 원형”int hencEncfileGetInfo( int no, CDomNode &dom )해당 ENC의 파일명과 영역 정보를 취득한다.
int no : IN (정보를 획득할 ENC 번호) CDomNode &dom : OUT (파일명, 영역 정보가 저장)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencIsENCFile
섹션 제목: “hencIsENCFile”함수 원형
섹션 제목: “함수 원형”bool hencIsENCFile( const char *fn )입력된 파일이 S-57 ENC 파일이 맞는지 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : ENC 파일이 맞는 경우 false : Error 또는 ENC 파일이 아닌 경우
hencIsSENCFile
섹션 제목: “hencIsSENCFile”함수 원형
섹션 제목: “함수 원형”bool hencIsSENCFile( const char *fn )입력된 파일이 hns SENC 파일이 맞는지 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : SENC 파일이 맞는 경우 false : Error 또는 SENC 파일이 아닌 경우
hencIsCatalogFile
섹션 제목: “hencIsCatalogFile”함수 원형
섹션 제목: “함수 원형”bool hencIsCatalogFile( const char *fn )ENC 또는 SENC의 Catalog 파일인지 검사하고, 파일명이 CATALOG인지 여부를 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : 검사 성공, Catalog 파일이 맞는 경우 false : 검사 실패 또는 에러, Catalog 파일이 맞지 않는 경우
hencIsShapeFile
섹션 제목: “hencIsShapeFile”함수 원형
섹션 제목: “함수 원형”bool hencIsShapeFile( const char *fn )Shape 파일인지 여부와 파일명의 확장자를 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : 검사 성공, Shape 파일이 맞는 경우 false : 검사 실패 또는 에러, Shape 파일이 맞지 않는 경우
hencEncStringToMBC
섹션 제목: “hencEncStringToMBC”함수 원형
섹션 제목: “함수 원형”char *hencEncStringToMBC( const char *str )으로 로딩된 ENC 정보의 저장에 사용되는 이진 문자열을 디코딩하여 멀티바이트 코드(Multi Byte Code)로 변환하기 위해 사용한다.
const char *str : IN (인코딩된 문자열)
반환값
섹션 제목: “반환값”!= NULL : 변환된 문자열 (호출자(Caller)가 메모리 해제(free)해야 함) == NULL : 변환 실패
참고사항
섹션 제목: “참고사항”ENC 정보 저장 이진 문자열은 인코딩 타입과 이진 문자열을 가지고 있다. 이는 S-57 표준의 문자열 인코딩을 지원하기 위한 포맷이다.