public final class LatLons extends java.lang.Object implements Var<LatLons>
Var
.
Bietet zudem einige Geo-Funktionalitaeten, die je nach
Betrachtungsweise, z.B. als Polygon, wirken.Modifier and Type | Method and Description |
---|---|
LatLons |
append(double lat,
double lon) |
LatLons |
append(LatLon latLon)
Fuegt eine neue Koordinate hinten an.
|
LatLons |
append(long coord)
Fuegt eine neue Koordinate hinten an.
|
double |
area()
Interpretiert die Koordinaten als Huellpunkte und liefert die Flaeche.
|
double |
calcIntersectionLengthKm(LatLons poly)
Prueft diese Koordinatenkette gegen einen Polygon-Ring und ermittelt
die Laenge der Ueberschneidung.
|
double |
calcLengthKm()
Interpretiert die Koordinaten als Streckenpunkte
und liefert die Laenge in Kilometern.
|
LatLon |
center()
Interpretiert die Koordinaten als Wolke von
Punkten und liefert den Masseschwerpunkt der Haeufung.
|
LatLon |
centroid()
Interpretiert die Koordinaten als Huellpunkte und liefert
den Mittelpunkt als Masse-Schwerpunkt bzw.
|
void |
clear() |
boolean |
concat(LatLons latLons,
boolean allowReverse)
Kettet Koordinaten eines anderen
LatLons an. |
boolean |
contains(double lat,
double lon)
Interpretiert die Koordinaten als Huellpunkte und prueft,
ob die uebergebene Koordinate in diesem Polygon liegt.
|
boolean |
contains(LatLons latLons,
boolean fully)
Interpretiert die Koordinaten als Huellpunkte und prueft,
ob die uebergebenen Koordinaten in diesem Polygon liegen.
|
LatLons |
copy() |
LatLons |
crop(int newSize)
Kuerzt diese Koordinatenkette auf eine neue Laenge und liefert
den abgeschnittenen Rest als neues Objekt zurueck.
|
boolean |
equals(java.lang.Object obj) |
int |
findLastRing()
Ueberprueft auf Ring-Bildung und Ueberschneidungen.
|
long |
getCoord(int idx) |
long[] |
getCoords() |
LatLon |
getLatLon(int idx) |
int |
getSize() |
int[] |
getZoneIds(int zoneSize)
Interpretiert diese Koordinaten als Kette von Teilstrecken
und rastert sie mittels
ZoneUtils.raytraceZones(double, double, double, double, int) |
boolean |
isRing()
Ueberprueft die Koordinaten auf Ring-Bildung.
|
void |
orderByDistanceTo(double lat,
double lon)
Sortiert die Koordinaten nach Distanz zu einer uebergebenen Koordinate.
|
LatLons |
readFromStream(InStream inStream)
Deserialisiert dieses Objekt aus einem Stream.
|
LatLons |
reverse()
Dreht die Koordinaten um.
|
LatLons |
setCoord(int idx,
long coord) |
LatLons |
setCoords(LatLon[] latLons) |
LatLons |
setCoords(long[] coords) |
LatLons |
setFirstCoord(long coord) |
LatLons |
setLastCoord(long coord) |
LatLon[] |
toLatLonArray() |
java.lang.String |
toString() |
void |
writeToStream(OutStream outStream)
Serialisiert dieses Objekt in einen Stream.
|
public LatLons()
public LatLons(LatLon[] latLonArr)
public void clear()
public int getSize()
public final LatLons copy()
public final long[] getCoords()
public final LatLon[] toLatLonArray()
public final long getCoord(int idx)
public final LatLon getLatLon(int idx)
public final LatLons crop(int newSize)
newSize
- int,
Neue Laenge, bzw. erster Koordinaten-Index
ab dem abgeschnitten werden soll.LatLons
,
Hinten abgeschnittener Teil oder null, wenn
len >= this.sizepublic final boolean concat(LatLons latLons, boolean allowReverse)
LatLons
an.
latLons
- LatLons
anzufuegende KoordinatenallowReverse
- true: evtl. anzufuegende Kette umdrehen.public final LatLons reverse()
public final boolean isRing()
public final int findLastRing()
public final double calcLengthKm()
public final void orderByDistanceTo(double lat, double lon)
lat
- double Breitengradlon
- double Laengengradpublic final LatLons setCoords(long[] coords)
public final LatLons setCoord(int idx, long coord)
public final LatLons setFirstCoord(long coord)
public final LatLons setLastCoord(long coord)
public final LatLons append(double lat, double lon)
public final LatLons append(LatLon latLon)
latLon
- LatLon
public final LatLons append(long coord)
coord
- long Koordinatepublic final double area()
public final LatLon centroid()
public final LatLon center()
LatLon
Mittelpunkt NOT NULLcentroid()
public final boolean contains(double lat, double lon)
lat
- double Breitengradlon
- double Laengengradpublic final boolean contains(LatLons latLons, boolean fully)
contains(double, double)
fuer jeden Punkt.latLons
- LatLons
zu pruefende Koordinatenfully
- boolean
true: Alle Punkte muessen in der Huelle liegen.
false: Mindestens ein Punkt muss innerhalb liegen.public final void writeToStream(OutStream outStream)
Var
writeToStream
in interface Var<LatLons>
outStream
- OutStream
public final LatLons readFromStream(InStream inStream)
Var
readFromStream
in interface Var<LatLons>
inStream
- InStream
this
zurueckgeben.public final boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public final java.lang.String toString()
toString
in class java.lang.Object
public final int[] getZoneIds(int zoneSize)
ZoneUtils.raytraceZones(double, double, double, double, int)
zoneSize
- int Groesse einer Zonen-Zelle.