/* public static */
LinearLocation*
LocationIndexOfLine::indicesOf(const Geometry* linearGeom,
		const Geometry* subLine)
{
	LocationIndexOfLine locater(linearGeom);
	return locater.indicesOf(subLine);
}
double LengthIndexOfPoint::indexOfAfter(const Geometry *linearGeom, const Coordinate& inputPt, double minIndex)
{
	LengthIndexOfPoint locater(linearGeom);
	return locater.indexOfAfter(inputPt, minIndex);
}
double LengthIndexOfPoint::indexOf(const Geometry *linearGeom, const Coordinate& inputPt)
{
	LengthIndexOfPoint locater(linearGeom);
	return locater.indexOf(inputPt);
}
double LengthLocationMap::getLength(const Geometry* linearGeom, const LinearLocation& loc)
{
	LengthLocationMap locater(linearGeom);
	return locater.getLength(loc);
}
LinearLocation LengthLocationMap::getLocation(const Geometry* linearGeom, double length)
{
	LengthLocationMap locater(linearGeom);
	return locater.getLocation(length);
}
WayLocation LocationOfPoint::locate(const ConstOsmMapPtr& map, shared_ptr<const Way> way,
  const Coordinate& inputPt)
{
  LocationOfPoint locater(map, way);
  return locater.locate(inputPt);
}