org.citygml4j.model.gml.geometry.AbstractGeometry Java Examples

The following examples show how to use org.citygml4j.model.gml.geometry.AbstractGeometry. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GMLMarshaller.java    From citygml4j with Apache License 2.0 6 votes vote down vote up
public void marshalDomainSet(DomainSet<? extends AbstractGeometry> src, DomainSetType dest) {		
	if (src.isSetRemoteSchema())
		dest.setRemoteSchema(src.getRemoteSchema());

	if (src.isSetType())
		dest.setType(TypeType.fromValue(src.getType().getValue()));

	if (src.isSetHref())
		dest.setHref(src.getHref());

	if (src.isSetRole())
		dest.setRole(src.getRole());

	if (src.isSetArcrole())
		dest.setArcrole(src.getArcrole());

	if (src.isSetTitle())
		dest.setTitle(src.getTitle());

	if (src.isSetShow())
		dest.setShow(ShowType.fromValue(src.getShow().getValue()));

	if (src.isSetActuate())
		dest.setActuate(ActuateType.fromValue(src.getActuate().getValue()));
}
 
Example #2
Source File: DBSurfaceGeometry.java    From importer-exporter with Apache License 2.0 6 votes vote down vote up
@Override
public void visit(AbstractGeometry geometry) {
	switch (geometry.getGMLClass()) {
		case POLYGON:
		case COMPOSITE_SURFACE:
		case SURFACE:
		case TRIANGULATED_SURFACE:
		case TIN:
		case SOLID:
		case COMPOSITE_SOLID:
		case MULTI_POLYGON:
		case MULTI_SURFACE:
		case MULTI_SOLID:
		case MULTI_GEOMETRY:
			count++;
	}
}
 
Example #3
Source File: DBSurfaceGeometry.java    From importer-exporter with Apache License 2.0 6 votes vote down vote up
protected long doImport(AbstractGeometry surfaceGeometry, long cityObjectId) throws CityGMLImportException, SQLException {
	// check whether we can deal with the geometry
	if (!geometryConverter.isSurfaceGeometry(surfaceGeometry)) {
		importer.logOrThrowErrorMessage("Unsupported geometry type " + importer.getObjectSignature(surfaceGeometry));
		return 0;
	}

	boolean success = pkManager.retrieveIds(surfaceGeometry);
	if (!success) {
		importer.logOrThrowErrorMessage("Failed to acquire primary key values for surface geometry from database.");
		return 0;
	}

	if (surfaceGeometry.isSetId())
		surfaceGeometry.setLocalProperty(CoreConstants.OBJECT_ORIGINAL_GMLID, surfaceGeometry.getId());

	long surfaceGeometryId = pkManager.nextId();
	doImport(surfaceGeometry, surfaceGeometryId, 0, surfaceGeometryId, false, false, false, cityObjectId);
	pkManager.clear();

	return surfaceGeometryId;
}
 
Example #4
Source File: GeometryConverter.java    From importer-exporter with Apache License 2.0 6 votes vote down vote up
public boolean isPointOrLineGeometry(AbstractGeometry abstractGeometry) {
	switch (abstractGeometry.getGMLClass()) {
		case POINT:
		case MULTI_POINT:
		case LINE_STRING:
		case CURVE:
		case COMPOSITE_CURVE:
		case ORIENTABLE_CURVE:
		case MULTI_CURVE:
			return true;
		case GEOMETRIC_COMPLEX:
			GeometricComplex complex = (GeometricComplex) abstractGeometry;
			return containsPointPrimitives(complex) || containsCurvePrimitives(complex);
		default:
			return false;
	}
}
 
Example #5
Source File: GeometryConverter.java    From importer-exporter with Apache License 2.0 6 votes vote down vote up
public GeometryObject getPointOrCurveGeometry(AbstractGeometry abstractGeometry) {
	switch (abstractGeometry.getGMLClass()) {
		case POINT:
			return getPoint((Point) abstractGeometry);
		case MULTI_POINT:
			return getMultiPoint((MultiPoint) abstractGeometry);
		case LINE_STRING:
		case CURVE:
		case COMPOSITE_CURVE:
		case ORIENTABLE_CURVE:
			return getCurve((AbstractCurve) abstractGeometry);
		case MULTI_CURVE:
			return getMultiCurve((MultiCurve) abstractGeometry);
		case GEOMETRIC_COMPLEX:
			GeometricComplex complex = (GeometricComplex) abstractGeometry;
			if (containsPointPrimitives(complex))
				return getPointGeometry((GeometricComplex) abstractGeometry);
			else if (containsCurvePrimitives(complex))
				return getCurveGeometry((GeometricComplex) abstractGeometry);
			else
				return null;
		default:
			return null;
	}
}
 
Example #6
Source File: GMLMarshaller.java    From citygml4j with Apache License 2.0 6 votes vote down vote up
public void marshalAbstractGeometry(AbstractGeometry src, AbstractGeometryType dest) {
	marshalAbstractGML(src, dest);

	if (src.isSetGid())
		dest.setGid(src.getGid());

	if (src.isSetSrsName())
		dest.setSrsName(src.getSrsName());

	if (src.isSetSrsDimension())
		dest.setSrsDimension(BigInteger.valueOf(src.getSrsDimension()));

	if (src.isSetAxisLabels())
		dest.setAxisLabels(src.getAxisLabels());

	if (src.isSetUomLabels())
		dest.setUomLabels(src.getUomLabels());
}
 
Example #7
Source File: GMLUnmarshaller.java    From citygml4j with Apache License 2.0 6 votes vote down vote up
public GeometryArrayProperty<AbstractGeometry> unmarshalGeometryArrayProperty(GeometryArrayPropertyType src) {
	GeometryArrayProperty<AbstractGeometry> dest = new GeometryArrayProperty<AbstractGeometry>();

	if (src.isSet_Geometry()) {
		for (JAXBElement<? extends AbstractGeometryType> elem : src.get_Geometry()) {			
			try {
				ModelObject abstractGeometry = jaxb.unmarshal(elem);
				if (abstractGeometry instanceof AbstractGeometry)
					dest.addGeometry((AbstractGeometry)abstractGeometry);
			} catch (MissingADESchemaException e) {
				//
			}
		}
	}

	return dest;
}
 
Example #8
Source File: GMLConverter.java    From importer-exporter with Apache License 2.0 6 votes vote down vote up
public AbstractGeometry getPointOrCurveGeometry(GeometryObject geomObj, boolean setSrsName) {
	if (geomObj != null) {
		switch (geomObj.getGeometryType()) {
		case MULTI_LINE_STRING:
			return getMultiCurve(geomObj, setSrsName);
		case LINE_STRING:
			return getLineString(geomObj, setSrsName);
		case MULTI_POINT:
			return getMultiPoint(geomObj, setSrsName);
		case POINT:
			return getPoint(geomObj, setSrsName);
		default:
			return null;
		}
	}

	return null;
}
 
Example #9
Source File: GMLWalker.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public <T extends AbstractGeometry> void visit(GeometryArrayProperty<T> geometryArrayProperty) {
	if (geometryArrayProperty.isSetGeometry()) {
		for (AbstractGeometry abstractGeometry : new ArrayList<AbstractGeometry>(geometryArrayProperty.getGeometry()))
			if (shouldWalk)
				abstractGeometry.accept(this);
	}
}
 
Example #10
Source File: GMLConverter.java    From importer-exporter with Apache License 2.0 5 votes vote down vote up
public GeometryProperty<? extends AbstractGeometry> getPointOrCurveGeometryProperty(GeometryObject geomObj, boolean setSrsName) {
	GeometryProperty<AbstractGeometry> geometryProperty = null;

	AbstractGeometry geometry = getPointOrCurveGeometry(geomObj, setSrsName);
	if (geometry != null) {
		geometryProperty = new GeometryProperty<AbstractGeometry>();
		geometryProperty.setGeometry(geometry);
	}

	return geometryProperty;
}
 
Example #11
Source File: GMLFunctionWalker.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public T apply(GeometricComplex geometricComplex) {
	T object = apply((AbstractGeometry)geometricComplex);
	if (object != null)
		return object;

	if (geometricComplex.isSetElement()) {
		for (GeometricPrimitiveProperty geometricPrimitiveProperty : new ArrayList<GeometricPrimitiveProperty>(geometricComplex.getElement())) {
			object = apply(geometricPrimitiveProperty);
			if (object != null)
				return object;
		}
	}

	return null;
}
 
Example #12
Source File: GMLMarshaller.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public MultiGeometryType marshalMultiGeometry(MultiGeometry src) {
	MultiGeometryType dest = gml.createMultiGeometryType();
	marshalAbstractGeometricAggregate(src, dest);

	if (src.isSetGeometryMember()) {
		for (GeometryProperty<? extends AbstractGeometry> member : src.getGeometryMember())
			dest.getGeometryMember().add(marshalGeometryProperty(member));
	}

	if (src.isSetGeometryMembers())
		dest.setGeometryMembers(marshalGeometryArrayProperty(src.getGeometryMembers()));

	return dest;
}
 
Example #13
Source File: GeometryWalker.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public void visit(MultiGeometry multiGeometry) {
	visit((AbstractGeometricAggregate)multiGeometry);

	if (multiGeometry.isSetGeometryMember())
		for (GeometryProperty<? extends AbstractGeometry> geometryProperty : new ArrayList<GeometryProperty<? extends AbstractGeometry>>(multiGeometry.getGeometryMember()))
			visit(geometryProperty);

	if (multiGeometry.isSetGeometryMembers())
		visit(multiGeometry.getGeometryMembers());
}
 
Example #14
Source File: GeometryWalker.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public void visit(GeometricComplex geometricComplex) {
	visit((AbstractGeometry)geometricComplex);

	if (geometricComplex.isSetElement())
		for (GeometricPrimitiveProperty geometricPrimitiveProperty : new ArrayList<GeometricPrimitiveProperty>(geometricComplex.getElement()))
			visit(geometricPrimitiveProperty);
}
 
Example #15
Source File: GeometryXlinkResolver.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
@Override
public void visit(AbstractGeometry geometry) {
	if (state == ResolverState.GET_GEOMETRY && geometry.isSetId()) {
		List<GeometryProperty<?>> properties = this.properties.get(geometry.getId());
		if (properties != null) {
			for (GeometryProperty<?> property : properties) {
				if (property.getAssociableClass().isAssignableFrom(geometry.getClass()))
					property.setLocalProperty(CityJSONMarshaller.GEOMETRY_XLINK, geometry);
			}
		}
	}
	
	super.visit(geometry);
}
 
Example #16
Source File: GeometryStripper.java    From web-feature-service with Apache License 2.0 5 votes vote down vote up
@Override
public <T extends AbstractGeometry> void visit(GeometryProperty<T> geometryProperty) {
	if (geometryProperty.isSetGeometry()) {
		String gmlId = geometryProperty.getGeometry().getId();
		if (gmlId != null)
			geometryProperty.setHref("#" + gmlId);
		
		geometryProperty.unsetGeometry();
	}
}
 
Example #17
Source File: Value.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public Object copyTo(Object target, CopyBuilder copyBuilder) {
	Value copy = (target == null) ? new Value() : (Value)target;
	
	if (isSetValueObject()) {
		copy.setValueObject((ValueObject)copyBuilder.copy(valueObject));
		if (copy.getValueObject() == valueObject)
			valueObject.setParent(this);
	}
	
	if (isSetGeometry()) {
		copy.setGeometry((AbstractGeometry)copyBuilder.copy(geometry));
		if (copy.getGeometry() == geometry)
			geometry.setParent(this);
	}
	
	if (isSetGenericValueObject()) {
		copy.setGenericValueObject((GenericValueObject)copyBuilder.copy(genericValueObject));
		if (copy.getGenericValueObject() == genericValueObject)
			genericValueObject.setParent(this);
	}
	
	if (isSetNull()) {
		copy.setNull((Null)copyBuilder.copy(_null));
		if (copy.getNull() == _null)
			_null.setParent(this);
	}
	
	copy.unsetParent();
	
	return copy;
}
 
Example #18
Source File: AppearanceResolver.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public void resolveGlobalAppearance(AbstractGeometry geometry) {
	if (geometry.isSetId()) {
		List<SurfaceDataInfo> surfaceData = globalSurfaceDatas.get(geometry.getId());
		if (surfaceData != null)
			geometry.setLocalProperty(CityJSONMarshaller.GEOMETRY_SURFACE_DATA, surfaceData);
	}
}
 
Example #19
Source File: GeometryFunctionWalker.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public T apply(GeometricComplex geometricComplex) {
	T object = apply((AbstractGeometry)geometricComplex);
	if (object != null)
		return object;

	if (geometricComplex.isSetElement()) {
		for (GeometricPrimitiveProperty geometricPrimitiveProperty : new ArrayList<GeometricPrimitiveProperty>(geometricComplex.getElement())) {
			object = apply(geometricPrimitiveProperty);
			if (object != null)
				return object;
		}
	}

	return null;
}
 
Example #20
Source File: GMLMarshaller.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("unchecked")
public DomainSetType marshalDomainSet(DomainSet<? extends AbstractGeometry> src) {
	DomainSetType dest = gml.createDomainSetType();
	marshalDomainSet(src, dest);

	if (src.isSetGeometry()) {
		JAXBElement<?> elem = jaxb.marshalJAXBElement(src.getGeometry());
		if (elem != null && elem.getValue() instanceof RectifiedGridType)
			dest.set_Geometry((JAXBElement<? extends AbstractGeometryType>)elem);
	}

	return dest;
}
 
Example #21
Source File: GMLMarshaller.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public void process(AbstractGeometry src, AbstractSolidCollectionType dest, SemanticsBuilder semanticsBuilder) {
	this.dest = dest;
	this.semanticsBuilder = semanticsBuilder;
	
	src.accept(this);
	postprocess(dest, index, true);
}
 
Example #22
Source File: GeometryFunctionWalker.java    From citygml4j with Apache License 2.0 5 votes vote down vote up
public <E extends AbstractGeometry> T apply(GeometryProperty<E> geometryProperty) {
	if (geometryProperty.isSetGeometry() && shouldWalk) {
		T object = geometryProperty.getGeometry().accept(this);
		if (object != null)
			return object;
	}

	return null;
}
 
Example #23
Source File: RingValidator.java    From importer-exporter with Apache License 2.0 5 votes vote down vote up
public String getGeometrySignature(AbstractGeometry object) {
	StringBuilder signature = new StringBuilder("gml:").append(object.getGMLClass().toString());
	String gmlId = object.hasLocalProperty(CoreConstants.OBJECT_ORIGINAL_GMLID) ?
			(String)object.getLocalProperty(CoreConstants.OBJECT_ORIGINAL_GMLID) :
			object.getId();

	if (gmlId != null)
		signature.append(" '").append(gmlId).append("'");
	else
		signature.append(" (unknown gml:id)");

	return signature.toString();
}
 
Example #24
Source File: BridgeConstructionElement.java    From citygml4j with Apache License 2.0 4 votes vote down vote up
public void setLod4Geometry(GeometryProperty<? extends AbstractGeometry> lod4Geometry) {
	this.lod4Geometry = ModelObjects.setParent(lod4Geometry, this);
}
 
Example #25
Source File: BridgeConstructionElement.java    From citygml4j with Apache License 2.0 4 votes vote down vote up
public void setLod2Geometry(GeometryProperty<? extends AbstractGeometry> lod2Geometry) {
	this.lod2Geometry = ModelObjects.setParent(lod2Geometry, this);
}
 
Example #26
Source File: SolitaryVegetationObject.java    From citygml4j with Apache License 2.0 4 votes vote down vote up
public void setLod3Geometry(GeometryProperty<? extends AbstractGeometry> lod3Geometry) {
	this.lod3Geometry = ModelObjects.setParent(lod3Geometry, this);
}
 
Example #27
Source File: BridgeConstructionElement.java    From citygml4j with Apache License 2.0 4 votes vote down vote up
public GeometryProperty<? extends AbstractGeometry> getLod4Geometry() {
	return lod4Geometry;
}
 
Example #28
Source File: BuildingInstallation.java    From citygml4j with Apache License 2.0 4 votes vote down vote up
public void setLod2Geometry(GeometryProperty<? extends AbstractGeometry> lod2Geometry) {
	this.lod2Geometry = ModelObjects.setParent(lod2Geometry, this);
}
 
Example #29
Source File: GeometryFunctionWalker.java    From citygml4j with Apache License 2.0 4 votes vote down vote up
public T apply(AbstractGeometry abstractGeometry) {
	return null;
}
 
Example #30
Source File: BridgeConstructionElement.java    From citygml4j with Apache License 2.0 4 votes vote down vote up
public GeometryProperty<? extends AbstractGeometry> getLod3Geometry() {
	return lod3Geometry;
}