Java 응용 프로그램에서 JmapViewer를 사용하고 있습니다. 지도는 jPanel에 그려집니다. 현재 확대/축소 수준에 해당하는지도 배율을 가져올 수 있습니까?JMapViewer, OSM지도 축척, Java
X = R * lon * cos(lat1);
Y = R * log(tan(lat/2 + 45)), lat1 = 0;
투영은 공형이기 때문에, 로컬 리니어 스케일 방향 무관 : 맵은 공지 토르 투영에 기초한다.
Point p1 = new Point(0,0);
Point p2 = new Point(100,0);
final double dlon = getPosition(p2).getLon() - getPosition(p1).getLon();
final double scale = 6380000 * abs(dlon) * PI/180/100; //scale = (R * dlon)/||p1-p2||
개선점 : 내 생각은 같은 병렬을 공유하는 두 포인트를 사용 초기 점 P1 뷰의 중심이 될 수 있습니다.
Point p1 = new Point(jPanel1.width()/2,jPanel1.height()/2);
Point p2 = new Point(jPanel1.width()/2 + 100, jPanel1.height()/2);
픽셀 좌표는 "미터"로 평가됩니다. 화학식 화소 크기 부족 ...
. 질문에 확대/축소 측면을 추가합니다. 즉 확대/축소 중심점과 배율 인수가 있습니다. 나머지는 부적합합니다. 현재의 양식에서는 가장 합리적인 답을 얻지 못할 것입니다. –