当前位置: 首页>>代码示例>>Java>>正文


Java LineString.getPoints方法代码示例

本文整理汇总了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);
            }
        }
    }
}
 
开发者ID:ngageoint,项目名称:geopackage-android,代码行数:34,代码来源:DefaultFeatureTiles.java

示例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);
                }
            }
        }
    }
}
 
开发者ID:ngageoint,项目名称:geopackage-android,代码行数:31,代码来源:DefaultFeatureTiles.java

示例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));
				}
			}
		}
	}
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:30,代码来源:GeometryUtils.java

示例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);
	}
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:26,代码来源:CentroidSurface.java

示例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;
}
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:27,代码来源:OsmMapShapeConverter.java

示例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);
	}

}
 
开发者ID:ngageoint,项目名称:geopackage-android,代码行数:20,代码来源:FeatureUtils.java

示例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);
    }
}
 
开发者ID:ngageoint,项目名称:mage-android,代码行数:15,代码来源:LocationEditActivity.java

示例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;
}
 
开发者ID:ngageoint,项目名称:geopackage-core-java,代码行数:18,代码来源:GeometryProjectionTransform.java

示例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);
	}
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:16,代码来源:GeometryEnvelopeBuilder.java

示例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);
	}
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:16,代码来源:GeometryPrinter.java

示例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;
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:14,代码来源:GeometryJSONCompatible.java

示例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);
	}
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:17,代码来源:WkbGeometryWriter.java

示例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);
		}
	}

}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:55,代码来源:GeometryUtilsTest.java

示例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);
	}
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:15,代码来源:GeometryUtils.java


注:本文中的mil.nga.wkb.geom.LineString.getPoints方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。