本文整理匯總了Java中com.vividsolutions.jts.geom.MultiLineString類的典型用法代碼示例。如果您正苦於以下問題:Java MultiLineString類的具體用法?Java MultiLineString怎麽用?Java MultiLineString使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
MultiLineString類屬於com.vividsolutions.jts.geom包,在下文中一共展示了MultiLineString類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: assertEquals
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
public static void assertEquals(Geometry s1, Geometry s2) {
if(s1 instanceof LineString && s2 instanceof LineString) {
assertEquals((LineString) s1, (LineString) s2);
} else if (s1 instanceof Polygon && s2 instanceof Polygon) {
assertEquals((Polygon) s1, (Polygon) s2);
} else if (s1 instanceof MultiPoint && s2 instanceof MultiPoint) {
Assert.assertEquals(s1, s2);
} else if (s1 instanceof MultiPolygon && s2 instanceof MultiPolygon) {
assertEquals((MultiPolygon) s1, (MultiPolygon) s2);
} else if (s1 instanceof MultiLineString && s2 instanceof MultiLineString) {
assertEquals((MultiLineString) s1, (MultiLineString) s2);
} else {
throw new RuntimeException("equality of shape types not supported [" + s1.getClass().getName() + " and " + s2.getClass().getName() + "]");
}
}
示例2: toGeomType
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
/**
* Get the MVT type mapping for the provided JTS Geometry.
*
* @param geometry JTS Geometry to get MVT type for
* @return MVT type for the given JTS Geometry, may return
* {@link uk.os.vt.mvt.VectorTile.Tile.GeomType#UNKNOWN}
*/
public static VectorTile.Tile.GeomType toGeomType(Geometry geometry) {
VectorTile.Tile.GeomType result = VectorTile.Tile.GeomType.UNKNOWN;
if (geometry instanceof Point
|| geometry instanceof MultiPoint) {
result = VectorTile.Tile.GeomType.POINT;
} else if (geometry instanceof LineString
|| geometry instanceof MultiLineString) {
result = VectorTile.Tile.GeomType.LINESTRING;
} else if (geometry instanceof Polygon
|| geometry instanceof MultiPolygon) {
result = VectorTile.Tile.GeomType.POLYGON;
}
return result;
}
示例3: computeSequence
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
private void computeSequence() {
if (this.isRun) {
return;
}
this.isRun = true;
List sequences = this.findSequences();
if (sequences == null) {
return;
}
this.sequencedGeometry = this.buildSequencedGeometry(sequences);
this.isSequenceable = true;
int finalLineCount = this.sequencedGeometry.getNumGeometries();
Assert.isTrue(this.lineCount == finalLineCount, "Lines were missing from result");
Assert.isTrue(this.sequencedGeometry instanceof LineString
|| this.sequencedGeometry instanceof MultiLineString,
"Result is not lineal");
}
示例4: computeSimple
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
private boolean computeSimple(Geometry geom) {
this.nonSimpleLocation = null;
if (geom.isEmpty()) {
return true;
}
if (geom instanceof LineString) {
return this.isSimpleLinearGeometry(geom);
}
if (geom instanceof MultiLineString) {
return this.isSimpleLinearGeometry(geom);
}
if (geom instanceof MultiPoint) {
return this.isSimpleMultiPoint((MultiPoint) geom);
}
if (geom instanceof Polygonal) {
return this.isSimplePolygonal(geom);
}
if (geom instanceof GeometryCollection) {
return this.isSimpleGeometryCollection(geom);
}
// all other geometry types are simple by definition
return true;
}
示例5: add
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
private void add(Geometry g) {
if (g.isEmpty()) {
return;
}
if (g instanceof Polygon) {
this.addPolygon((Polygon) g);
}
// LineString also handles LinearRings
else if (g instanceof LineString) {
this.addLineString((LineString) g);
} else if (g instanceof Point) {
this.addPoint((Point) g);
} else if (g instanceof MultiPoint) {
this.addCollection((MultiPoint) g);
} else if (g instanceof MultiLineString) {
this.addCollection((MultiLineString) g);
} else if (g instanceof MultiPolygon) {
this.addCollection((MultiPolygon) g);
} else if (g instanceof GeometryCollection) {
this.addCollection((GeometryCollection) g);
} else {
throw new UnsupportedOperationException(g.getClass().getName());
}
}
示例6: computeBoundaryCoordinates
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
private Coordinate[] computeBoundaryCoordinates(MultiLineString mLine) {
List bdyPts = new ArrayList();
this.endpointMap = new TreeMap();
for (int i = 0; i < mLine.getNumGeometries(); i++) {
LineString line = (LineString) mLine.getGeometryN(i);
if (line.getNumPoints() == 0) {
continue;
}
this.addEndpoint(line.getCoordinateN(0));
this.addEndpoint(line.getCoordinateN(line.getNumPoints() - 1));
}
for (Object o : endpointMap.entrySet()) {
Map.Entry entry = (Map.Entry) o;
Counter counter = (Counter) entry.getValue();
int valence = counter.count;
if (this.bnRule.isInBoundary(valence)) {
bdyPts.add(entry.getKey());
}
}
return CoordinateArrays.toCoordinateArray(bdyPts);
}
示例7: toShape
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
/**
* Creates a {@link Shape} representing a {@link Geometry},
* according to the specified PointTransformation
* and PointShapeFactory (if relevant).
* <p>
* Note that Shapes do not
* preserve information about which elements in heterogeneous collections
* are 1D and which are 2D.
* For example, a GeometryCollection containing a ring and a
* disk will render as two disks if Graphics.fill is used,
* or as two rings if Graphics.draw is used.
* To avoid this issue use separate shapes for the components.
*
* @param geometry the geometry to convert
* @return a Shape representing the geometry
*/
public Shape toShape(Geometry geometry) {
if (geometry.isEmpty()) {
return new GeneralPath();
}
if (geometry instanceof Polygon) {
return this.toShape((Polygon) geometry);
}
if (geometry instanceof LineString) {
return this.toShape((LineString) geometry);
}
if (geometry instanceof MultiLineString) {
return this.toShape((MultiLineString) geometry);
}
if (geometry instanceof Point) {
return this.toShape((Point) geometry);
}
if (geometry instanceof GeometryCollection) {
return this.toShape((GeometryCollection) geometry);
}
throw new IllegalArgumentException(
"Unrecognized Geometry class: " + geometry.getClass());
}
示例8: write
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
private void write(Geometry geom, Writer writer, int level)
throws IOException {
this.isRootTag = true;
if (geom instanceof Point) {
this.writePoint((Point) geom, writer, level);
} else if (geom instanceof LineString) {
this.writeLineString((LineString) geom, writer, level);
} else if (geom instanceof Polygon) {
this.writePolygon((Polygon) geom, writer, level);
} else if (geom instanceof MultiPoint) {
this.writeMultiPoint((MultiPoint) geom, writer, level);
} else if (geom instanceof MultiLineString) {
this.writeMultiLineString((MultiLineString) geom, writer, level);
} else if (geom instanceof MultiPolygon) {
this.writeMultiPolygon((MultiPolygon) geom, writer, level);
} else if (geom instanceof GeometryCollection) {
this.writeGeometryCollection((GeometryCollection) geom, writer,
this.startingIndentIndex);
} else {
throw new IllegalArgumentException("Unhandled geometry type: "
+ geom.getGeometryType());
}
writer.flush();
}
示例9: writeMultiLineString
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
private void writeMultiLineString(MultiLineString mls, Writer writer,
int level) throws IOException {
this.startLine(level, writer);
this.startGeomTag(GMLConstants.GML_MULTI_LINESTRING, mls, writer);
for (int t = 0; t < mls.getNumGeometries(); t++) {
this.startLine(level + 1, writer);
this.startGeomTag(GMLConstants.GML_LINESTRING_MEMBER, null, writer);
this.writeLineString((LineString) mls.getGeometryN(t), writer, level + 2);
this.startLine(level + 1, writer);
this.endGeomTag(GMLConstants.GML_LINESTRING_MEMBER, writer);
}
this.startLine(level, writer);
this.endGeomTag(GMLConstants.GML_MULTI_LINESTRING, writer);
}
示例10: write
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
/**
* Writes a {@link Geometry} to an {@link OutStream}.
*
* @param geom the geometry to write
* @param os the out stream to write to
* @throws IOException if an I/O error occurs
*/
public void write(Geometry geom, OutStream os) throws IOException {
if (geom instanceof Point) {
this.writePoint((Point) geom, os);
}
// LinearRings will be written as LineStrings
else if (geom instanceof LineString) {
this.writeLineString((LineString) geom, os);
} else if (geom instanceof Polygon) {
this.writePolygon((Polygon) geom, os);
} else if (geom instanceof MultiPoint) {
this.writeGeometryCollection(WKBConstants.wkbMultiPoint,
(MultiPoint) geom, os);
} else if (geom instanceof MultiLineString) {
this.writeGeometryCollection(WKBConstants.wkbMultiLineString,
(MultiLineString) geom, os);
} else if (geom instanceof MultiPolygon) {
this.writeGeometryCollection(WKBConstants.wkbMultiPolygon,
(MultiPolygon) geom, os);
} else if (geom instanceof GeometryCollection) {
this.writeGeometryCollection(WKBConstants.wkbGeometryCollection,
(GeometryCollection) geom, os);
} else {
Assert.shouldNeverReachHere("Unknown Geometry type");
}
}
示例11: appendMultiLineStringText
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
/**
* Converts a <code>MultiLineString</code> to <MultiLineString Text>
* format, then appends it to the writer.
*
* @param multiLineString the <code>MultiLineString</code> to process
* @param writer the output writer to append to
*/
private void appendMultiLineStringText(MultiLineString multiLineString, int level, boolean indentFirst,
Writer writer)
throws IOException {
if (multiLineString.isEmpty()) {
writer.write("EMPTY");
} else {
int level2 = level;
boolean doIndent = indentFirst;
writer.write("(");
for (int i = 0; i < multiLineString.getNumGeometries(); i++) {
if (i > 0) {
writer.write(", ");
level2 = level + 1;
doIndent = true;
}
this.appendLineStringText((LineString) multiLineString.getGeometryN(i), level2, doIndent, writer);
}
writer.write(")");
}
}
示例12: toGeometryType
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
/**
* Traduit un type de géométrie JTS {@link Geometry} et renvoie le type de
* géométrie GeOxygene {@link IGeometry} équivalent. TODO gérer tous les types
* de géométrie.
* @param geometryType type de géométrie JTS
* @return type de géométrie GeOxygene équivalent
*/
public static Class<? extends IGeometry> toGeometryType(Class<?> geometryType) {
if (LineString.class.equals(geometryType)) {
return ILineString.class;
}
if (MultiLineString.class.equals(geometryType)) {
return IMultiCurve.class;
}
if (Polygon.class.equals(geometryType)) {
return IPolygon.class;
}
if (MultiPolygon.class.equals(geometryType)) {
return IMultiSurface.class;
}
if (Point.class.equals(geometryType)) {
return IPoint.class;
}
if (MultiPoint.class.equals(geometryType)) {
return IMultiPoint.class;
}
return IGeometry.class;
}
示例13: toJTSGeometryType
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
/**
* Traduit un type de géométrie GeOxygene {@link IGeometry} et renvoie le type
* de géométrie JTS {@link Geometry} équivalent. TODO gérer tous les types de
* géométrie.
* @param geometryType type de géométrie GeOxygene
* @return type de géométrie JTS équivalent
*/
public static Class<? extends Geometry> toJTSGeometryType(
Class<?> geometryType) {
if (ILineString.class.isAssignableFrom(geometryType)) {
return LineString.class;
}
if (IMultiCurve.class.isAssignableFrom(geometryType)) {
return MultiLineString.class;
}
if (IPolygon.class.isAssignableFrom(geometryType)) {
return Polygon.class;
}
if (IMultiSurface.class.isAssignableFrom(geometryType)) {
return MultiPolygon.class;
}
if (IPoint.class.isAssignableFrom(geometryType)) {
return Point.class;
}
if (IMultiPoint.class.isAssignableFrom(geometryType)) {
return MultiPoint.class;
}
if (IAggregate.class.isAssignableFrom(geometryType)) {
return GeometryCollection.class;
}
return Geometry.class;
}
示例14: initialise
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
/**
* Initialise.
*/
private static void initialise()
{
List<Class<?> > doubleList = new ArrayList<Class<?> >(Arrays.asList(Integer.class, Long.class, Double.class, Float.class));
List<Class<?> > integerList = new ArrayList<Class<?> >(Arrays.asList(Integer.class, Long.class));
List<Class<?> > stringList = new ArrayList<Class<?> >(Arrays.asList(String.class));
List<Class<?> > geometryList = new ArrayList<Class<?> >(Arrays.asList(Point.class, LineString.class, Polygon.class, MultiPolygon.class, MultiPoint.class, MultiLineString.class));
allowedClassTypeMap.put(String.class, stringList);
allowedClassTypeMap.put(Double.class, doubleList);
allowedClassTypeMap.put(Float.class, doubleList);
allowedClassTypeMap.put(Integer.class, integerList);
allowedClassTypeMap.put(Long.class, integerList);
allowedClassTypeMap.put(Geometry.class, geometryList);
List<Class<?> > objectList = new ArrayList<Class<?>>();
objectList.addAll(doubleList);
objectList.addAll(integerList);
objectList.addAll(stringList);
objectList.addAll(geometryList);
allowedClassTypeMap.put(Object.class, objectList);
}
示例15: toGeomType
import com.vividsolutions.jts.geom.MultiLineString; //導入依賴的package包/類
static VectorTile.Tile.GeomType toGeomType(Geometry geometry) {
if (geometry instanceof Point) {
return VectorTile.Tile.GeomType.POINT;
}
if (geometry instanceof MultiPoint) {
return VectorTile.Tile.GeomType.POINT;
}
if (geometry instanceof LineString) {
return VectorTile.Tile.GeomType.LINESTRING;
}
if (geometry instanceof MultiLineString) {
return VectorTile.Tile.GeomType.LINESTRING;
}
if (geometry instanceof Polygon) {
return VectorTile.Tile.GeomType.POLYGON;
}
return VectorTile.Tile.GeomType.UNKNOWN;
}