diff --git a/plateau_plugin/plateau/models/__init__.py b/plateau_plugin/plateau/models/__init__.py index 5193c66..bb8309c 100644 --- a/plateau_plugin/plateau/models/__init__.py +++ b/plateau_plugin/plateau/models/__init__.py @@ -18,10 +18,12 @@ from .building import ( BUILDING, BUILDING_BOUNDARY_SURFACE, + BUILDING_DETAIL, BUILDING_FURNITURE, BUILDING_INSTALLATION, BUILDING_INT_INSTALLATION, BUILDING_OPENING, + LARGE_CUSTOMER_FACILITY_ATTRIBUTE, ) from .cityfurniture import CITY_FURNITURE from .generics import GENERIC_CITY_OBJECT @@ -58,6 +60,8 @@ BUILDING_INT_INSTALLATION, BUILDING_OPENING, BUILDING_FURNITURE, + BUILDING_DETAIL, + LARGE_CUSTOMER_FACILITY_ATTRIBUTE, # bridge BRIDGE, BRIDGE_BOUNDARY_SURFACE, diff --git a/plateau_plugin/plateau/models/base.py b/plateau_plugin/plateau/models/base.py index 95db3a5..af0c994 100644 --- a/plateau_plugin/plateau/models/base.py +++ b/plateau_plugin/plateau/models/base.py @@ -118,6 +118,9 @@ class FeatureProcessingDefinition: disaster_risk_attr_conatiner_path: str | None = None """災害リスク属性 uro:(Building)DisasterRiskAttribute を包含する要素への element path""" + nested_attributes: list[str] | None = None + """ネストされた属性として表現すべき属性""" + non_geometric: bool = False """ジオメトリを持たない Feature かどうか diff --git a/plateau_plugin/plateau/models/building.py b/plateau_plugin/plateau/models/building.py index d4d7340..87e74f0 100644 --- a/plateau_plugin/plateau/models/building.py +++ b/plateau_plugin/plateau/models/building.py @@ -13,6 +13,12 @@ id="bldg:Building", name="Building", target_elements=["bldg:Building"], + nested_attributes=[ + "./uro:buildingDetailAttribute/uro:BuildingDetailAttribute", + "./uro:buildingDetails/uro:BuildingDetails", # PLATEAU v1.x + "./uro:largeCustomerFacilityAttribute/uro:LargeCustomerFacilityAttribute", + "./uro:largeCustomerFacilities/uro:LargeCustomerFacilities", # PLATEAU v1.x + ], attribute_groups=[ AttributeGroup( base_element=None, @@ -93,299 +99,6 @@ ), ], ), - # TODO: これらは入れ子的データ [0..*] - # AttributeGroup( - # base_element="./uro:buildingDetailAttribute/uro:BuildingDetailAttribute", - # attributes=[ - # Attribute( - # name="serialNumberOfBuildingCertification", - # path="./uro:serialNumberOfBuildingCertification", - # datatype="string", - # ), - # Attribute( - # name="siteArea", - # path="./uro:siteArea", - # datatype="double", - # ), - # Attribute( - # name="totalFloorArea", - # path="./uro:totalFloorArea", - # datatype="double", - # ), - # Attribute( - # name="buildingFootprintArea", - # path="./uro:buildingFootprintArea", - # datatype="double", - # ), - # Attribute( - # name="buildingRoofEdgeArea", - # path="./uro:buildingRoofEdgeArea", - # datatype="double", - # ), - # Attribute( - # name="developmentArea", - # path="./uro:developmentArea", - # datatype="double", - # ), - # Attribute( - # name="buildingStructureType", - # path="./uro:buildingStructureType", - # datatype="string", - # predefined_codelist="BuildingDetailAttribute_buildingStructureType", - # ), - # Attribute( - # name="buildingStructureOrgType", - # path="./uro:buildingStructureOrgType", - # datatype="string", - # ), - # Attribute( - # name="fireproofStructureType", - # path="./uro:fireproofStructureType", - # datatype="string", - # predefined_codelist="BuildingDetailAttribute_fireproofStructureType", - # ), - # Attribute( - # name="urbanPlanType", - # path="./uro:urbanPlanType", - # datatype="string", - # predefined_codelist="Common_urbanPlanType", - # ), - # Attribute( - # name="areaClassificationType", - # path="./uro:areaClassificationType", - # datatype="string", - # predefined_codelist="Common_areaClassificationType", - # ), - # Attribute( - # name="districtsAndZonesType", - # path="./uro:districtsAndZonesType", - # datatype="[]string", - # predefined_codelist="Common_districtsAndZonesType", - # ), - # Attribute( - # name="landUseType", - # path="./uro:landUseType", - # datatype="string", - # predefined_codelist="Common_landUseType", - # ), - # Attribute( - # name="reference", - # path="./uro:reference", - # datatype="string", - # ), - # Attribute( - # name="majorUsage", - # path="./uro:majorUsage", - # datatype="string", - # ), - # Attribute( - # name="majorUsage2", - # path="./uro:majorUsage2", - # datatype="string", - # ), - # Attribute( - # name="orgUsage", - # path="./uro:orgUsage", - # datatype="string", - # ), - # Attribute( - # name="orgUsage2", - # path="./uro:orgUsage2", - # datatype="string", - # ), - # Attribute( - # name="detailedUsage", - # path="./uro:detailedUsage", - # datatype="string", - # ), - # Attribute( - # name="detailedUsage2", - # path="./uro:detailedUsage2", - # datatype="string", - # ), - # Attribute( - # name="detailedUsage3", - # path="./uro:detailedUsage3", - # datatype="string", - # ), - # Attribute( - # name="groundFloorUsage", - # path="./uro:groundFloorUsage", - # datatype="string", - # ), - # Attribute( - # name="secondFloorUsage", - # path="./uro:secondFloorUsage", - # datatype="string", - # ), - # Attribute( - # name="thirdFloorUsage", - # path="./uro:thirdFloorUsage", - # datatype="string", - # ), - # Attribute( - # name="basementUsage", - # path="./uro:basementUsage", - # datatype="string", - # ), - # Attribute( - # name="basementFirstUsage", - # path="./uro:basementFirstUsage", - # datatype="string", - # ), - # Attribute( - # name="basementSecondUsage", - # path="./uro:basementSecondUsage", - # datatype="string", - # ), - # Attribute( - # name="vacancy", - # path="./uro:vacancy", - # datatype="string", - # predefined_codelist="BuildingDetailAttribute_vacancy", - # ), - # Attribute( - # name="buildingCoverageRate", - # path="./uro:buildingCoverageRate", - # datatype="double", - # ), - # Attribute( - # name="floorAreaRate", - # path="./uro:floorAreaRate", - # datatype="double", - # ), - # Attribute( - # name="specifiedBuildingCoverageRate", - # path="./uro:specifiedBuildingCoverageRate", - # datatype="double", - # ), - # Attribute( - # name="specifiedFloorAreaRate", - # path="./uro:specifiedFloorAreaRate", - # datatype="double", - # ), - # Attribute( - # name="standardFloorAreaRate", - # path="./uro:standardFloorAreaRate", - # datatype="double", - # ), - # Attribute( - # name="buidingHeight", - # path="./uro:buidingHeight", - # datatype="double", - # ), - # Attribute( - # name="eaveHeight", - # path="./uro:eaveHeight", - # datatype="double", - # ), - # Attribute( - # name="surveyYear", - # path="./uro:surveyYear", - # datatype="integer", - # ), - # ], - # ), - # AttributeGroup( - # base_element="./uro:largeCustomerFacilityAttribute/uro:LargeCustomerFacilityAttribute", - # attributes=[ - # Attribute( - # name="class", - # path="./uro:class", - # datatype="string", - # predefined_codelist="LargeCustomerFacilityAttribute_class", - # ), - # Attribute( - # name="name", - # path="./uro:name", - # datatype="string", - # ), - # Attribute( - # name="capacity", - # path="./uro:capacity", - # datatype="integer", - # ), - # Attribute( - # name="owner", - # path="./uro:owner", - # datatype="string", - # ), - # Attribute( - # name="totalFloorArea", - # path="./uro:totalFloorArea", - # datatype="double", - # ), - # Attribute( - # name="totalStoreFloorArea", - # path="./uro:totalStoreFloorArea", - # datatype="double", - # ), - # Attribute( - # name="inauguralDate", - # path="./uro:inauguralDate", - # datatype="date", - # ), - # Attribute( - # name="yearOpened", - # path="./uro:yearOpened", - # datatype="integer", - # ), - # Attribute( - # name="yearClosed", - # path="./uro:yearClosed", - # datatype="integer", - # ), - # Attribute( - # name="keyTenants", - # path="./uro:keyTenants", - # datatype="string", - # ), - # Attribute( - # name="availability", - # path="./uro:availability", - # datatype="boolean", - # ), - # Attribute( - # name="urbanPlanType", - # path="./uro:urbanPlanType", - # datatype="string", - # predefined_codelist="Common_urbanPlanType", - # ), - # Attribute( - # name="areaClassificationType", - # path="./uro:areaClassificationType", - # datatype="string", - # predefined_codelist="Common_areaClassificationType", - # ), - # Attribute( - # name="districtsAndZonesType", - # path="./uro:districtsAndZonesType", - # datatype="[]string", - # predefined_codelist="Common_districtsAndZonesType", - # ), - # Attribute( - # name="landUseType", - # path="./uro:landUseType", - # datatype="string", - # predefined_codelist="Common_landUseType", - # ), - # Attribute( - # name="reference", - # path="./uro:reference", - # datatype="string", - # ), - # Attribute( - # name="note", - # path="./uro:note", - # datatype="string", - # ), - # Attribute( - # name="surveyYear", - # path="./uro:surveyYear", - # datatype="integer", - # ), - # ], - # ), AttributeGroup( base_element="./uro:buildingDataQualityAttribute/uro:BuildingDataQualityAttribute", attributes=[ @@ -671,3 +384,321 @@ ), ), ) + + +BUILDING_DETAIL = FeatureProcessingDefinition( + id="uro:BuildingDetailAttribute", + name="BuildingDetailAttribute", + target_elements=[ + "uro:BuildingDetailAttribute", + "uro:BuildingDetails", + ], + non_geometric=True, + attribute_groups=[ + AttributeGroup( + base_element=None, + attributes=[ + Attribute( + name="serialNumberOfBuildingCertification", + path="./uro:serialNumberOfBuildingCertification", + datatype="string", + ), + Attribute( + name="siteArea", + path="./uro:siteArea", + datatype="double", + ), + Attribute( + name="totalFloorArea", + path="./uro:totalFloorArea", + datatype="double", + ), + Attribute( + name="buildingFootprintArea", + path="./uro:buildingFootprintArea", + datatype="double", + ), + Attribute( + name="buildingRoofEdgeArea", + path="./uro:buildingRoofEdgeArea", + datatype="double", + ), + Attribute( + name="developmentArea", + path="./uro:developmentArea", + datatype="double", + ), + Attribute( + name="buildingStructureType", + path="./uro:buildingStructureType", + datatype="string", + predefined_codelist="BuildingDetailAttribute_buildingStructureType", + ), + Attribute( + name="buildingStructureOrgType", + path="./uro:buildingStructureOrgType", + datatype="string", + ), + Attribute( + name="fireproofStructureType", + path="./uro:fireproofStructureType", + datatype="string", + predefined_codelist="BuildingDetailAttribute_fireproofStructureType", + ), + Attribute( + name="urbanPlanType", + path="./uro:urbanPlanType", + datatype="string", + predefined_codelist="Common_urbanPlanType", + ), + Attribute( + name="areaClassificationType", + path="./uro:areaClassificationType", + datatype="string", + predefined_codelist="Common_areaClassificationType", + ), + Attribute( + name="districtsAndZonesType", + path="./uro:districtsAndZonesType", + datatype="[]string", + predefined_codelist="Common_districtsAndZonesType", + ), + Attribute( + name="landUseType", + path="./uro:landUseType", + datatype="string", + predefined_codelist="Common_landUseType", + ), + Attribute( + name="reference", + path="./uro:reference", + datatype="string", + ), + Attribute( + name="majorUsage", + path="./uro:majorUsage", + datatype="string", + ), + Attribute( + name="majorUsage2", + path="./uro:majorUsage2", + datatype="string", + ), + Attribute( + name="orgUsage", + path="./uro:orgUsage", + datatype="string", + ), + Attribute( + name="orgUsage2", + path="./uro:orgUsage2", + datatype="string", + ), + Attribute( + name="detailedUsage", + path="./uro:detailedUsage", + datatype="string", + ), + Attribute( + name="detailedUsage2", + path="./uro:detailedUsage2", + datatype="string", + ), + Attribute( + name="detailedUsage3", + path="./uro:detailedUsage3", + datatype="string", + ), + Attribute( + name="groundFloorUsage", + path="./uro:groundFloorUsage", + datatype="string", + ), + Attribute( + name="secondFloorUsage", + path="./uro:secondFloorUsage", + datatype="string", + ), + Attribute( + name="thirdFloorUsage", + path="./uro:thirdFloorUsage", + datatype="string", + ), + Attribute( + name="basementUsage", + path="./uro:basementUsage", + datatype="string", + ), + Attribute( + name="basementFirstUsage", + path="./uro:basementFirstUsage", + datatype="string", + ), + Attribute( + name="basementSecondUsage", + path="./uro:basementSecondUsage", + datatype="string", + ), + Attribute( + name="vacancy", + path="./uro:vacancy", + datatype="string", + predefined_codelist="BuildingDetailAttribute_vacancy", + ), + Attribute( + name="buildingCoverageRate", + path="./uro:buildingCoverageRate", + datatype="double", + ), + Attribute( + name="floorAreaRate", + path="./uro:floorAreaRate", + datatype="double", + ), + Attribute( + name="specifiedBuildingCoverageRate", + path="./uro:specifiedBuildingCoverageRate", + datatype="double", + ), + Attribute( + name="specifiedFloorAreaRate", + path="./uro:specifiedFloorAreaRate", + datatype="double", + ), + Attribute( + name="standardFloorAreaRate", + path="./uro:standardFloorAreaRate", + datatype="double", + ), + Attribute( + name="buidingHeight", + path="./uro:buidingHeight", + datatype="double", + ), + Attribute( + name="eaveHeight", + path="./uro:eaveHeight", + datatype="double", + ), + Attribute( + name="surveyYear", + path="./uro:surveyYear", + datatype="integer", + ), + ], + ) + ], + geometries=GeometricAttributes(), +) + +LARGE_CUSTOMER_FACILITY_ATTRIBUTE = FeatureProcessingDefinition( + id="uro:LargeCustomerFacilityAttribute", + name="LargeCustomerFacilityAttribute", + target_elements=[ + "uro:LargeCustomerFacilityAttribute", + ], + non_geometric=True, + attribute_groups=[ + AttributeGroup( + base_element=None, + attributes=[ + Attribute( + name="class", + path="./uro:class", + datatype="string", + predefined_codelist="LargeCustomerFacilityAttribute_class", + ), + Attribute( + name="name", + path="./uro:name", + datatype="string", + ), + Attribute( + name="capacity", + path="./uro:capacity", + datatype="integer", + ), + Attribute( + name="owner", + path="./uro:owner", + datatype="string", + ), + Attribute( + name="totalFloorArea", + path="./uro:totalFloorArea", + datatype="double", + ), + Attribute( + name="totalStoreFloorArea", + path="./uro:totalStoreFloorArea", + datatype="double", + ), + Attribute( + name="inauguralDate", + path="./uro:inauguralDate", + datatype="date", + ), + Attribute( + name="yearOpened", + path="./uro:yearOpened", + datatype="integer", + ), + Attribute( + name="yearClosed", + path="./uro:yearClosed", + datatype="integer", + ), + Attribute( + name="keyTenants", + path="./uro:keyTenants", + datatype="string", + ), + Attribute( + name="availability", + path="./uro:availability", + datatype="boolean", + ), + Attribute( + name="urbanPlanType", + path="./uro:urbanPlanType", + datatype="string", + predefined_codelist="Common_urbanPlanType", + ), + Attribute( + name="areaClassificationType", + path="./uro:areaClassificationType", + datatype="string", + predefined_codelist="Common_areaClassificationType", + ), + Attribute( + name="districtsAndZonesType", + path="./uro:districtsAndZonesType", + datatype="[]string", + predefined_codelist="Common_districtsAndZonesType", + ), + Attribute( + name="landUseType", + path="./uro:landUseType", + datatype="string", + predefined_codelist="Common_landUseType", + ), + Attribute( + name="reference", + path="./uro:reference", + datatype="string", + ), + Attribute( + name="note", + path="./uro:note", + datatype="string", + ), + Attribute( + name="surveyYear", + path="./uro:surveyYear", + datatype="integer", + ), + ], + ), + ], + geometries=GeometricAttributes(), +) diff --git a/plateau_plugin/plateau/models/uro_underground_building.py b/plateau_plugin/plateau/models/uro_underground_building.py index 442c317..b2e823f 100644 --- a/plateau_plugin/plateau/models/uro_underground_building.py +++ b/plateau_plugin/plateau/models/uro_underground_building.py @@ -15,6 +15,12 @@ target_elements=[ "uro:UndergroundBuilding", ], + nested_attributes=[ + "./uro:buildingDetailAttribute/uro:BuildingDetailAttribute", + "./uro:buildingDetails/uro:BuildingDetails", # PLATEAU v1.x + "./uro:largeCustomerFacilityAttribute/uro:LargeCustomerFacilityAttribute", + "./uro:largeCustomerFacilities/uro:LargeCustomerFacilities", # PLATEAU v1.x + ], attribute_groups=[ AttributeGroup( base_element=None, @@ -43,8 +49,7 @@ Attribute( name="storeyHeightsBelowGround", path="./bldg:storeyHeightsBelowGround", - datatype="[]string", # NOTE: 階数分出現しうる - # NOTE: []string でよいかどうか + datatype="[]double", ), Attribute( name="address", @@ -85,299 +90,6 @@ ), ], ), - # TODO: 入れ子的属性 - # AttributeGroup( - # base_element="./uro:buildingDetailAttribute/uro:BuildingDetailAttribute", - # attributes=[ - # Attribute( - # name="serialNumberOfBuildingCertification", - # path="./uro:serialNumberOfBuildingCertification", - # datatype="string", - # ), - # Attribute( - # name="siteArea", - # path="./uro:siteArea", - # datatype="double", - # ), - # Attribute( - # name="totalFloorArea", - # path="./uro:totalFloorArea", - # datatype="double", - # ), - # Attribute( - # name="buildingFootprintArea", - # path="./uro:buildingFootprintArea", - # datatype="double", - # ), - # Attribute( - # name="buildingRoofEdgeArea", - # path="./uro:buildingRoofEdgeArea", - # datatype="double", - # ), - # Attribute( - # name="developmentArea", - # path="./uro:developmentArea", - # datatype="double", - # ), - # Attribute( - # name="buildingStructureType", - # path="./uro:buildingStructureType", - # datatype="string", - # predefined_codelist="BuildingDetailAttribute_buildingStructureType", - # ), - # Attribute( - # name="buildingStructureOrgType", - # path="./uro:buildingStructureOrgType", - # datatype="string", - # ), - # Attribute( - # name="fireproofStructureType", - # path="./uro:fireproofStructureType", - # datatype="string", - # predefined_codelist="BuildingDetailAttribute_fireproofStructureType", - # ), - # Attribute( - # name="urbanPlanType", - # path="./uro:urbanPlanType", - # datatype="string", - # predefined_codelist="Common_urbanPlanType", - # ), - # Attribute( - # name="areaClassificationType", - # path="./uro:areaClassificationType", - # datatype="string", - # predefined_codelist="Common_areaClassificationType", - # ), - # Attribute( - # name="districtsAndZonesType", - # path="./uro:districtsAndZonesType", - # datatype="[]string", - # predefined_codelist="Common_districtsAndZonesType", - # ), - # Attribute( - # name="landUseType", - # path="./uro:landUseType", - # datatype="string", - # predefined_codelist="Common_landUseType", - # ), - # Attribute( - # name="reference", - # path="./uro:reference", - # datatype="string", - # ), - # Attribute( - # name="majorUsage", - # path="./uro:majorUsage", - # datatype="string", - # ), - # Attribute( - # name="majorUsage2", - # path="./uro:majorUsage2", - # datatype="string", - # ), - # Attribute( - # name="orgUsage", - # path="./uro:orgUsage", - # datatype="string", - # ), - # Attribute( - # name="orgUsage2", - # path="./uro:orgUsage2", - # datatype="string", - # ), - # Attribute( - # name="detailedUsage", - # path="./uro:detailedUsage", - # datatype="string", - # ), - # Attribute( - # name="detailedUsage2", - # path="./uro:detailedUsage2", - # datatype="string", - # ), - # Attribute( - # name="detailedUsage3", - # path="./uro:detailedUsage3", - # datatype="string", - # ), - # Attribute( - # name="groundFloorUsage", - # path="./uro:groundFloorUsage", - # datatype="string", - # ), - # Attribute( - # name="secondFloorUsage", - # path="./uro:secondFloorUsage", - # datatype="string", - # ), - # Attribute( - # name="thirdFloorUsage", - # path="./uro:thirdFloorUsage", - # datatype="string", - # ), - # Attribute( - # name="basementUsage", - # path="./uro:basementUsage", - # datatype="string", - # ), - # Attribute( - # name="basementFirstUsage", - # path="./uro:basementFirstUsage", - # datatype="string", - # ), - # Attribute( - # name="basementSecondUsage", - # path="./uro:basementSecondUsage", - # datatype="string", - # ), - # Attribute( - # name="vacancy", - # path="./uro:vacancy", - # datatype="string", - # predefined_codelist="BuildingDetailAttribute_vacancy", - # ), - # Attribute( - # name="buildingCoverageRate", - # path="./uro:buildingCoverageRate", - # datatype="double", - # ), - # Attribute( - # name="floorAreaRate", - # path="./uro:floorAreaRate", - # datatype="double", - # ), - # Attribute( - # name="specifiedBuildingCoverageRate", - # path="./uro:specifiedBuildingCoverageRate", - # datatype="double", - # ), - # Attribute( - # name="specifiedFloorAreaRate", - # path="./uro:specifiedFloorAreaRate", - # datatype="double", - # ), - # Attribute( - # name="standardFloorAreaRate", - # path="./uro:standardFloorAreaRate", - # datatype="double", - # ), - # Attribute( - # name="buidingHeight", - # path="./uro:buidingHeight", - # datatype="double", - # ), - # Attribute( - # name="eaveHeight", - # path="./uro:eaveHeight", - # datatype="double", - # ), - # Attribute( - # name="surveyYear", - # path="./uro:surveyYear", - # datatype="integer", - # ), - # ], - # ), - # AttributeGroup( - # base_element="./uro:largeCustomerFacilityAttribute/uro:LargeCustomerFacilityAttribute", - # attributes=[ - # Attribute( - # name="class", - # path="./uro:class", - # datatype="string", - # predefined_codelist="LargeCustomerFacilityAttribute_class", - # ), - # Attribute( - # name="name", - # path="./uro:name", - # datatype="string", - # ), - # Attribute( - # name="capacity", - # path="./uro:capacity", - # datatype="integer", - # ), - # Attribute( - # name="owner", - # path="./uro:owner", - # datatype="string", - # ), - # Attribute( - # name="totalFloorArea", - # path="./uro:totalFloorArea", - # datatype="double", - # ), - # Attribute( - # name="totalStoreFloorArea", - # path="./uro:totalStoreFloorArea", - # datatype="double", - # ), - # Attribute( - # name="inauguralDate", - # path="./uro:inauguralDate", - # datatype="date", - # ), - # Attribute( - # name="yearOpened", - # path="./uro:yearOpened", - # datatype="integer", - # ), - # Attribute( - # name="yearClosed", - # path="./uro:yearClosed", - # datatype="integer", - # ), - # Attribute( - # name="keyTenants", - # path="./uro:keyTenants", - # datatype="string", - # ), - # Attribute( - # name="availability", - # path="./uro:availability", - # datatype="boolean", - # ), - # Attribute( - # name="urbanPlanType", - # path="./uro:urbanPlanType", - # datatype="string", - # predefined_codelist="Common_urbanPlanType", - # ), - # Attribute( - # name="areaClassificationType", - # path="./uro:areaClassificationType", - # datatype="string", - # predefined_codelist="Common_areaClassificationType", - # ), - # Attribute( - # name="districtsAndZonesType", - # path="./uro:districtsAndZonesType", - # datatype="[]string", - # predefined_codelist="Common_districtsAndZonesType", - # ), - # Attribute( - # name="landUseType", - # path="./uro:landUseType", - # datatype="string", - # predefined_codelist="Common_landUseType", - # ), - # Attribute( - # name="reference", - # path="./uro:reference", - # datatype="string", - # ), - # Attribute( - # name="note", - # path="./uro:note", - # datatype="string", - # ), - # Attribute( - # name="surveyYear", - # path="./uro:surveyYear", - # datatype="integer", - # ), - # ], - # ), AttributeGroup( base_element="./uro:buildingDataQualityAttribute/uro:BuildingDataQualityAttribute", attributes=[ diff --git a/plateau_plugin/plateau/parse/parser.py b/plateau_plugin/plateau/parse/parser.py index 60e8f0d..6671522 100644 --- a/plateau_plugin/plateau/parse/parser.py +++ b/plateau_plugin/plateau/parse/parser.py @@ -255,6 +255,13 @@ def process_cityobj_element( # noqa: C901 for child_obj in self.process_cityobj_element(risk, nogeom_obj): yield child_obj + # 入れ子属性 + if processor.nested_attributes: + for path in processor.nested_attributes: + for child in elem.iterfind(path, nsmap): + for child_obj in self.process_cityobj_element(child, nogeom_obj): + yield child_obj + # 公共測量標準図式 (DM) if self._settings.load_dm and processor.dm_attr_container_path: for dm in elem.iterfind(processor.dm_attr_container_path + "/*", nsmap):