Java Code Examples for org.citygml4j.model.module.citygml.CityGMLVersion#v2_0_0()

The following examples show how to use org.citygml4j.model.module.citygml.CityGMLVersion#v2_0_0() . 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: XMLQueryView.java    From importer-exporter with Apache License 2.0 5 votes vote down vote up
private String wrapQuery(String query) {
    StringBuilder wrapper = new StringBuilder("<wrapper xmlns=\"")
            .append(ConfigUtil.CITYDB_CONFIG_NAMESPACE_URI).append("\" ");

    ModuleContext context = new ModuleContext(CityGMLVersion.v2_0_0);
    for (Module module : context.getModules()) {
        wrapper.append("xmlns:").append(module.getNamespacePrefix()).append("=\"")
                .append(module.getNamespaceURI()).append("\" ");
    }

    wrapper.append(">\n").append(query).append("</wrapper>");

    return wrapper.toString();
}
 
Example 2
Source File: Util.java    From importer-exporter with Apache License 2.0 5 votes vote down vote up
public static CityGMLVersion toCityGMLVersion(CityGMLVersionType version) {
	switch (version) {
	case v1_0_0:
		return CityGMLVersion.v1_0_0;
	default:
		return CityGMLVersion.v2_0_0;
	}
}
 
Example 3
Source File: StoredQueryManager.java    From web-feature-service with Apache License 2.0 4 votes vote down vote up
private StoredQuery createDefaultStoredQuery() throws ParserConfigurationException, SAXException {
	// GetFeatureById query according to the WFS 2.0 spec
	StoredQueryDescriptionType description = new StoredQueryDescriptionType();

	description.setId(!Constants.DEFAULT_WFS_VERSION.equals("2.0.0") ?
			GET_FEATURE_BY_ID_NAME : DEPRECATED_GET_FEATURE_BY_ID_NAME);

	Title queryTitle = new Title();
	queryTitle.setLang("en");
	queryTitle.setValue("Get feature by identifier");
	description.getTitle().add(queryTitle);
	Abstract queryAbstract = new Abstract();
	queryAbstract.setLang("en");
	queryAbstract.setValue("Retrieves a feature by its gml:id.");
	description.getAbstract().add(queryAbstract);

	ParameterExpressionType parameter = new ParameterExpressionType();
	parameter.setName("id");
	parameter.setType(XSDataType.XS_STRING.getName());
	Title parameterTitle = new Title();
	parameterTitle.setLang("en");
	parameterTitle.setValue("Identifier");
	parameter.getTitle().add(parameterTitle);
	Abstract parameterAbstract = new Abstract();
	parameterAbstract.setLang("en");
	parameterAbstract.setValue("The gml:id of the feature to be retrieved.");
	parameter.getAbstract().add(parameterAbstract);
	description.getParameter().add(parameter);

	Document document = documentBuilderFactory.newDocumentBuilder().newDocument();
	Element query = document.createElementNS(Constants.WFS_NAMESPACE_URI, Constants.WFS_NAMESPACE_PREFIX + ":Query");
	query.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "xmlns:" + Constants.WFS_NAMESPACE_PREFIX, Constants.WFS_NAMESPACE_URI);

	NamespaceFilter namespaceFilter = new NamespaceFilter();
	CityGMLVersion version = wfsConfig.getFeatureTypes().getDefaultVersion();
	boolean multipleVersions = wfsConfig.getFeatureTypes().getVersions().size() > 1;
	CityGMLModule module = version.getCityGMLModule(CityGMLModuleType.CORE);		
	String prefix = module.getNamespacePrefix();
	if (multipleVersions)
		prefix += (version == CityGMLVersion.v2_0_0) ? "2" : "1";

	namespaceFilter.startPrefixMapping(prefix, module.getNamespaceURI());
	namespaceFilter.startPrefixMapping("xs", XMLConstants.W3C_XML_SCHEMA_NS_URI);
	query.setAttribute("typeNames", "schema-element(" + prefix + ':' + "_CityObject)");
	query.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "xmlns:" + prefix, module.getNamespaceURI());

	Element filter = document.createElementNS(Constants.FES_NAMESPACE_URI, Constants.FES_NAMESPACE_PREFIX + ":Filter");
	filter.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "xmlns:" + Constants.FES_NAMESPACE_PREFIX, Constants.FES_NAMESPACE_URI);
	Element resourceId = document.createElementNS(Constants.FES_NAMESPACE_URI, Constants.FES_NAMESPACE_PREFIX + ":ResourceId");
	resourceId.setAttribute("rid", "${id}");
	filter.appendChild(resourceId);
	query.appendChild(filter);

	QueryExpressionTextType queryExpression = new QueryExpressionTextType();
	queryExpression.getContent().add(query);		
	queryExpression.setIsPrivate(false);
	queryExpression.setLanguage("en");
	queryExpression.setReturnFeatureTypes(new ArrayList<QName>());
	queryExpression.setLanguage(StoredQuery.DEFAULT_LANGUAGE);
	description.getQueryExpressionText().add(queryExpression);

	return new StoredQuery(description, namespaceFilter, this);
}
 
Example 4
Source File: CityGMLFeatureType.java    From web-feature-service with Apache License 2.0 4 votes vote down vote up
protected QName getQName(CityGMLVersion version) {
	if (name == null)
		return null;
	
	QName qName = null;
	
	switch (name) {
	case BRIDGE:
		if (version == CityGMLVersion.v2_0_0)
			qName = new QName(version.getModule(CityGMLModuleType.BRIDGE).getNamespaceURI(), "Bridge");
		break;
	case BUILDING:
		qName = new QName(version.getModule(CityGMLModuleType.BUILDING).getNamespaceURI(), "Building");
		break;
	case CITY_FURNITURE:
		qName = new QName(version.getModule(CityGMLModuleType.CITY_FURNITURE).getNamespaceURI(), "CityFurniture");
		break;
	case CITY_OBJECT_GROUP:
		qName = new QName(version.getModule(CityGMLModuleType.CITY_OBJECT_GROUP).getNamespaceURI(), "CityObjectGroup");
		break;
	case GENERIC_CITY_OBJECT:
		qName = new QName(version.getModule(CityGMLModuleType.GENERICS).getNamespaceURI(), "GenericCityObject");
		break;
	case LAND_USE:
		qName = new QName(version.getModule(CityGMLModuleType.LAND_USE).getNamespaceURI(), "LandUse");
		break;
	case PLANT_COVER:
		qName = new QName(version.getModule(CityGMLModuleType.VEGETATION).getNamespaceURI(), "PlantCover");
		break;
	case RAILWAY:
		qName = new QName(version.getModule(CityGMLModuleType.TRANSPORTATION).getNamespaceURI(), "Railway");
		break;
	case RELIEF_FEATURE:
		qName = new QName(version.getModule(CityGMLModuleType.RELIEF).getNamespaceURI(), "ReliefFeature");
		break;
	case ROAD:
		qName = new QName(version.getModule(CityGMLModuleType.TRANSPORTATION).getNamespaceURI(), "Road");
		break;
	case SOLITARY_VEGETATION_OBJECT:
		qName = new QName(version.getModule(CityGMLModuleType.VEGETATION).getNamespaceURI(), "SolitaryVegetationObject");
		break;
	case SQUARE:
		qName = new QName(version.getModule(CityGMLModuleType.TRANSPORTATION).getNamespaceURI(), "Square");
		break;
	case TRACK:
		qName = new QName(version.getModule(CityGMLModuleType.TRANSPORTATION).getNamespaceURI(), "Track");
		break;
	case TRANSPORTATION_COMPLEX:
		qName = new QName(version.getModule(CityGMLModuleType.TRANSPORTATION).getNamespaceURI(), "TransportationComplex");
		break;
	case TUNNEL:
		if (version == CityGMLVersion.v2_0_0)
			qName = new QName(version.getModule(CityGMLModuleType.TUNNEL).getNamespaceURI(), "Tunnel");
		break;
	case WATER_BODY:
		qName = new QName(version.getModule(CityGMLModuleType.WATER_BODY).getNamespaceURI(), "WaterBody");
		break;
	}
	
	return qName;
}
 
Example 5
Source File: DBCityObject.java    From importer-exporter with Apache License 2.0 4 votes vote down vote up
public DBCityObject(Connection connection, Query query, CityGMLExportManager exporter) throws CityGMLExportException, SQLException {
	this.exporter = exporter;
	this.query = query;

	generalizesTos = new HashSet<>();
	externalReferences = new HashSet<>();

	coreModule = exporter.getTargetCityGMLVersion().getCityGMLModule(CityGMLModuleType.CORE).getNamespaceURI();
	appearanceModule = exporter.getTargetCityGMLVersion().getCityGMLModule(CityGMLModuleType.APPEARANCE).getNamespaceURI();
	gmlModule = GMLCoreModule.v3_1_1.getNamespaceURI();

	useTiling = query.isSetTiling();
	if (useTiling) {
		Tiling tiling = query.getTiling();
		tilingOptions = tiling.getTilingOptions() instanceof SimpleTilingOptions ? (SimpleTilingOptions) tiling.getTilingOptions() : new SimpleTilingOptions();
		setTileInfoAsGenericAttribute = tilingOptions.isIncludeTileAsGenericAttribute();
		activeTile = tiling.getActiveTile();
	}

	exportCityDBMetadata = exporter.getExportConfig().getContinuation().isExportCityDBMetadata();
	if (exportCityDBMetadata) {
		cityDBADEModule = exporter.getTargetCityGMLVersion() == CityGMLVersion.v2_0_0 ?
				CityDBADE200Module.v3_0.getNamespaceURI() : CityDBADE100Module.v3_0.getNamespaceURI();
	}

	exportAppearance = exporter.getExportConfig().getAppearances().isSetExportAppearance();
	gmlSrsName = query.getTargetSrs().getGMLSrsName();
	String schema = exporter.getDatabaseAdapter().getConnectionDetails().getSchema();

	Table cityObject = new Table(TableEnum.CITYOBJECT.getName(), schema);
	Table externalReference = new Table(TableEnum.EXTERNAL_REFERENCE.getName(), schema);
	Table generalization = new Table(TableEnum.GENERALIZATION.getName(), schema);
	Select select = new Select();

	select.addProjection(cityObject.getColumn("gmlid"), exporter.getGeometryColumn(cityObject.getColumn("envelope")),
			cityObject.getColumn("name"), cityObject.getColumn("name_codespace"), cityObject.getColumn("description"), cityObject.getColumn("creation_date"),
			cityObject.getColumn("termination_date"), cityObject.getColumn("relative_to_terrain"), cityObject.getColumn("relative_to_water"),
			externalReference.getColumn("id", "exid"), externalReference.getColumn("infosys"), externalReference.getColumn("name", "exname"), externalReference.getColumn("uri"),
			generalization.getColumn("generalizes_to_id"))
	.addJoin(JoinFactory.left(externalReference, "cityobject_id", ComparisonName.EQUAL_TO, cityObject.getColumn("id")))
	.addJoin(JoinFactory.left(generalization, "cityobject_id", ComparisonName.EQUAL_TO, cityObject.getColumn("id")))
	.addSelection(ComparisonFactory.equalTo(cityObject.getColumn("id"), new PlaceHolder<>()));
	if (exportCityDBMetadata) select.addProjection(cityObject.getColumn("last_modification_date"), cityObject.getColumn("updating_person"), cityObject.getColumn("reason_for_update"), cityObject.getColumn("lineage"));
	ps = connection.prepareStatement(select.toString());

	generalizesToExporter = exporter.getExporter(DBGeneralization.class);
	genericAttributeExporter = exporter.getExporter(DBCityObjectGenericAttrib.class);
	valueSplitter = exporter.getAttributeValueSplitter();
	if (exportAppearance)
		appearanceExporter = exporter.getExporter(DBLocalAppearance.class);
}