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


Java LineString类代码示例

本文整理汇总了Java中mil.nga.wkb.geom.LineString的典型用法代码示例。如果您正苦于以下问题:Java LineString类的具体用法?Java LineString怎么用?Java LineString使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


LineString类属于mil.nga.wkb.geom包,在下文中一共展示了LineString类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: toPolyline

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Convert a {@link LineString} to a {@link PolylineOptions}
 *
 * @param lineString
 * @return
 */
public PolylineOptions toPolyline(LineString lineString) {

    PolylineOptions polylineOptions = new PolylineOptions();
    Double z = null;

    // Try to simplify the number of points in the line string
    List<Point> points = simplifyPoints(lineString.getPoints());

    for (Point point : points) {
        LatLng latLng = toLatLng(point);
        polylineOptions.add(latLng);
        if (point.hasZ()) {
            z = (z == null) ? point.getZ() : Math.max(z, point.getZ());
        }
    }

    if (lineString.hasZ() && z != null) {
        polylineOptions.zIndex(z.floatValue());
    }

    return polylineOptions;
}
 
开发者ID:ngageoint,项目名称:geopackage-android-map,代码行数:29,代码来源:GoogleMapShapeConverter.java

示例2: createLineString

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Create a random line string
 *
 * @param hasZ
 * @param hasM
 * @param ring
 * @return
 */
public static LineString createLineString(boolean hasZ, boolean hasM,
                                          boolean ring) {

    LineString lineString = new LineString(hasZ, hasM);

    int numPoints = 2 + ((int) (Math.random() * 9));

    for (int i = 0; i < numPoints; i++) {
        lineString.addPoint(createPoint(hasZ, hasM));
    }

    if (ring) {
        lineString.addPoint(lineString.getPoints().get(0));
    }

    return lineString;
}
 
开发者ID:ngageoint,项目名称:geopackage-android-map,代码行数:26,代码来源:TestUtils.java

示例3: comparePolygonAndMapPolygon

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Compare Polygon with Map Polygon
 *
    * @param converter
 * @param polygon
 * @param polygon2
 */
private static void comparePolygonAndMapPolygon(GoogleMapShapeConverter converter,
           Polygon polygon,
		PolygonOptions polygon2) {
	List<LineString> rings = polygon.getRings();
	List<LatLng> points = polygon2.getPoints();
	List<List<LatLng>> holes = polygon2.getHoles();

	TestCase.assertEquals(polygon.numRings(), 1 + holes.size());

	LineString polygonRing = rings.get(0);
	compareLineStringAndLatLngs(converter, polygonRing, points);

	for (int i = 1; i < rings.size(); i++) {
		LineString ring = rings.get(i);
		List<LatLng> hole = holes.get(i - 1);
		compareLineStringAndLatLngs(converter, ring, hole);
	}
}
 
开发者ID:ngageoint,项目名称:geopackage-android-map,代码行数:26,代码来源:GoogleMapShapeConverterUtils.java

示例4: convertMultiLineString

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Test the MultiLineString conversion
 * 
 * @param converter
 * @param multiLineString
 */
private static void convertMultiLineString(
		GoogleMapShapeConverter converter, MultiLineString multiLineString) {

	MultiPolylineOptions polylines = converter.toPolylines(multiLineString);
	TestCase.assertNotNull(polylines);
	TestCase.assertFalse(polylines.getPolylineOptions().isEmpty());

	List<LineString> lineStrings = multiLineString.getLineStrings();
	compareLineStringsAndPolylines(converter, lineStrings,
			polylines.getPolylineOptions());

	MultiLineString multiLineString2 = converter
			.toMultiLineStringFromOptions(polylines);
	compareLineStrings(lineStrings, multiLineString2.getLineStrings());
}
 
开发者ID:ngageoint,项目名称:geopackage-android-map,代码行数:22,代码来源:GoogleMapShapeConverterUtils.java

示例5: convertCompoundCurve

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Test the CompoundCurve conversion
 * 
 * @param converter
 * @param compoundCurve
 */
private static void convertCompoundCurve(GoogleMapShapeConverter converter,
		CompoundCurve compoundCurve) {

	MultiPolylineOptions polylines = converter.toPolylines(compoundCurve);
	TestCase.assertNotNull(polylines);
	TestCase.assertFalse(polylines.getPolylineOptions().isEmpty());

	List<LineString> lineStrings = compoundCurve.getLineStrings();
	compareLineStringsAndPolylines(converter, lineStrings,
			polylines.getPolylineOptions());

	CompoundCurve compoundCurve2 = converter
			.toCompoundCurveWithOptions(polylines);
	compareLineStrings(lineStrings, compoundCurve2.getLineStrings());
}
 
开发者ID:ngageoint,项目名称:geopackage-android-map,代码行数:22,代码来源:GoogleMapShapeConverterUtils.java

示例6: 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

示例7: 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

示例8: createLineString

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Create a random line string
 *
 * @param hasZ
 * @param hasM
 * @param ring
 * @return
 */
public static LineString createLineString(boolean hasZ, boolean hasM,
		boolean ring) {

	LineString lineString = new LineString(hasZ, hasM);

	int numPoints = 2 + ((int) (Math.random() * 9));

	for (int i = 0; i < numPoints; i++) {
		lineString.addPoint(createPoint(hasZ, hasM));
	}

	if (ring) {
		lineString.addPoint(lineString.getPoints().get(0));
	}

	return lineString;
}
 
开发者ID:ngageoint,项目名称:geopackage-android,代码行数:26,代码来源:TestUtils.java

示例9: getArea

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Get the area of the polygon
 *
 * @param simplifyTolerance
 *            simplify tolerance in meters
 * @param boundingBox
 * @param transform
 * @param lineString
 */
private Area getArea(double simplifyTolerance, BoundingBox boundingBox,
		ProjectionTransform transform, Polygon polygon) {

	Area area = null;

	for (LineString ring : polygon.getRings()) {

		Path2D path = getPath(simplifyTolerance, boundingBox, transform,
				ring);
		Area ringArea = new Area(path);

		if (area == null) {
			area = ringArea;
		} else {
			area.subtract(ringArea);
		}

	}

	return area;
}
 
开发者ID:ngageoint,项目名称:geopackage-java,代码行数:31,代码来源:DefaultFeatureTiles.java

示例10: createLineString

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Create a random line string
 * 
 * @param hasZ
 * @param hasM
 * @param ring
 * @return line string
 */
public static LineString createLineString(boolean hasZ, boolean hasM,
		boolean ring) {

	LineString lineString = new LineString(hasZ, hasM);

	int numPoints = 2 + ((int) (Math.random() * 9));

	for (int i = 0; i < numPoints; i++) {
		lineString.addPoint(createPoint(hasZ, hasM));
	}

	if (ring) {
		lineString.addPoint(lineString.getPoints().get(0));
	}

	return lineString;
}
 
开发者ID:ngageoint,项目名称:geopackage-java,代码行数:26,代码来源:TestUtils.java

示例11: 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

示例12: 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

示例13: createPolygon

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
private static Polygon createPolygon() {

		Polygon polygon = new Polygon();
		LineString lineString = new LineString();
		lineString.addPoint(createPoint(-180.0, 45.0, 90.0, 45.0));
		lineString.addPoint(createPoint(-180.0, -90.0, 90.0, 45.0));
		lineString.addPoint(createPoint(90.0, -90.0, 90.0, 45.0));
		lineString.addPoint(createPoint(90.0, 45.0, 90.0, 45.0));
		polygon.addRing(lineString);

		LineString holeLineString = new LineString();
		holeLineString.addPoint(createPoint(-90.0, 0.0, 90.0, 45.0));
		holeLineString.addPoint(createPoint(-90.0, -45.0, 90.0, 45.0));
		holeLineString.addPoint(createPoint(0.0, -45.0, 90.0, 45.0));
		holeLineString.addPoint(createPoint(0.0, 0.0, 90.0, 45.0));
		polygon.addRing(holeLineString);

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

示例14: createLineString

import mil.nga.wkb.geom.LineString; //导入依赖的package包/类
/**
 * Create a random line string
 * 
 * @param hasZ
 * @param hasM
 * @param ring
 * @return
 */
public static LineString createLineString(boolean hasZ, boolean hasM,
		boolean ring) {

	LineString lineString = new LineString(hasZ, hasM);

	int num = 2 + ((int) (Math.random() * 9));

	for (int i = 0; i < num; i++) {
		lineString.addPoint(createPoint(hasZ, hasM));
	}

	if (ring) {
		lineString.addPoint(lineString.getPoints().get(0));
	}

	return lineString;
}
 
开发者ID:ngageoint,项目名称:geopackage-wkb-java,代码行数:26,代码来源:WKBTestUtils.java

示例15: 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


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