All Downloads are FREE. Search and download functionalities are using the official Maven repository.

be.vlaanderen.informatievlaanderen.ldes.ldi.valueobjects.LdiMultiLineString Maven / Gradle / Ivy

package be.vlaanderen.informatievlaanderen.ldes.ldi.valueobjects;

import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.Resource;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.GeometryFactory;
import org.locationtech.jts.geom.LineString;
import org.locationtech.jts.geom.MultiLineString;

import java.util.ArrayList;
import java.util.List;

public class LdiMultiLineString {

	private final Model model;
	private final Resource subject;

	public LdiMultiLineString(Model model, Resource subject) {
		this.model = model;
		this.subject = subject;
	}

	public MultiLineString createMultiLineString(GeometryFactory factory) {
		List> coordinates = new LdiPolygon(model, subject, new ArrayList<>()).createCoordinates();
		LineString[] lineStrings = coordinates.stream().map(ls -> ls.toArray(Coordinate[]::new))
				.map(factory::createLineString).toArray(LineString[]::new);
		return factory.createMultiLineString(lineStrings);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy