Skip to content

Commit

Permalink
https://github.com/ObjectVision/RSopen/issues/230
Browse files Browse the repository at this point in the history
  • Loading branch information
MaartenHilferink committed Feb 21, 2025
1 parent 5925181 commit b8a2f08
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 29 deletions.
20 changes: 10 additions & 10 deletions cfg/main/BaseData/StateBasisjaar/Wonen.dms
Original file line number Diff line number Diff line change
Expand Up @@ -18,35 +18,35 @@ container Wonen // Woningen
for_each_nedv(
Classifications/Vastgoed/WP4/name
, replace(
AsList('Verdeling_VSSH/Uitsmeren_WP4_'+Classifications/Vastgoed/VSSH/name +'/@WP@/Aantal_Woningen_per_AdminDomain',' + ')
AsList('Verdeling_VSSH/Uitsmeren_WP4_'+Classifications/Vastgoed/VSSH/name +'/@WP@/Aantal_Woningen_per_CompactedAdminDomain',' + ')
, '@WP@'
, Classifications/Vastgoed/WP4/name)
, AdminDomain
, CompactedAdminDomain
, Woning
)
{
attribute<woning> Totaal (AdminDomain) := ='Add('+AsItemList(Classifications/Vastgoed/WP4/name)+')';
attribute<woning> Totaal (CompactedAdminDomain) := ='Add('+AsItemList(Classifications/Vastgoed/WP4/name)+')';
}

container WP2_opp :=
for_each_nedv(
Classifications/Vastgoed/WP2/name
, replace(
AsList('Verdeling_VSSH/Uitsmeren_WP2_'+Classifications/Vastgoed/VSSH/name +'/@WP@/VBOopp_per_AdminDomain ',' + ')
AsList('Verdeling_VSSH/Uitsmeren_WP2_'+Classifications/Vastgoed/VSSH/name +'/@WP@/VBOopp_per_CompactedAdminDomain ',' + ')
, '@WP@'
, Classifications/Vastgoed/WP2/name)
, AdminDomain
, CompactedAdminDomain
, Meter2
);

container WP4_opp :=
for_each_nedv(
Classifications/Vastgoed/WP4/name
, replace(
AsList('Verdeling_VSSH/Uitsmeren_WP4_'+Classifications/Vastgoed/VSSH/name +'/@WP@/VBOopp_per_AdminDomain ',' + ')
AsList('Verdeling_VSSH/Uitsmeren_WP4_'+Classifications/Vastgoed/VSSH/name +'/@WP@/VBOopp_per_CompactedAdminDomain ',' + ')
, '@WP@'
, Classifications/Vastgoed/WP4/name)
, AdminDomain
, CompactedAdminDomain
, Meter2
);

Expand All @@ -55,13 +55,13 @@ container Wonen // Woningen
Classifications/Vastgoed/WP1/name
, 'WP4/Totaal'
, 'not(all(IsNull(this)))'
, AdminDomain
, CompactedAdminDomain
, Woning
)
{
attribute<Woning> Per_AllocDomain (AllocDomain) := sum(Totaal, AdminDomain/AllocDomain_rel);
attribute<Woning> Per_CompactedAllocDomain (CompactedAllocDomain) := sum(Totaal, CompactedAdminDomain/CompactedAllocDomain_rel);
}

//nodig voor lu map
attribute<meter2> Footprint (AdminDomain) := Verdeling_VSSH/Footprint_per_AdminDomain/Totaal;
attribute<meter2> Footprint (CompactedAdminDomain) := Verdeling_VSSH/Footprint_per_CompactedAdminDomain/Totaal;
}
28 changes: 14 additions & 14 deletions cfg/main/BaseData/Verdeling_VSSH.dms
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ container Verdeling_VSSH
for_each_nedv(
Vastgoed/WP2xVSSH/name
, 'Uitsmeren_WP2_'+Vastgoed/WP2xVSSH/VSSH_name+'/'+Vastgoed/WP2xVSSH/WP_name+'/Aantal_Woningen_per_AdminDomain[woning]'
, AdminDomain
, CompactedAdminDomain
, woning
)
{
Expand All @@ -24,15 +24,15 @@ container Verdeling_VSSH
attribute<float32> Totaal_perRegio (SourceData/RegioIndelingen/NVM) := sum(Totaal, SourceData/RegioIndelingen/NVM/per_AdminDomain);
}

container Footprint_per_AdminDomain :=
container Footprint_per_CompactedAdminDomain :=
for_each_nedv(
Vastgoed/WP2xVSSH/name
, 'Uitsmeren_WP2_'+Vastgoed/WP2xVSSH/VSSH_name+'/'+Vastgoed/WP2xVSSH/WP_name+'/Footprint_per_AdminDomain[meter2]'
, AdminDomain
, 'Uitsmeren_WP2_'+Vastgoed/WP2xVSSH/VSSH_name+'/'+Vastgoed/WP2xVSSH/WP_name+'/Footprint_per_CompactedAdminDomain[meter2]'
, CompactedAdminDomain
, meter2
)
{
attribute<meter2> Totaal (AdminDomain) := =AsList(Vastgoed/WP2xVSSH/name, ' + ');
attribute<meter2> Totaal (CompactedAdminDomain) := =AsList(Vastgoed/WP2xVSSH/name, ' + ');
}

unit<uint32> per_Gemeente := ='SourceData/RegioIndelingen/cbs/Y'+string(ModelParameters/Model_Startyear)+'/gemeente'
Expand Down Expand Up @@ -62,17 +62,17 @@ container Verdeling_VSSH
attribute<bool> VSSH_cond (pand_domain);
//

attribute<meter2> footprint_pand_perVSSH_domain (pand_perVSSH_domain) := ='pand_perVSSH_domain/'+WP_type+'_rel == Vastgoed/'+WP_type+'/V/'+WP_str+' ? pand_perVSSH_domain/footprint : 0[meter2]';
attribute<meter2> footprint_per_pand_domain (pand_domain) := recollect_by_cond(VSSH_cond, footprint_pand_perVSSH_domain, 0[meter2]);
attribute<meter2> footprint_per_AdminDomain (AdminDomain) := sum(footprint_per_pand_domain[pand_domain/ToedelingsMatrix/pand_rel] * pand_domain/ToedelingsMatrix/ToedelingPand, pand_domain/ToedelingsMatrix/AdminDomain_rel);
attribute<meter2> footprint_pand_perVSSH_domain (pand_perVSSH_domain) := ='pand_perVSSH_domain/'+WP_type+'_rel == Vastgoed/'+WP_type+'/V/'+WP_str+' ? pand_perVSSH_domain/footprint : 0[meter2]';
attribute<meter2> footprint_per_pand_domain (pand_domain) := recollect_by_cond(VSSH_cond, footprint_pand_perVSSH_domain, 0[meter2]);
attribute<meter2> footprint_per_CompactedAdminDomain (CompactedAdminDomain) := sum(footprint_per_pand_domain[pand_domain/ToedelingsMatrix/pand_rel] * pand_domain/ToedelingsMatrix/ToedelingPand, pand_domain/ToedelingsMatrix/CompactedAdminDomain_rel);

attribute<meter2> VBOopp_per_pand_perVSSH_domain (pand_perVSSH_domain) := ='pand_perVSSH_domain/'+WP_type+'_rel == Vastgoed/'+WP_type+'/V/'+WP_str+' ? pand_perVSSH_domain/VBOopp_inPand_'+WP_str+' : 0[meter2]';
attribute<meter2> VBOopp_per_pand_domain (pand_domain) := recollect_by_cond(VSSH_cond, VBOopp_per_pand_perVSSH_domain, 0[meter2]);
attribute<meter2> VBOopp_per_AdminDomain (AdminDomain) := sum(VBOopp_per_pand_domain[pand_domain/ToedelingsMatrix/pand_rel] * pand_domain/ToedelingsMatrix/ToedelingPand, pand_domain/ToedelingsMatrix/AdminDomain_rel);
attribute<meter2> VBOopp_per_pand_perVSSH_domain (pand_perVSSH_domain) := ='pand_perVSSH_domain/'+WP_type+'_rel == Vastgoed/'+WP_type+'/V/'+WP_str+' ? pand_perVSSH_domain/VBOopp_inPand_'+WP_str+' : 0[meter2]';
attribute<meter2> VBOopp_per_pand_domain (pand_domain) := recollect_by_cond(VSSH_cond, VBOopp_per_pand_perVSSH_domain, 0[meter2]);
attribute<meter2> VBOopp_per_CompactedAdminDomain (CompactedAdminDomain) := sum(VBOopp_per_pand_domain[pand_domain/ToedelingsMatrix/pand_rel] * pand_domain/ToedelingsMatrix/ToedelingPand, pand_domain/ToedelingsMatrix/CompactedAdminDomain_rel);

attribute<Woning> Aantal_woningen_per_pand_perVSSH_domain(pand_perVSSH_domain) := ='pand_perVSSH_domain/'+WP_type+'_rel == Vastgoed/'+WP_type+'/V/'+WP_str+' ? pand_perVSSH_domain/count_vbo_pand_woon[Woning] : 0[Woning]';
attribute<Woning> Aantal_woningen_per_pand_domain (pand_domain) := recollect_by_cond(VSSH_cond, Aantal_woningen_per_pand_perVSSH_domain, 0[Woning]);
attribute<Woning> Aantal_woningen_per_AdminDomain (AdminDomain) := sum(Aantal_woningen_per_pand_domain[pand_domain/ToedelingsMatrix/pand_rel] * pand_domain/ToedelingsMatrix/ToedelingPand, pand_domain/ToedelingsMatrix/AdminDomain_rel);
attribute<Woning> Aantal_woningen_per_pand_perVSSH_domain (pand_perVSSH_domain) := ='pand_perVSSH_domain/'+WP_type+'_rel == Vastgoed/'+WP_type+'/V/'+WP_str+' ? pand_perVSSH_domain/count_vbo_pand_woon[Woning] : 0[Woning]';
attribute<Woning> Aantal_woningen_per_pand_domain (pand_domain) := recollect_by_cond(VSSH_cond, Aantal_woningen_per_pand_perVSSH_domain, 0[Woning]);
attribute<Woning> Aantal_woningen_per_CompactedAdminDomain(CompactedAdminDomain) := sum(Aantal_woningen_per_pand_domain[pand_domain/ToedelingsMatrix/pand_rel] * pand_domain/ToedelingsMatrix/ToedelingPand, pand_domain/ToedelingsMatrix/CompactedAdminDomain_rel);

}
}
4 changes: 2 additions & 2 deletions cfg/main/SourceData/Vastgoed/BAG.dms
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ container BAG : using = "Classifications/Vastgoed"
attribute<cm> pand_hoogte := ../pand_hoogte/hoogte_cm[PHN_rel];
attribute<cm> pand_hoogte_maaiveld := ../pand_hoogte/hoogte_maaiveld[PHN_rel];

unit<uint32> ToedelingsMatrix := = 'Uitsmeer_key/AdminDomain_in_all_panden';
unit<uint32> ToedelingsMatrix_AllocDomain := = 'Uitsmeer_key/AllocDomain_in_all_panden';
unit<uint32> ToedelingsMatrix := Uitsmeer_key/AdminDomain_in_all_panden;
unit<uint32> ToedelingsMatrix_AllocDomain := Uitsmeer_key/AllocDomain_in_all_panden;
#include<Uitsmeer_key.dms>

container Counts
Expand Down
1 change: 1 addition & 0 deletions cfg/main/SourceData/Vastgoed/BAG/Uitsmeer_key.dms
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ container Uitsmeer_key

// truc om na de unique de bijborende AdminDomain_rel op te zoeken.
attribute<AdminDomain> AdminDomain_rel := point_yx(int32(AdminDomain_id_rel / AdminDomain/nr_cols), int32(AdminDomain_id_rel % AdminDomain/nr_cols), AdminDomain), Descr = "";
attribute<CompactedAdminDomain> CompactedAdminDomain_rel := CompactedAdminDomain/per_AdminDomain[AdminDomain_rel];
attribute<pand_grid_5m_tabel/pandAdmin_keyset> pandAdmin_keyset_rel := combine_data(pand_grid_5m_tabel/pandAdmin_keyset, pand_rel, AdminDomain_id_rel);

attribute<float32> ToedelingPand := sum(pand_grid_5m_tabel/ToedelingPand, pand_grid_5m_tabel/AdminDomain_in_all_panden_rel)
Expand Down
2 changes: 1 addition & 1 deletion cfg/main/Templates/Beschikbaarheden/Zeef_Wonen_perOP_T.dms
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Template Zeef_Wonen_perOP_T
parameter<Eur> MinimumExploitatieSaldo := ='VariantParameters/VariantK/MinimumExploitatieSaldo[VariantParameters/VariantK/V/'+Variant_name+']';

attribute<Woning> PotentieleState (CompactedAllocDomain) := sum(Dichtheid_ha * AdminDomain/NrHaPerCell / float32(Beschikbaar_src), CompactedAdminDomain/CompactedAllocDomain_rel);
attribute<Woning> StateBasisjaar (CompactedAllocDomain) := sum(collect_by_cond(CompactedAdminDomain, AdminDomain/IsCompactedDomain, BaseData/StartState/StateBasisjaar/Src0/Wonen/WP1s/Totaal) / float32(Beschikbaar_src), CompactedAdminDomain/CompactedAllocDomain_rel);
attribute<Woning> StateBasisjaar (CompactedAllocDomain) := sum(BaseData/StartState/StateBasisjaar/Src0/Wonen/WP1s/Totaal / float32(Beschikbaar_src), CompactedAdminDomain/CompactedAllocDomain_rel);

container Impl
{
Expand Down
4 changes: 2 additions & 2 deletions cfg/main/Templates/Densities/MaxWoningDichtheid_T.dms
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ Template MaxWoningDichtheid_T
1f
);

attribute<Woning> Src (AdminDomain) := BaseData/StartState/StateBasisjaar/Src0/Wonen/WP1s/Totaal;
attribute<Woning_ha> Dichtheid_AllocDomain (AllocDomain) := sum(Src, AdminDomain/AllocDomain_rel) / (float32(IsWoonlocatie) * AllocDomain/NrHaPerCell);
attribute<Woning> Src (CompactedAdminDomain) := BaseData/StartState/StateBasisjaar/Src0/Wonen/WP1s/Totaal;
attribute<Woning_ha> Dichtheid_AllocDomain (AllocDomain) := sum(Src, CompactedAdminDomain/AllocDomain_rel) / (float32(IsWoonlocatie) * AllocDomain/NrHaPerCell);
attribute<Woning_ha> Dichtheid_Buurt (AllocDomain) := ='mean(Dichtheid_AllocDomain, Regioindelingen/cbs/Y'+string(ModelParameters/Model_Startyear)+'/buurt/per_AllocDomain)[Regioindelingen/cbs/Y'+string(ModelParameters/Model_Startyear)+'/Buurt/per_AllocDomain]';
attribute<Woning_ha> Dichtheid_Wijk (AllocDomain) := ='mean(Dichtheid_AllocDomain, Regioindelingen/cbs/Y'+string(ModelParameters/Model_Startyear)+'/Wijk/per_AllocDomain)[Regioindelingen/cbs/Y'+string(ModelParameters/Model_Startyear)+'/Wijk/per_AllocDomain]';
attribute<Woning_ha> Dichtheid_Gemeente (AllocDomain) := ='mean(Dichtheid_AllocDomain, Regioindelingen/cbs/Y'+string(ModelParameters/Model_Startyear)+'/Gemeente/per_AllocDomain)[Regioindelingen/cbs/Y'+string(ModelParameters/Model_Startyear)+'/Gemeente/per_AllocDomain]';
Expand Down

0 comments on commit b8a2f08

Please sign in to comment.