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


Java CityGMLClass.BUILDING属性代码示例

本文整理汇总了Java中org.citygml4j.model.citygml.CityGMLClass.BUILDING属性的典型用法代码示例。如果您正苦于以下问题:Java CityGMLClass.BUILDING属性的具体用法?Java CityGMLClass.BUILDING怎么用?Java CityGMLClass.BUILDING使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.citygml4j.model.citygml.CityGMLClass的用法示例。


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

示例1: readCityGMLFile

/**
 * Returns a list for BuildingCallable read by CityGML file
 * 
 * @param pathtocitygmlfile
 * @param options
 * @return List<BuildingCallable>
 * @throws Exception
 */
public List<BuildingCallable> readCityGMLFile(String pathtocitygmlfile, Options options) throws Exception {

	this.options = options;
	
	List<BuildingCallable> buildings = new ArrayList<BuildingCallable>();
	
	CityGMLContext ctx = new CityGMLContext();
	CityGMLBuilder builder = ctx.createCityGMLBuilder();
	CityGMLInputFactory in = builder.createCityGMLInputFactory();
	CityGMLReader reader = in.createCityGMLReader(new File(pathtocitygmlfile));
	
	while (reader.hasNext()) {
		CityGML citygml = reader.nextFeature();
		
		if (citygml.getCityGMLClass() == CityGMLClass.CITY_MODEL) {
			CityModel cityModel = (CityModel)citygml;
			
			for (CityObjectMember cityObjectMember : cityModel.getCityObjectMember()) {
				AbstractCityObject cityObject = cityObjectMember.getCityObject();
				if (cityObject.getCityGMLClass() == CityGMLClass.BUILDING){
					
					Building building = (Building)cityObject;
					String buildingID = building.getId();
					BuildingCallable buildingcallable = new BuildingCallable();
					buildingcallable.setBsp(building.getBoundedBySurface());
					buildingcallable.setBuildingId(buildingID);
					buildingcallable.setOptions(options);
					buildings.add(buildingcallable);
				}	
			}
		}	
	}			
	
	reader.close();
	return buildings;
}
 
开发者ID:SteuerHorst,项目名称:Voluminator,代码行数:44,代码来源:BuildingReader.java

示例2: main

public static void main(String[] args) throws Exception {
	SimpleDateFormat df = new SimpleDateFormat("[HH:mm:ss] "); 

	System.out.println(df.format(new Date()) + "setting up citygml4j context and CityGML builder");
	CityGMLContext ctx = CityGMLContext.getInstance();
	CityGMLBuilder builder = ctx.createCityGMLBuilder();
	
	System.out.println(df.format(new Date()) + "reading CityGML file LOD2_Buildings_v100.gml completely into main memory");
	CityGMLInputFactory in = builder.createCityGMLInputFactory();
	CityGMLReader reader = in.createCityGMLReader(new File("datasets/LOD2_Buildings_v100.gml"));
	
	while (reader.hasNext()) {
		CityGML citygml = reader.nextFeature();

		if (citygml.getCityGMLClass() == CityGMLClass.CITY_MODEL) {
			CityModel cityModel = (CityModel)citygml;

			System.out.println(df.format(new Date()) + "Found " + citygml.getCityGMLClass() + " version " + cityModel.getCityGMLModule().getVersion());
			System.out.println(df.format(new Date()) + "going through city model and counting building instances");

			int count = 0;
			for (CityObjectMember cityObjectMember : cityModel.getCityObjectMember()) {
				AbstractCityObject cityObject = cityObjectMember.getCityObject();
				if (cityObject.getCityGMLClass() == CityGMLClass.BUILDING)
					count++;
			}

			System.out.println(df.format(new Date()) + "The city model contains " + count + " building features");
		}	
	}			
	
	reader.close();
	System.out.println(df.format(new Date()) + "sample citygml4j application successfully finished");
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:34,代码来源:SimpleReader.java

示例3: classId2cityObject

public static CityGMLClass classId2cityObject(int classId) {
		CityGMLClass cityObjectType = CityGMLClass.UNDEFINED;
		switch (classId) {
		case 4:
//		case 35:
			cityObjectType = CityGMLClass.LAND_USE;
			break;
		case 21:
			cityObjectType = CityGMLClass.CITY_FURNITURE;
			break;
		case 26:
			cityObjectType = CityGMLClass.BUILDING;
			break;
		case 9:
			cityObjectType = CityGMLClass.WATER_BODY;
			break;
		case 8:
			cityObjectType = CityGMLClass.PLANT_COVER;
			break;
		case 7:
			cityObjectType = CityGMLClass.SOLITARY_VEGETATION_OBJECT;
			break;
		case 42:
			cityObjectType = CityGMLClass.TRANSPORTATION_COMPLEX;
			break;
		case 43:
			cityObjectType = CityGMLClass.TRACK;
			break;
		case 44:
			cityObjectType = CityGMLClass.RAILWAY;
			break;
		case 45:
			cityObjectType = CityGMLClass.ROAD;
			break;
		case 46:
			cityObjectType = CityGMLClass.SQUARE;
			break;
		case 5:
			cityObjectType = CityGMLClass.GENERIC_CITY_OBJECT;
			break;
		case 23:
			cityObjectType = CityGMLClass.CITY_OBJECT_GROUP;
			break;
		case 14:
			cityObjectType = CityGMLClass.RELIEF_FEATURE;
			break;
		case 16:
			cityObjectType = CityGMLClass.TIN_RELIEF;
			break;
		case 17:
			cityObjectType = CityGMLClass.MASSPOINT_RELIEF;
			break;
		case 18:
			cityObjectType = CityGMLClass.BREAKLINE_RELIEF;
			break;
		case 19:
			cityObjectType = CityGMLClass.RASTER_RELIEF;
			break;
		}

		return cityObjectType;
	}
 
开发者ID:3dcitydb,项目名称:plugin-spreadsheet-generator,代码行数:62,代码来源:Util.java

示例4: getCityObjectName

public String getCityObjectName(CityGMLClass c ){
	if (CityGMLClass.BUILDING == c){
		return getName(Building);
	}
	if (CityGMLClass.CITY_FURNITURE == c){
		return getName(CityFurniture);
	}
	if (CityGMLClass.LAND_USE == c){
		return getName(LandUse);
	}
	if (CityGMLClass.CITY_OBJECT_GROUP == c)
		return getName(CityObjectGroup);
	
	if (CityGMLClass.GENERIC_CITY_OBJECT == c)
		return getName(GenericCityObject);
	
	if (CityGMLClass.RELIEF_FEATURE == c){
		return getName(ReliefFeature);
	}
	if (CityGMLClass.TRANSPORTATION_COMPLEX == c||
			c==CityGMLClass.ROAD||
			c==CityGMLClass.RAILWAY||
			c==CityGMLClass.TRACK||
			c==CityGMLClass.SQUARE){
		return getName(Transportation);
	}
	if (CityGMLClass.PLANT_COVER == c||
			c== CityGMLClass.SOLITARY_VEGETATION_OBJECT){
		return getName(Vegetation);
	}
	if (CityGMLClass.WATER_BODY == c){
		return getName(WaterBody);
	}
	if (CityGMLClass.TUNNEL == c){
		return getName(Tunnel);
	}
	if (CityGMLClass.BRIDGE == c){
		return getName(Bridge);
	}
	return "";

}
 
开发者ID:3dcitydb,项目名称:plugin-spreadsheet-generator,代码行数:42,代码来源:SelectedCityObjects.java

示例5: getCityGMLClass

public CityGMLClass getCityGMLClass() {
	return CityGMLClass.BUILDING;
}
 
开发者ID:citygml4j,项目名称:citygml4j,代码行数:3,代码来源:Building.java

示例6: handleEvent

@Override
public void handleEvent(Event e) throws Exception {

	if (e.getEventType() == EventType.COUNTER &&
			((CounterEvent)e).getType() == CounterType.TOPLEVEL_FEATURE) {

		CityGMLClass type = null;
		Object kmlExportObject = e.getSource();

		if (kmlExportObject instanceof Building) {
			type = CityGMLClass.BUILDING;
		}
		else if (kmlExportObject instanceof WaterBody) {
			type = CityGMLClass.WATER_BODY;
		}
		else if (kmlExportObject instanceof LandUse) {
			type = CityGMLClass.LAND_USE;
		}
		else if (kmlExportObject instanceof CityObjectGroup) {
			type = CityGMLClass.CITY_OBJECT_GROUP;
		}
		else if (kmlExportObject instanceof Transportation) {
			type = CityGMLClass.TRANSPORTATION_COMPLEX;
		}
		else if (kmlExportObject instanceof Relief) {
			type = CityGMLClass.RELIEF_FEATURE;
		}
		else if (kmlExportObject instanceof SolitaryVegetationObject) {
			type = CityGMLClass.SOLITARY_VEGETATION_OBJECT;
		}
		else if (kmlExportObject instanceof PlantCover) {
			type = CityGMLClass.PLANT_COVER;
		}
		else if (kmlExportObject instanceof GenericCityObject) {
			type = CityGMLClass.GENERIC_CITY_OBJECT;
		}
		else if (kmlExportObject instanceof CityFurniture) {
			type = CityGMLClass.CITY_FURNITURE;
		}
		else
			return;

		Long counter = featureCounterMap.get(type);
		Long update = ((CounterEvent)e).getCounter();

		if (counter == null)
			featureCounterMap.put(type, update);
		else
			featureCounterMap.put(type, counter + update);
	}
	else if (e.getEventType() == EventType.GEOMETRY_COUNTER) {
		geometryCounter++;
	}
	else if (e.getEventType() == EventType.INTERRUPT) {
		if (isInterrupted.compareAndSet(false, true)) {
			shouldRun = false;

			String log = ((InterruptEvent)e).getLogMessage();
			if (log != null)
				Logger.getInstance().log(((InterruptEvent)e).getLogLevelType(), log);

			Logger.getInstance().info("Waiting for objects being currently processed to end...");

			if (kmlSplitter != null)
				kmlSplitter.shutdown();

			if (kmlWorkerPool != null) {
				kmlWorkerPool.shutdownNow();
			}

			if (lastTempFolder != null && lastTempFolder.exists()) deleteFolder(lastTempFolder); // just in case
		}
	}
}
 
开发者ID:3dcitydb,项目名称:importer-exporter-oracle,代码行数:74,代码来源:KmlExporter.java

示例7: classId2cityObject

public static CityGMLClass classId2cityObject(int classId) {
	CityGMLClass cityObjectType = CityGMLClass.UNDEFINED;

	switch (classId) {
	case 4:
		cityObjectType = CityGMLClass.LAND_USE;
		break;
	case 21:
		cityObjectType = CityGMLClass.CITY_FURNITURE;
		break;
	case 26:
		cityObjectType = CityGMLClass.BUILDING;
		break;
	case 9:
		cityObjectType = CityGMLClass.WATER_BODY;
		break;
	case 8:
		cityObjectType = CityGMLClass.PLANT_COVER;
		break;
	case 7:
		cityObjectType = CityGMLClass.SOLITARY_VEGETATION_OBJECT;
		break;
	case 42:
		cityObjectType = CityGMLClass.TRANSPORTATION_COMPLEX;
		break;
	case 43:
		cityObjectType = CityGMLClass.TRACK;
		break;
	case 44:
		cityObjectType = CityGMLClass.RAILWAY;
		break;
	case 45:
		cityObjectType = CityGMLClass.ROAD;
		break;
	case 46:
		cityObjectType = CityGMLClass.SQUARE;
		break;
	case 5:
		cityObjectType = CityGMLClass.GENERIC_CITY_OBJECT;
		break;
	case 23:
		cityObjectType = CityGMLClass.CITY_OBJECT_GROUP;
		break;
	case 14:
		cityObjectType = CityGMLClass.RELIEF_FEATURE;
		break;
	case 16:
		cityObjectType = CityGMLClass.TIN_RELIEF;
		break;
	case 17:
		cityObjectType = CityGMLClass.MASSPOINT_RELIEF;
		break;
	case 18:
		cityObjectType = CityGMLClass.BREAKLINE_RELIEF;
		break;
	case 19:
		cityObjectType = CityGMLClass.RASTER_RELIEF;
		break;
	}

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

示例8: convert

/**
 * Converts all files of bliste from CityGML defined in inputfile to an OBJ-file in outputFolder.
 * @param inputfile
 * @param outputFolder
 * @param bliste
 * @throws Exception
 */
public static void convert(String inputfile, String outputFolder, String[] bliste ) throws Exception
{
	
	
	SimpleDateFormat df = new SimpleDateFormat("[HH:mm:ss] ");
	System.out.println(df.format(new Date()) + "setting up citygml4j context and JAXB builder");
	CityGMLContext ctx = new CityGMLContext();
	CityGMLBuilder builder = ctx.createCityGMLBuilder();
	System.out.println(df.format(new Date()) + "reading CityGML file " + inputfile + " completely into main memory");
	CityGMLInputFactory in = builder.createCityGMLInputFactory();
	CityGMLReader reader = in.createCityGMLReader(new File(inputfile));
	
	while (reader.hasNext()) {
		CityGML citygml = reader.nextFeature();
		
		System.out.println("Found " + citygml.getCityGMLClass() + 
				" version " + citygml.getCityGMLModule().getVersion());
		
		if (citygml.getCityGMLClass() == CityGMLClass.CITY_MODEL) {
			CityModel cityModel = (CityModel)citygml;

			System.out.println(df.format(new Date()) + "going through city model and counting building instances");
			
			for (CityObjectMember cityObjectMember : cityModel.getCityObjectMember()) {
				AbstractCityObject cityObject = cityObjectMember.getCityObject();
				if (cityObject.getCityGMLClass() == CityGMLClass.BUILDING)
				{
					
					Building building = (Building)cityObject;
					
					String buildingID = building.getId();

					if(bliste != null && isInList(bliste,buildingID ))
					{

							List<BoundarySurfaceProperty> bsp = building
									.getBoundedBySurface();

						PolygonConstructor pc = new PolygonConstructor();
				
						Polygon temp = new Polygon();
						
						
						String filename = outputFolder+ "/" + buildingID + ".obj";
						temp.saveObj(filename, pc.constructPolygons(bsp));
							
						
						}
				}
					}
						
				}
					
			}
	reader.close();
	System.out.println(df.format(new Date()) + "CityGMLToOBJ successfully finished");
}
 
开发者ID:SteuerHorst,项目名称:Voluminator,代码行数:64,代码来源:CityGMLToOBJ.java


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