package org.osm2world.core.map_data.creation; import org.osm2world.core.math.VectorXZ; /** * function that converts latitude/longitude coordinates * to internally used x/z coordinates */ public interface MapProjection { public VectorXZ calcPos(double lat, double lon); public VectorXZ calcPos(LatLon latlon); /** * inverse for {@link #calcPos(double, double)} */ public double calcLat(VectorXZ pos); /** * inverse for {@link #calcPos(double, double)} */ public double calcLon(VectorXZ pos); /** * returns a vector that points one meter to the north * from the position that becomes the coordinate origin */ public VectorXZ getNorthUnit(); /** * returns the origin (i.e. the latlon that maps to (0,0) */ public LatLon getOrigin(); }