Open suhwna opened 2 weeks ago
안녕하세요
해당 기능 설계는 가로와 세로 셀 수가 750 이하에서 동작하게 설계되어 있습니다. 그이상 크기에서 메모리 문제가 생깁니다.
createTMCoordPlane API 기능은 지구본에서 매우 큰 격자를 만들어야 될때 구면 왜곡을 줄일려고 만들어진 기능입니다.
일반적으로 작은 영역은 사각형 폴리곤을 만들어서 이미지 맵핑하는 방식으로 가능합니다.
폴리곤 범위는 ix = xllcorner, iy = yllcorner, ax = xllcorner+ cellsize col , ay = yllcorner + cellsize row 위 좌표를 좌표변환 기능을 통해서 https://sandbox.egiscloud.com/code/main.do?id=others_coordinate_conversion
각각의 최소, 최대 lon,lat 좌표를 갖고 옵니다.
이를 아래 샘플처럼 폴리곤을 만든 후에 격자분석 결과 이미지를 적용하면 됩니다. https://sandbox.egiscloud.com/code/main.do?id=object_polygon_rtt_image_changing
답변 감사합니다.
속도는 확실히 빨라졌습니다. 그런데 폴리곤에 맵핑한 이미지에서 이격이 발생합니다.
이전에는 createTMCoordPlane의 gab으로 해결했었는데, 혹시 다른 방법이 있을까요?
현재 사용중인 폴리곤 이미지 매핑 방식입니다.
setFludGridTexture(_polygon) {
const canvas = document.createElement('canvas');
const img = this.createGridToRaster(this.gridData, this.#legend, canvas); // 예시) { data : ctx.getImageData(0, 0, w, h).data, width : w, height : h }
const buffer = Module._malloc(img.data.byteLength + 1);
Module.writeArrayToMemory(img.data, buffer);
_polygon.setTextureByte(buffer, img.data.byteLength, canvas.width, canvas.height, true); // 폴리곤에 텍스처 적용
Module._free(buffer); // 메모리 해제
}
엔진 버전 : 2.7.2
문의 내용 :
안녕하세요.
지도 로딩 후, polygon.createTMCoordPlane으로 6개 정도 polygon을 생성합니다.
전부 생성하는데 50초 정도 걸리는데 그 동안에 지도가 멈춰버립니다.
지도가 멈추지 않고 백그라운드에서 생성하게 할 순 없을까요?
사용한 코드입니다.