package org.opentripplanner.api.thrift.util; import org.opentripplanner.api.thrift.definition.LatLng; import org.opentripplanner.common.model.GenericLocation; import com.vividsolutions.jts.geom.Coordinate; public class LatLngExtension extends LatLng { /** * Required for serialization. */ private static final long serialVersionUID = 1L; /** * Default constructor. * * TODO(flamholz): figure out if lombok calls superclass constructor? */ public LatLngExtension() { super(); } /** * Makes a Thrift LatLng structure from a Coordinate. * * @param c * @return */ public LatLngExtension(Coordinate c) { this(); setCoordinate(c); } /** * Copy constructor... * * @param other */ public LatLngExtension(LatLng other) { this(); setLat(other.getLat()); setLng(other.getLng()); } /** * Set lat and lng correctly mapping y, x = lat, lng * * @param c */ public void setCoordinate(Coordinate c) { // lat, lng = y, x setLat(c.y); setLng(c.x); } /** * Create a coordinate. * * @return */ public Coordinate toCoordinate() { // Coordinates are x,y meaning lng,lat. return new Coordinate(getLng(), getLat()); } /** * Create a GenericLocation. * * @return */ public GenericLocation toGenericLocation() { return new GenericLocation(getLat(), getLng()); } }