本文整理了Java中com.vividsolutions.jts.geom.GeometryFactory.createMultiLineString()
方法的一些代码示例,展示了GeometryFactory.createMultiLineString()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GeometryFactory.createMultiLineString()
方法的具体详情如下:
包路径:com.vividsolutions.jts.geom.GeometryFactory
类名称:GeometryFactory
方法名:createMultiLineString
[英]Creates a MultiLineString using the given LineStrings; a null or empty array will create an empty MultiLineString.
[中]使用给定的线字符串创建多行线;空数组或空数组将创建空的多重字符串。
代码示例来源:origin: osmandapp/Osmand
return geoms.size() == 1 ? geoms.get(0) : geomFactory.createMultiLineString(geoms.toArray(new LineString[geoms.size()]));
代码示例来源:origin: opentripplanner/OpenTripPlanner
edges[k++] = ls;
LOG.debug("create multilinestring from {} geoms", edges.length);
mls = gf.createMultiLineString(edges);
LOG.debug("write geom");
geometryJSON.write(mls, sw);
k++;
Geometry mls = gf.createMultiLineString(edges);
LOG.debug("write debug geom");
geometryJSON.write(mls, sw);
代码示例来源:origin: opentripplanner/OpenTripPlanner
jtsLineStrings[i++] = (LineString) convertGeoJsonToJtsGeometry(geoJsonLineString);
return gf.createMultiLineString(jtsLineStrings);
代码示例来源:origin: com.vividsolutions/jts
public Object parse(Handler arg, GeometryFactory gf) throws SAXException {
// one child, either a coord
// or a coordinate sequence
if(arg.children.size()<1)
throw new SAXException("Cannot create a multi-linestring without atleast one linestring");
int srid = getSrid(arg.attrs,gf.getSRID());
LineString[] lns = (LineString[]) arg.children.toArray(new LineString[arg.children.size()]);
MultiLineString mp = gf.createMultiLineString(lns);
if(mp.getSRID()!=srid)
mp.setSRID(srid);
return mp;
}
});
代码示例来源:origin: com.vividsolutions/jts
/**
* Creates a <code>MultiLineString</code> using the next token in the stream.
*
*@param tokenizer tokenizer over a stream of text in Well-known Text
* format. The next tokens must form a <MultiLineString Text>.
*@return a <code>MultiLineString</code> specified by the
* next token in the stream
*@throws IOException if an I/O error occurs
*@throws ParseException if an unexpected token was encountered
*/
private com.vividsolutions.jts.geom.MultiLineString readMultiLineStringText() throws IOException, ParseException {
String nextToken = getNextEmptyOrOpener();
if (nextToken.equals(EMPTY)) {
return geometryFactory.createMultiLineString(new LineString[]{});
}
ArrayList lineStrings = new ArrayList();
LineString lineString = readLineStringText();
lineStrings.add(lineString);
nextToken = getNextCloserOrComma();
while (nextToken.equals(COMMA)) {
lineString = readLineStringText();
lineStrings.add(lineString);
nextToken = getNextCloserOrComma();
}
LineString[] array = new LineString[lineStrings.size()];
return geometryFactory.createMultiLineString((LineString[]) lineStrings.toArray(array));
}
代码示例来源:origin: com.vividsolutions/jts
/**
* Creates a {@link MultiLineString} in the reverse
* order to this object.
* Both the order of the component LineStrings
* and the order of their coordinate sequences
* are reversed.
*
* @return a {@link MultiLineString} in the reverse order
*/
public Geometry reverse()
{
int nLines = geometries.length;
LineString[] revLines = new LineString[nLines];
for (int i = 0; i < geometries.length; i++) {
revLines[nLines - 1 - i] = (LineString)geometries[i].reverse();
}
return getFactory().createMultiLineString(revLines);
}
代码示例来源:origin: com.vividsolutions/jts
/**
* Computes the boundary of this geometry
*
* @return a lineal geometry (which may be empty)
* @see Geometry#getBoundary
*/
public Geometry getBoundary() {
if (isEmpty()) {
return getFactory().createMultiLineString(null);
}
ArrayList allRings = new ArrayList();
for (int i = 0; i < geometries.length; i++) {
Polygon polygon = (Polygon) geometries[i];
Geometry rings = polygon.getBoundary();
for (int j = 0; j < rings.getNumGeometries(); j++) {
allRings.add(rings.getGeometryN(j));
}
}
LineString[] allRingsArray = new LineString[allRings.size()];
return getFactory().createMultiLineString((LineString[]) allRings.toArray(allRingsArray));
}
代码示例来源:origin: com.vividsolutions/jts
private MultiLineString readMultiLineString() throws IOException, ParseException
{
int numGeom = dis.readInt();
LineString[] geoms = new LineString[numGeom];
for (int i = 0; i < numGeom; i++) {
Geometry g = readGeometry();
if (! (g instanceof LineString))
throw new ParseException(INVALID_GEOM_TYPE_MSG + "MultiLineString");
geoms[i] = (LineString) g;
}
return factory.createMultiLineString(geoms);
}
代码示例来源:origin: com.vividsolutions/jts
/**
* Builds a geometry ({@link LineString} or {@link MultiLineString} )
* representing the sequence.
*
* @param sequences a List of Lists of DirectedEdges with
* LineMergeEdges as their parent edges.
* @return the sequenced geometry, or <code>null</code> if no sequence exists
*/
private Geometry buildSequencedGeometry(List sequences)
{
List lines = new ArrayList();
for (Iterator i1 = sequences.iterator(); i1.hasNext(); ) {
List seq = (List) i1.next();
for (Iterator i2 = seq.iterator(); i2.hasNext(); ) {
DirectedEdge de = (DirectedEdge) i2.next();
LineMergeEdge e = (LineMergeEdge) de.getEdge();
LineString line = e.getLine();
LineString lineToAdd = line;
if (! de.getEdgeDirection() && ! line.isClosed())
lineToAdd = reverse(line);
lines.add(lineToAdd);
}
}
if (lines.size() == 0)
return factory.createMultiLineString(new LineString[0]);
return factory.buildGeometry(lines);
}
代码示例来源:origin: com.vividsolutions/jts
/**
* Gets the geometry for the edges in the subdivision as a {@link MultiLineString}
* containing 2-point lines.
*
* @param geomFact the GeometryFactory to use
* @return a MultiLineString
*/
public Geometry getEdges(GeometryFactory geomFact) {
List quadEdges = getPrimaryEdges(false);
LineString[] edges = new LineString[quadEdges.size()];
int i = 0;
for (Iterator it = quadEdges.iterator(); it.hasNext();) {
QuadEdge qe = (QuadEdge) it.next();
edges[i++] = geomFact.createLineString(new Coordinate[] {
qe.orig().getCoordinate(), qe.dest().getCoordinate() });
}
return geomFact.createMultiLineString(edges);
}
代码示例来源:origin: com.vividsolutions/jts
return factory.createMultiLineString((LineString[]) geometries.toArray(
new LineString[] { }));
代码示例来源:origin: com.vividsolutions/jts
/**
* Computes the boundary of this geometry
*
* @return a lineal geometry (which may be empty)
* @see Geometry#getBoundary
*/
public Geometry getBoundary() {
if (isEmpty()) {
return getFactory().createMultiLineString(null);
}
LinearRing[] rings = new LinearRing[holes.length + 1];
rings[0] = shell;
for (int i = 0; i < holes.length; i++) {
rings[i + 1] = holes[i];
}
// create LineString or MultiLineString as appropriate
if (rings.length <= 1)
return getFactory().createLinearRing(rings[0].getCoordinateSequence());
return getFactory().createMultiLineString(rings);
}
代码示例来源:origin: com.vividsolutions/jts
return createMultiLineString(toLineStringArray(geomList));
代码示例来源:origin: com.vividsolutions/jts
/**
* Extracts linework for polygonal components.
*
* @param g the geometry from which to extract
* @return a lineal geometry containing the extracted linework
*/
private MultiLineString extractLinework(Geometry g)
{
PolygonalLineworkExtracter extracter = new PolygonalLineworkExtracter();
g.apply(extracter);
List linework = extracter.getLinework();
LineString[] lines = GeometryFactory.toLineStringArray(linework);
return g.getFactory().createMultiLineString(lines);
}
代码示例来源:origin: org.geotools/gt-main
/**
* Creates a MultiLineString from a set of LineStrings
*
* @param lines the component LineStrings
* @return a MultiLineString
*/
public MultiLineString multiLineString(LineString... lines) {
return geomFact.createMultiLineString(lines);
}
代码示例来源:origin: org.geotools/gt-main
/**
* Creates a multiline from the specified (<var>x</var>,<var>y</var>) coordinates.
*/
public MultiLineString lines(int[][] xy) {
LineString[] lines = new LineString[xy.length];
for (int i = 0; i < xy.length; i++) {
lines[i] = line(xy[i]);
}
return gf.createMultiLineString(lines);
}
代码示例来源:origin: org.geotools/gt-cql
/**
* Makes a {@link #MultiLineString} geometry using the {@link LineString} presents
* in the result stack.
*/
@Override
public Geometry build(int linestringtextNode) throws CQLException {
List<Geometry> lineList = popGeometry(linestringtextNode);
LineString[] lineStrings = lineList.toArray(new LineString[lineList.size()]) ;
MultiLineString multiLineString= getGeometryFactory().createMultiLineString(lineStrings);
return multiLineString;
}
代码示例来源:origin: org.n52.sensorweb/timeseries-io
protected MultiLineString decodeMultiLineString(JsonNode node,
GeometryFactory fac) throws GeoJSONException {
JsonNode coordinates = requireCoordinates(node);
LineString[] lineStrings = new LineString[coordinates.size()];
for (int i = 0; i < coordinates.size(); ++i) {
JsonNode coords = coordinates.get(i);
lineStrings[i] = fac.createLineString(decodeCoordinates(coords));
}
return fac.createMultiLineString(lineStrings);
}
代码示例来源:origin: com.vividsolutions/jts-core
private MultiLineString readMultiLineString() throws IOException, ParseException
{
int numGeom = dis.readInt();
LineString[] geoms = new LineString[numGeom];
for (int i = 0; i < numGeom; i++) {
Geometry g = readGeometry();
if (! (g instanceof LineString))
throw new ParseException(INVALID_GEOM_TYPE_MSG + "MultiLineString");
geoms[i] = (LineString) g;
}
return factory.createMultiLineString(geoms);
}
代码示例来源:origin: org.teiid/teiid-engine
protected static Geometry transformMultiLineString(CoordinateTransform ct,
MultiLineString multiLineString) {
LineString[] lineString = new LineString[multiLineString.getNumGeometries()];
for (int i = 0; i < lineString.length; ++i) {
lineString[i] = multiLineString.getFactory()
.createLineString(transformCoordinates(ct,
multiLineString.getGeometryN(i).getCoordinates()));
}
return multiLineString.getFactory().createMultiLineString(lineString);
}
内容来源于网络,如有侵权,请联系作者删除!