本文整理汇总了Java中mil.nga.wkb.geom.LineString.getPoints方法的典型用法代码示例。如果您正苦于以下问题:Java LineString.getPoints方法的具体用法?Java LineString.getPoints怎么用?Java LineString.getPoints使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mil.nga.wkb.geom.LineString
的用法示例。
在下文中一共展示了LineString.getPoints方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addLineString
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Add the linestring to the path
*
* @param simplifyTolerance simplify tolerance in meters
* @param boundingBox
* @param transform
* @param path
* @param lineString
*/
private void addLineString(double simplifyTolerance, BoundingBox boundingBox, ProjectionTransform transform, Path path, LineString lineString) {
List<Point> points = lineString.getPoints();
if (points.size() >= 2) {
// Try to simplify the number of points in the LineString
points = simplifyPoints(simplifyTolerance, points);
for (int i = 0; i < points.size(); i++) {
Point point = points.get(i);
Point webMercatorPoint = getPoint(transform, point);
float x = TileBoundingBoxUtils.getXPixel(tileWidth, boundingBox,
webMercatorPoint.getX());
float y = TileBoundingBoxUtils.getYPixel(tileHeight, boundingBox,
webMercatorPoint.getY());
if (i == 0) {
path.moveTo(x, y);
} else {
path.lineTo(x, y);
}
}
}
}
示例2: addPolygon
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Add the polygon on the canvas
*
* @param simplifyTolerance simplify tolerance in meters
* @param boundingBox
* @param transform
* @param path
* @param polygon
*/
private void addPolygon(double simplifyTolerance, BoundingBox boundingBox, ProjectionTransform transform, Path path, Polygon polygon) {
List<LineString> rings = polygon.getRings();
if (!rings.isEmpty()) {
// Add the polygon points
LineString polygonLineString = rings.get(0);
List<Point> polygonPoints = polygonLineString.getPoints();
if (polygonPoints.size() >= 2) {
addRing(simplifyTolerance, boundingBox, transform, path, polygonPoints);
// Add the holes
for (int i = 1; i < rings.size(); i++) {
LineString holeLineString = rings.get(i);
List<Point> holePoints = holeLineString.getPoints();
if (holePoints.size() >= 2) {
addRing(simplifyTolerance, boundingBox, transform, path, holePoints);
}
}
}
}
}
示例3: minimize
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Minimize the line string
*
* @param lineString
* line string
* @param maxX
* max positive x value in the geometry projection
*/
private static void minimize(LineString lineString, double maxX) {
List<Point> points = lineString.getPoints();
if (points.size() > 1) {
Point point = points.get(0);
for (int i = 1; i < points.size(); i++) {
Point nextPoint = points.get(i);
if (point.getX() < nextPoint.getX()) {
if (nextPoint.getX() - point.getX() > point.getX()
- nextPoint.getX() + (maxX * 2.0)) {
nextPoint.setX(nextPoint.getX() - (maxX * 2.0));
}
} else if (point.getX() > nextPoint.getX()) {
if (point.getX() - nextPoint.getX() > nextPoint.getX()
- point.getX() + (maxX * 2.0)) {
nextPoint.setX(nextPoint.getX() + (maxX * 2.0));
}
}
}
}
}
示例4: add
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Add or subtract a line string to or from the centroid total
*
* @param positive
* true if an addition, false if a subtraction
* @param lineString
* line string
*/
private void add(boolean positive, LineString lineString) {
List<Point> points = lineString.getPoints();
Point firstPoint = points.get(0);
if (base == null) {
base = firstPoint;
}
for (int i = 0; i < points.size() - 1; i++) {
Point point = points.get(i);
Point nextPoint = points.get(i + 1);
addTriangle(positive, base, point, nextPoint);
}
Point lastPoint = points.get(points.size() - 1);
if (firstPoint.getX() != lastPoint.getX()
|| firstPoint.getY() != lastPoint.getY()) {
addTriangle(positive, base, lastPoint, firstPoint);
}
}
示例5: toPolyline
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Convert a {@link LineString} to a {@link PolylineOptions}
*
* @param lineString
* @return
*/
public Polyline toPolyline(LineString lineString) {
Polyline line = new Polyline();
if (polylineOptions!=null) {
line.setTitle(polylineOptions.getTitle());
line.setColor(polylineOptions.getColor());
line.setGeodesic(polylineOptions.isGeodesic());
line.setWidth(polylineOptions.getWidth());
line.setSubDescription(polygonOptions.getSubtitle());
}
List<GeoPoint> pts = new ArrayList<>();
for (Point point : lineString.getPoints()) {
GeoPoint latLng = toLatLng(point);
pts.add(latLng);
}
line.setPoints(pts);
return line;
}
示例6: validateLineString
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Validate Line String
*
* @param topGeometry
* @param lineString
*/
private static void validateLineString(Geometry topGeometry,
LineString lineString) {
TestCase.assertEquals(GeometryType.LINESTRING,
lineString.getGeometryType());
validateZAndM(topGeometry, lineString);
for (Point point : lineString.getPoints()) {
validatePoint(topGeometry, point);
}
}
示例7: checkIfRectangle
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Check if the geometry is a rectangle polygon
*
* @param geometry geometry
*/
private void checkIfRectangle(Geometry geometry) {
isRectangle = false;
if (geometry.getGeometryType() == GeometryType.POLYGON) {
Polygon polygon = (Polygon) geometry;
LineString ring = polygon.getRings().get(0);
List<Point> points = ring.getPoints();
updateIfRectangle(points);
}
}
示例8: transform
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Transform the projected line string
*
* @param lineString
* @return projected line string
*/
public LineString transform(LineString lineString) {
LineString to = new LineString(lineString.hasZ(), lineString.hasM());
for (Point point : lineString.getPoints()) {
Point toPoint = transform(point);
to.addPoint(toPoint);
}
return to;
}
示例9: addLineStringMessage
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Add LineString
*
* @param envelope
* @param lineString
*/
private static void addLineStringMessage(GeometryEnvelope envelope,
LineString lineString) {
updateHasZandM(envelope, lineString);
for (Point point : lineString.getPoints()) {
addPointMessage(envelope, point);
}
}
示例10: addLineStringMessage
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Add LineString message
*
* @param message
* @param lineString
*/
private static void addLineStringMessage(StringBuilder message,
LineString lineString) {
message.append(Point.class.getSimpleName() + "s: "
+ lineString.numPoints());
for (Point point : lineString.getPoints()) {
message.append("\n\n");
addPointMessage(message, point);
}
}
示例11: getLineString
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Get LineString object
*
* @param lineString
* @return line string object
*/
private static Object getLineString(LineString lineString) {
List<Object> jsonObject = new ArrayList<>();
for (Point point : lineString.getPoints()) {
jsonObject.add(getPoint(point));
}
return jsonObject;
}
示例12: writeLineString
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Write a Line String
*
* @param writer
* @param lineString
* @throws IOException
*/
public static void writeLineString(ByteWriter writer, LineString lineString)
throws IOException {
writer.writeInt(lineString.numPoints());
for (Point point : lineString.getPoints()) {
writePoint(writer, point);
}
}
示例13: testCopyMinimizeAndNormalize
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
@Test
public void testCopyMinimizeAndNormalize() {
Polygon polygon = new Polygon();
LineString ring = new LineString();
double random = Math.random();
if (random < .5) {
ring.addPoint(createPoint(90.0, 0.0, 90.0, 90.0));
ring.addPoint(createPoint(90.0, -90.0, 90.0, 90.0));
ring.addPoint(createPoint(-180.0, -90.0, 89.0, 90.0));
ring.addPoint(createPoint(-180.0, 0.0, 89.0, 90.0));
} else {
ring.addPoint(createPoint(-180.0, 0.0, 89.0, 90.0));
ring.addPoint(createPoint(-180.0, -90.0, 89.0, 90.0));
ring.addPoint(createPoint(90.0, -90.0, 90.0, 90.0));
ring.addPoint(createPoint(90.0, 0.0, 90.0, 90.0));
}
polygon.addRing(ring);
Polygon polygon2 = (Polygon) polygon.copy();
GeometryUtils.minimizeGeometry(polygon2, 180.0);
Polygon polygon3 = (Polygon) polygon2.copy();
GeometryUtils.normalizeGeometry(polygon3, 180.0);
List<Point> points = ring.getPoints();
LineString ring2 = polygon2.getRings().get(0);
List<Point> points2 = ring2.getPoints();
LineString ring3 = polygon3.getRings().get(0);
List<Point> points3 = ring3.getPoints();
for (int i = 0; i < points.size(); i++) {
Point point = points.get(i);
Point point2 = points2.get(i);
Point point3 = points3.get(i);
TestCase.assertEquals(point.getY(), point2.getY(), .0000000001);
TestCase.assertEquals(point.getY(), point3.getY(), .0000000001);
TestCase.assertEquals(point.getX(), point3.getX(), .0000000001);
if (i < 2) {
TestCase.assertEquals(point.getX(), point2.getX(), .0000000001);
} else {
double point2Value = point2.getX();
if (random < .5) {
point2Value -= 360.0;
} else {
point2Value += 360.0;
}
TestCase.assertEquals(point.getX(), point2Value, .0000000001);
}
}
}
示例14: normalize
import mil.nga.wkb.geom.LineString; //导入方法依赖的package包/类
/**
* Normalize the line string
*
* @param lineString
* line string
* @param maxX
* max positive x value in the geometry projection
*/
private static void normalize(LineString lineString, double maxX) {
for (Point point : lineString.getPoints()) {
normalize(point, maxX);
}
}