本文整理汇总了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;
}
示例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");
}
示例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;
}
示例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 "";
}
示例5: getCityGMLClass
public CityGMLClass getCityGMLClass() {
return CityGMLClass.BUILDING;
}
示例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
}
}
}
示例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;
}
示例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");
}