지도 위에 일부 레이어를 시각화하기 위해 vaadin 플러그인 인 v- 전단 (0.61)을 사용하고 있습니다.전단지 CRS.Simple에서 위도/경도를 EPSG로 변환하는 방법 : 4326
지도를 클릭하면 geoserver에 wms 쿼리가 생성됩니다. 쿼리에 매개 변수가 필요하며 그 중 하나가 bbox입니다. 기본적으로 맵에 의해 반환 된 bbox는 전단계의 신비한 좌표계 인 CRS.Simple에 있다고 가정합니다. 내가지도 및 레이어에 속성
leafletMap.setCrs(Crs.EPSG3857);
myoverlayer.setCrs(Crs.EPSG3857);
모두를 설정 한 경우에도
.
저는 here JTS Topology Suite를 사용하여 EPSG에서 다른 것으로 변환하는 방법을 배웠습니다.
그러나 leafltet에서 사용하는 Crs.Simple에서 EPSG (4326이 더 좋음)로 변환하는 방법을 찾을 수 없습니다.
바운드 : 6.0919189453125, 45.11617660357484, 11.134643554687498, 46.50217348354072
만약 내가 EPSG3857,지도와 레이어를 모두 설정 한 경우
, 그것은 나에게 경계 상자 같은 것을 반환
바운드 : 6.0919189453125, 44.81597900390625, 11.1346435546875,나는 같은 전망과 함께, EPSG4326 설정 46.80450439453125
위도 값만 변경된 것으로 보입니다.
나는 EPSG4326에 EPSG3857에서 변환 할 JTSTool (JTS 토폴로지 스위트)를 사용하는 것도 tryed했습니다과 값은 다음과 같습니다
BBOX = 4.0528551003362907E-4,5.4724638981914947E-5,4.1773613184440224E -4,1.0002420488398699E-4
그것은 이상한 소리 ....
누군가가 나를 CRS는 BBOX을 정의하는 데 사용 이해하는 데 도움이 수 있습니까? 아니면 그들을 변형시킬 방법이 있을까요?
"
CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4326");
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:3857");
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS, false);
GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326);
com.vividsolutions.jts.geom.Point point = geometryFactory.createPoint(new Coordinate(bbb.getSouthWestLon(),bbb.getSouthWestLat()));
com.vividsolutions.jts.geom.Point point2 = geometryFactory.createPoint(new Coordinate(bbb.getNorthEastLon(),bbb.getNorthEastLat()));
com.vividsolutions.jts.geom.Point targetPoint = (com.vividsolutions.jts.geom.Point) JTS.transform(point, transform);
com.vividsolutions.jts.geom.Point targetPoint2 = (com.vividsolutions.jts.geom.Point) JTS.transform(point2, transform);"
에 그 전단지가 제공 위도와 경도 및 프로젝트를 취할. 그래서 사용할 수 없습니다. –