🤷🏻‍♀️ 문제가 발생했다. 2

만든 구성은 exif 메타정보가있는
사진의 GPS정보를 EPSG:3857로 변환한 위치정보와 파일명을 담아서
Openlayers 에 마커를 찍고, 그 마커를 범위선택(dragBox) 을 해서
해당 범위에 해당되는 feature 의 Point 정보를 읽고,
파일명과 같은 file을 return 하여 압축하고 다운을 받는다.

이러한데 이게 jszip 라이브러리의 이슈가 있었다.
400장 압축하는데 6분이나 걸렸다 .용량은 1GB인데?
클라이언트 PC의 성능을 고려해보기에는 너무나 오래걸려서
작업을 수정해야겠다는 생각이 확고해졌다.
압축하는데 시간이 너무 오래걸리길래 뭐지? 하면서 검색을하니
github 이슈부분에 나와 비슷한 사례들이 있었다.
issues 흠..
찾아보니 해당 jszip 라이브러리는 관리가 안되고있고
fflateUZIP을 권장한다 하더라..
찾아보니 fflate 가 월등해보인다. 해당 라이브러리로 변경을 해야겠다.

작업을 하다보니 굳이? 압축을 해야하나? 폴더를 생성시키고 거기다가 복사시키면 안되나 하기도 했다.

둘다.. 나중에 적용시켜봐야겠다.

🤷🏻‍♀️ 변경하기에 앞서.. (완성)

기존에 jszip 라이브러리 API문서를 보니 onUpdate 콜백함수가 있었다.
퍼센트 수치와 현재 작업중인 파일명을 던져준다.
이걸로 progress 상태를 수치로 보여줌으로써 현재 작업중인게 무엇인지를 표현해두자.
시각적으로 어느정도 표현이됬기에 문제가 될때 그때 다시 고쳐보자.

🤷🏻‍♀️ 이것의 앞으로 활용성

여러 테스트를 계속 받아보면서 (현재 2곳 사용중)
오류가 있거나 하면 보완하여 웹시장에 공개되는 날까지 계속 보완해보려 한다.
사진을 분류할때 GPS로 하는건 여기서 해야한다는 확고한 유명세를 얻기까지.

참고) OpenLayers, ol-ext, FileSavers, exif.js, JSZip, SGIS통계지리정보서비스, fflate, UZIP


Note: 만들고나니 내것이 아니었다.

Leave a comment