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


Java AbstractGeometry类代码示例

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


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

示例1: getPointOrCurveGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
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;
}
 
开发者ID:3dcitydb,项目名称:importer-exporter,代码行数:19,代码来源:GMLConverter.java

示例2: marshalAbstractGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
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());
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:19,代码来源:GMLMarshaller.java

示例3: getPointOrCurveGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
public PGgeometry getPointOrCurveGeometry(AbstractGeometry abstractGeometry)
		throws SQLException {
	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, true))
			return getPointGeometry((GeometricComplex)abstractGeometry);
		else if (containsCurvePrimitives(complex, true))
			return getCurveGeometry((GeometricComplex)abstractGeometry);
		else 
			return null;
	default:
		return null;
	}
}
 
开发者ID:3dcitydb,项目名称:importer-exporter-postgis,代码行数:27,代码来源:DBStGeometry.java

示例4: getPointOrCurveGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
public AbstractGeometry getPointOrCurveGeometry(Geometry geom, boolean setSrsName) {
	if (geom != null) {
		switch (geom.getType()) {
		case Geometry.MULTILINESTRING:
			return getMultiCurve(geom, setSrsName);
		case Geometry.LINESTRING:
			return getLineString(geom, setSrsName);
		case Geometry.MULTIPOINT:
			return getMultiPoint(geom, setSrsName);
		case Geometry.POINT:
			return getPoint(geom, setSrsName);
		}
	}

	return null;
}
 
开发者ID:3dcitydb,项目名称:importer-exporter-postgis,代码行数:17,代码来源:DBStGeometry.java

示例5: getLodRepresentation

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
@Override
public LodRepresentation getLodRepresentation() {
	LodRepresentation lodRepresentation = new LodRepresentation();
	
	GeometryProperty<? extends AbstractGeometry> property = null;		
	for (int lod = 2; lod < 5; lod++) {
		switch (lod) {
		case 2:
			property = lod2MultiSurface;
			break;
		case 3:
			property = lod3MultiSurface;
			break;
		case 4:
			property = lod4MultiSurface;
			break;
		}

		if (property != null)
			lodRepresentation.addRepresentation(lod, property);
	}
	
	return lodRepresentation;
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:25,代码来源:AbstractBoundarySurface.java

示例6: unmarshalAbstractGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
public void unmarshalAbstractGeometry(AbstractGeometryType src, AbstractGeometry dest) {
	unmarshalAbstractGML(src, dest);

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

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

	if (src.isSetSrsDimension())
		dest.setSrsDimension(src.getSrsDimension().intValue());

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

	if (src.isSetUomLabels())
		dest.setUomLabels(src.getUomLabels());
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:19,代码来源:GMLUnmarshaller.java

示例7: visit

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
@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);
					geometry.setLocalProperty(CityJSONMarshaller.GEOMETRY_XLINK_TARGET, true);							
				}
			}
		}
	}
	
	super.visit(geometry);
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:17,代码来源:GeometryXlinkResolver.java

示例8: marshalDomainSet

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
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()));
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:26,代码来源:GMLMarshaller.java

示例9: visit

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
@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();
	}
}
 
开发者ID:3dcitydb,项目名称:web-feature-service,代码行数:11,代码来源:FeatureMemberWriter.java

示例10: getParentGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public <T extends AbstractGeometry> T getParentGeometry(Child child, Class<T> type) {
	while ((child = getParentGeometry(child)) != null)
		if (type.isInstance(child)) 
			return (T)child;

	return null;
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:9,代码来源:ChildInfo.java

示例11: unmarshalCityFurniture

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
public void unmarshalCityFurniture(CityFurnitureType src, CityFurniture dest) {
	citygml.getCoreUnmarshaller().unmarshalAbstractCityObject(src, dest);
	
	if (src.isSetAttributes()) {
		Attributes attributes = src.getAttributes();
		if (attributes.isSetClazz())
			dest.setClazz(new Code(attributes.getClazz()));

		if (attributes.isSetFunction())
			dest.addFunction(new Code(attributes.getFunction()));

		if (attributes.isSetUsage())
			dest.addUsage(new Code(attributes.getUsage()));
	}
	
	for (AbstractGeometryType geometryType : src.getGeometry()) {
		AbstractGeometry geometry = json.getGMLUnmarshaller().unmarshal(geometryType, dest);

		if (geometry != null) {
			int lod = geometryType.getLod().intValue();
			switch (lod) {
			case 1:
				dest.setLod1Geometry(new GeometryProperty<>(geometry));
				break;
			case 2:
				dest.setLod2Geometry(new GeometryProperty<>(geometry));
				break;
			case 3:
				dest.setLod3Geometry(new GeometryProperty<>(geometry));
				break;
			}
		}	
	}
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:35,代码来源:CityFurnitureUnmarshaller.java

示例12: marshalMultiGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
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;
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:15,代码来源:GMLMarshaller.java

示例13: retrieveIds

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
private boolean retrieveIds(AbstractGeometry geometry) throws SQLException {
	clear();

	// count number of tuples to be inserted into database
	geometry.accept(this);
	if (count == 0)
		return false;

	// retrieve sequence values
	ResultSet rs = null;
	try {
		psNextSeqValues.setInt(1, count);
		psNextSeqValues.setString(2, schema);
		rs = psNextSeqValues.executeQuery();

		ids = new long[count];
		int i = 0;

		while (rs.next())
			ids[i++] = rs.getLong(1);

		return true;
	} finally {
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				//
			}
		}
	}
}
 
开发者ID:3dcitydb,项目名称:importer-exporter,代码行数:33,代码来源:DBSurfaceGeometry.java

示例14: isSurfaceGeometry

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
public boolean isSurfaceGeometry(AbstractGeometry abstractGeometry) {
	switch (abstractGeometry.getGMLClass()) {
	case LINEAR_RING:
	case POLYGON:
	case ORIENTABLE_SURFACE:
	case _TEXTURED_SURFACE:
	case COMPOSITE_SURFACE:
	case SURFACE:
	case TRIANGULATED_SURFACE:
	case TIN:
	case SOLID:
	case COMPOSITE_SOLID:
	case MULTI_POLYGON:
	case MULTI_SURFACE:
	case MULTI_SOLID:
		return true;
	case GEOMETRIC_COMPLEX:
		GeometricComplex complex = (GeometricComplex)abstractGeometry;
		boolean hasUnsupportedGeometry = false;
		for (GeometricPrimitiveProperty primitiveProperty : complex.getElement()) {
			if (primitiveProperty.isSetGeometricPrimitive()) {
				if (!isSurfaceGeometry(primitiveProperty.getGeometricPrimitive())) {
					hasUnsupportedGeometry = true;
					break;
				}
			}
		}

		return hasUnsupportedGeometry;
	default:
		return false;
	}
}
 
开发者ID:3dcitydb,项目名称:importer-exporter,代码行数:34,代码来源:GeometryConverter.java

示例15: insert

import org.citygml4j.model.gml.geometry.AbstractGeometry; //导入依赖的package包/类
public long insert(AbstractGeometry surfaceGeometry, long cityObjectId) throws SQLException {
	switch (surfaceGeometry.getGMLClass()) {
	case LINEAR_RING:
	case POLYGON:
	case ORIENTABLE_SURFACE:
	case _TEXTURED_SURFACE:
	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 GEOMETRIC_COMPLEX:
		break;
	default:
		return 0;
	}
	
	long surfaceGeometryId = dbImporterManager.getDBId(DBSequencerEnum.SURFACE_GEOMETRY_SEQ);
	if (surfaceGeometryId != 0)
		insert(surfaceGeometry, surfaceGeometryId, 0, surfaceGeometryId, false, false, false, cityObjectId);

	return surfaceGeometryId;
}
 
开发者ID:3dcitydb,项目名称:importer-exporter-oracle,代码行数:28,代码来源:DBSurfaceGeometry.java


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