2010-05-13 3 views
0

사용자가 로컬 시스템에서 jpeg 및 world 파일을 가져올 수있는 Java 애플릿이 있습니다. 사용자는 가져온 이미지에서 선을 그어 "클릭"할 수 있습니다. 각 행의 각 끝점에는 X/Y 및 위도/경도 값 집합이 포함됩니다. XY는 표준 Java 좌표 공간이며, 애플릿은 월드 파일과의 아핀 변환 계산을 사용하여 캔버스의 모든 점에 대한 위도/경도를 결정합니다.위도/경도에서 월드 파일 및지도 이미지로 직교 좌표로 변환

사용자가 텍스트 필드에 거리를 입력하고 화면의 단일 선택 지점에서 특정 방향 (위, 아래, 왼쪽, 오른쪽)으로 선을 그릴 수있는 요구 사항이 있습니다 . 나는 주어진 위도/경도, 거리, 및 방위를 주어진 점의 위도/경도를 결정하는 방법을 안다.

사용자가 텍스트 필드에 "100"을 입력하고 오른쪽 화살표 키를 누르면 현재 선택한 점에서 오른쪽으로 100 피트 선을 그립니다.

내 문제는 거리 (피트 단위)를 픽셀 단위로 변환하는 방법을 모른다는 것입니다. 그러면 내 지점에 점을 표시 할 것입니다.

+2

는 위도가 긴 대상의, 당신 같은 소리 /을 그 지리적 인 점에서 픽셀 공간의 점으로 변환하기 위해 당신의 affine transform의 역함수를 적용 할 필요가 있습니다. 그게 맞습니까? – tcarobruce

답변

0

tcarobruce, 정확합니다. 역변환 알고리즘은 내가 필요로하는 것입니다. 자바를 사용하기 때문에 역 변환 함수를 가진 java.awt.AffineTransform 객체로 "집에서 만든"변환 알고리즘을 대체 할 수있었습니다.

이것은 내 문제를 해결 한 것으로 보입니다.

감사합니다.

0

사용자가 항상 위도/경도 wgs84 영사에있는 래스터 이미지를 업로드하고 있다고 확신합니까? 이 경우 고정 좌표 변환을 설정할 수 있기 때문입니다.

혹시 다른 예측과 다른 소스에서 이미지를 디지털화 고려하면, 당신은 오픈 소스 geotools 라이브러리를 살펴 걸릴 할 수 있습니다 : 당신이 알고 있기 때문에 http://www.geotools.org/

+0

예 세계적인 파일과 일치하는 jpg 파일을 업로드 할 수있는 특정 프로세스가있는 회사 환경입니다. 링크를 제공해 주셔서 감사합니다. API가 도움이 될 것 같은데, 정확하게 호환되지 않는 일부 기존 라이브러리를 다루고 있으며 방대한 재 설계를 피하려고합니다. –