public String formatDeg( String componentFormat ) { return String.format( componentFormat + "," + componentFormat, getLatDeg( ), getLonDeg( ) ); }
@Override public String format( LatLonGeo latLon ) { String result; if ( latLon == null ) { result = null; } else { double latDeg = latLon.getLatDeg( ); double lonDeg = latLon.getLonDeg( ); result = String.format( formatString + "," + formatString, latDeg, lonDeg ); } return result; }
@Override public Vector2d project( LatLonGeo llg ) { double lonDeg = llg.getLonDeg( ); double latRad = llg.getLatRad( ); double x = ( lonDeg + 180 ) / 360 * zoomFac; double y = ( 1 - Math.log( Math.tan( latRad ) + 1 / Math.cos( latRad ) ) / PI ) / 2 * zoomFac; return new Vector2d( x, y ); }
public static LatLon toLatLon( LatLonGeo latlongeo ) { return LatLon.fromDegrees( latlongeo.getLatDeg( ), latlongeo.getLonDeg( ) ); } }
public static Position toPosition( LatLonGeo latlongeo, double elevation ) { return Position.fromDegrees( latlongeo.getLatDeg( ), latlongeo.getLonDeg( ), elevation ); }
public static LatLon toLatLon( LatLonGeo latlongeo ) { return LatLon.fromDegrees( latlongeo.getLatDeg( ), latlongeo.getLonDeg( ) ); } }
@Override public Vector2d project( LatLonGeo latLon ) { return new Vector2d( latLon.getLonDeg( ), latLon.getLatDeg( ) ); }
public static Position toPosition( LatLonGeo latlongeo, double elevation ) { return Position.fromDegrees( latlongeo.getLatDeg( ), latlongeo.getLonDeg( ), elevation ); }
public static Position toPosition( LatLonGeo latlongeo ) { return Position.fromDegrees( latlongeo.getLatDeg( ), latlongeo.getLonDeg( ) ); }
public static Position toPosition( LatLonGeo latlongeo ) { return Position.fromDegrees( latlongeo.getLatDeg( ), latlongeo.getLonDeg( ) ); }
private Projection getProjection( int zoom, int x, int y ) { LatLonGeo nw = slippyProj[zoom].unproject( x, y ); LatLonGeo se = slippyProj[zoom].unproject( x + 1, y + 1 ); double minLat = se.getLatDeg( ); double maxLat = nw.getLatDeg( ); double minLon = nw.getLonDeg( ); double maxLon = se.getLonDeg( ); return new LatLonProjection( geoProj, minLat, maxLat, minLon, maxLon, false ); }
private Projection getProjection( int zoom, int x, int y ) { LatLonGeo nw = slippyProj[zoom].unproject( x, y ); LatLonGeo se = slippyProj[zoom].unproject( x + 1, y + 1 ); double minLat = se.getLatDeg( ); double maxLat = nw.getLatDeg( ); double minLon = nw.getLonDeg( ); double maxLon = se.getLonDeg( ); return new LatLonProjection( geoProj, minLat, maxLat, minLon, maxLon, false ); } }
@Override public String format( LatLonGeo ll ) { String result; if ( ll == null ) { result = null; } else { double latDeg = ll.getLatDeg( ); double lonDeg = ll.getLonDeg( ); String latString = Util.toDegreesMinutesSeconds( latDeg, nDecimals, false ); String lonString = Util.toDegreesMinutesSeconds( lonDeg, nDecimals, true ); result = latString + "," + lonString; } return result; }
LatLonGeo neLatLon = centerLatLon.displacedBy( Length.fromMeters( viewportSizeMeters ), Azimuth.northeast ); Position swPos = Position.fromDegrees( swLatLon.getLatDeg( ), swLatLon.getLonDeg( ) ); Position sePos = Position.fromDegrees( seLatLon.getLatDeg( ), seLatLon.getLonDeg( ) ); Position nwPos = Position.fromDegrees( nwLatLon.getLatDeg( ), nwLatLon.getLonDeg( ) ); Position nePos = Position.fromDegrees( neLatLon.getLatDeg( ), neLatLon.getLonDeg( ) );
LatLonGeo sw = geoProj.unproject( minX, minY ); double east = ne.getLonDeg( ); double west = sw.getLonDeg( ); double lonSizeDeg = ( east - west ) / xTileDim; Vector2d maxVec = geoProj.project( LatLonGeo.fromDeg( center.getLatDeg( ) + dLat, center.getLonDeg( ) + dLon ) ); Vector2d minVec = geoProj.project( LatLonGeo.fromDeg( center.getLatDeg( ) - dLat, center.getLonDeg( ) - dLon ) );