@viadukt/connect 2.4.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +96 -14
- package/dist/index.js +71 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -743,11 +743,6 @@ declare const $LookupPropertiesV3: {
|
|
|
743
743
|
readonly description: "\nThe `roof_area` field specifies the total roof area of the building [square meters].\n\nThe field is set to `null` if the roof area is unknown.";
|
|
744
744
|
readonly example: 355.37342071533203;
|
|
745
745
|
};
|
|
746
|
-
readonly ogc_fid: {
|
|
747
|
-
readonly type: readonly ["string", "null"];
|
|
748
|
-
readonly description: "\nThe `ogc_fid` field specifies a unique identifier from the LOD2 dataset.\n\nThe field is set to `null` if the identifier is unavailable.";
|
|
749
|
-
readonly example: "DENW29AL1000FzW2";
|
|
750
|
-
};
|
|
751
746
|
readonly outer_wall_area_free: {
|
|
752
747
|
readonly type: readonly ["number", "null"];
|
|
753
748
|
readonly minimum: 0;
|
|
@@ -784,6 +779,12 @@ declare const $LookupPropertiesV3: {
|
|
|
784
779
|
readonly description: "\nThe `plinth_length_shared_non_heated` field specifies the length of the building's plinth shared with non-heated adjacent structures [meters].\n\nThe field is set to `null` if the length is unknown.";
|
|
785
780
|
readonly example: 31.994775355440325;
|
|
786
781
|
};
|
|
782
|
+
readonly ogc_fid: {
|
|
783
|
+
readonly type: readonly ["string", "null"];
|
|
784
|
+
readonly description: "\nThe `ogc_fid` field specifies a unique identifier from the LOD2 dataset. **This field is deprecated** and should no longer be used for identifying buildings. \n\nFor current and future use, refer to `building_id` (for the building geometry) or `building_address_id` (for a unique building-address combination) instead. \n\nThe field is set to `null` if the identifier is unavailable.";
|
|
785
|
+
readonly example: "DENW29AL1000FzW2";
|
|
786
|
+
readonly deprecated: true;
|
|
787
|
+
};
|
|
787
788
|
readonly esg: {
|
|
788
789
|
readonly type: "object";
|
|
789
790
|
readonly properties: {
|
|
@@ -991,7 +992,7 @@ declare const $LookupPropertiesV3: {
|
|
|
991
992
|
readonly type: readonly ["number", "null"];
|
|
992
993
|
readonly minimum: 0;
|
|
993
994
|
readonly maximum: 100;
|
|
994
|
-
readonly description: "\nThe `stressors` field specifies the stressors rating of the building's location, ranging from 0 to 100.\n\nThe field is set to `null` if the stressors rating is unknown
|
|
995
|
+
readonly description: "\nThe `stressors` field specifies the stressors rating of the building's location, ranging from 0 to 100.\n\nThe field is set to `null` if the stressors rating is unknown.\n\nHigher values indicate a better location, similar to the other properties in `location_rating`.\n";
|
|
995
996
|
readonly example: 1;
|
|
996
997
|
};
|
|
997
998
|
};
|
|
@@ -1035,8 +1036,36 @@ declare const $LookupPropertiesV3: {
|
|
|
1035
1036
|
readonly description: "\nThe `milieus_dominant` field specifies the dominant milieu of the building's location. This field can have one of the following values:\n\n- **communicative**: Communicative milieu\n- **demanding**: Demanding milieu\n- **domestic**: Domestic milieu\n- **conventional**: Conventional milieu\n- **modest**: Modest milieu\n- **functional**: Functional milieu\n\nThe field is set to `null` if the dominant milieu is unknown.";
|
|
1036
1037
|
readonly example: "domestic";
|
|
1037
1038
|
};
|
|
1039
|
+
readonly building_address_id: {
|
|
1040
|
+
readonly type: readonly ["string", "null"];
|
|
1041
|
+
readonly description: "\nThe `building_address_id` field specifies the unique identifier for a building in relation to a specific address. This ID is used to distinguish buildings that may share the same parcel or geographic location but are associated with different addresses (for example, in cases of multiple entrances, sub-buildings, or address points within a single property).\n\nThis identifier is particularly useful for applications where the address context is essential to uniquely reference a building, such as postal services, delivery, or address-based lookup systems.\n\nThe field is set to `null` if the building address ID is unknown.";
|
|
1042
|
+
readonly example: "1234567890";
|
|
1043
|
+
};
|
|
1044
|
+
readonly building_id: {
|
|
1045
|
+
readonly type: readonly ["string", "null"];
|
|
1046
|
+
readonly description: "\nThe `building_id` field specifies the identifier for the building as a physical structure or geometry, independent of address context. Note that this ID is not necessarily unique, as a single building can be associated with multiple addresses (for example, corner buildings or buildings with several entrances).\n\nThis identifier is typically used to reference the building as a physical entity for purposes such as property management, urban planning, or geospatial analysis, where the focus is on the structure itself rather than its address associations.\n\nFor a unique reference to a building at a specific address, use `building_address_id` instead.\n\nThe field is set to `null` if the building ID is unknown.";
|
|
1047
|
+
readonly example: "1234567890";
|
|
1048
|
+
};
|
|
1049
|
+
readonly inhabitants: {
|
|
1050
|
+
readonly type: readonly ["number", "null"];
|
|
1051
|
+
readonly minimum: 0;
|
|
1052
|
+
readonly description: "\nThe `inhabitants` field specifies the number of inhabitants per building. This value represents the total number of people residing within the given building, regardless of the number of addresses or units it contains.\n\nThis information can be useful for demographic analysis, urban planning, emergency response, and resource allocation, where understanding the population density or occupancy of a building is important.\n\nThe field is set to `null` if the number of inhabitants is unknown.";
|
|
1053
|
+
readonly example: 14;
|
|
1054
|
+
};
|
|
1055
|
+
readonly number_companies: {
|
|
1056
|
+
readonly type: readonly ["number", "null"];
|
|
1057
|
+
readonly minimum: 0;
|
|
1058
|
+
readonly description: "\nThe `number_companies` field specifies the total number of companies located within the building. This value reflects how many distinct companies are registered or operate in the building, regardless of the number of addresses, units, or floors.\n\nThis information is useful for economic analysis, business density studies, urban planning, and resource allocation, where understanding the commercial activity within a building is important.\n\nThe field is set to `null` if the number of companies is unknown.";
|
|
1059
|
+
readonly example: 14;
|
|
1060
|
+
};
|
|
1061
|
+
readonly purchasing_power: {
|
|
1062
|
+
readonly type: readonly ["number", "null"];
|
|
1063
|
+
readonly minimum: 0;
|
|
1064
|
+
readonly description: "\nThe `purchasing_power` field specifies the average purchasing power (German: *Kaufkraft*) of the households of the building, measured in euros (EUR). Purchasing power refers to the estimated disposable income or financial capacity available to the households for spending and consumption, after taxes and social security contributions have been deducted.\n\nThis value is typically expressed as an annual amount per person or household and provides insight into the economic strength and consumption potential of the building's population. Understanding purchasing power is valuable for market analysis, retail site selection, urban planning, and resource allocation.\n\nThe field is set to `null` if the purchasing power is unknown.";
|
|
1065
|
+
readonly example: 14000;
|
|
1066
|
+
};
|
|
1038
1067
|
};
|
|
1039
|
-
readonly required: readonly ["street", "city", "street_number", "postcode", "roof_type", "type", "type_class", "water_protected", "heated", "heat_demand", "levels", "household_count", "net_area", "footprint_area", "characteristics", "characteristics_class", "development_layout", "development_layout_class", "construction_year_range", "construction_year_range_class", "construction_year", "heritage", "geo_conductivity_100", "heat_pump_air_possible", "heat_pump_maximal_distance_drillings", "heat_pump_maximal_distance_drillings_5m", "heat_pump_minimal_number_possible_drillings", "heat_pump_minimal_number_possible_drillings_5m", "heat_pump_minimal_number_possible_drillings_2m", "heat_pump_minimal_number_possible_drillings_no_distance", "heat_pump_collector_free_area", "flood_potential", "photovoltaic_potential", "solarthermal_potential", "matching_addresses", "eave_above_ground_weighted", "eave_above_ground_min", "eave_above_ground_max", "ridge_above_ground_weighted", "ridge_above_ground_min", "ridge_above_ground_max", "number_original_geometries", "roof_area", "
|
|
1068
|
+
readonly required: readonly ["street", "city", "street_number", "postcode", "roof_type", "type", "type_class", "water_protected", "heated", "heat_demand", "levels", "household_count", "net_area", "footprint_area", "characteristics", "characteristics_class", "development_layout", "development_layout_class", "construction_year_range", "construction_year_range_class", "construction_year", "heritage", "geo_conductivity_100", "heat_pump_air_possible", "heat_pump_maximal_distance_drillings", "heat_pump_maximal_distance_drillings_5m", "heat_pump_minimal_number_possible_drillings", "heat_pump_minimal_number_possible_drillings_5m", "heat_pump_minimal_number_possible_drillings_2m", "heat_pump_minimal_number_possible_drillings_no_distance", "heat_pump_collector_free_area", "flood_potential", "photovoltaic_potential", "solarthermal_potential", "matching_addresses", "eave_above_ground_weighted", "eave_above_ground_min", "eave_above_ground_max", "ridge_above_ground_weighted", "ridge_above_ground_min", "ridge_above_ground_max", "number_original_geometries", "roof_area", "outer_wall_area_free", "outer_wall_area_shared_heated", "outer_wall_area_shared_non_heated", "plinth_length_free", "plinth_length_shared_heated", "plinth_length_shared_non_heated", "ogc_fid", "esg", "fuelling_types", "location_rating"];
|
|
1040
1069
|
};
|
|
1041
1070
|
|
|
1042
1071
|
type LookupPropertiesV2 = {
|
|
@@ -2767,13 +2796,6 @@ type LookupPropertiesV3 = {
|
|
|
2767
2796
|
* The field is set to `null` if the roof area is unknown.
|
|
2768
2797
|
*/
|
|
2769
2798
|
roof_area: number | null;
|
|
2770
|
-
/**
|
|
2771
|
-
*
|
|
2772
|
-
* The `ogc_fid` field specifies a unique identifier from the LOD2 dataset.
|
|
2773
|
-
*
|
|
2774
|
-
* The field is set to `null` if the identifier is unavailable.
|
|
2775
|
-
*/
|
|
2776
|
-
ogc_fid: string | null;
|
|
2777
2799
|
/**
|
|
2778
2800
|
*
|
|
2779
2801
|
* The `outer_wall_area_free` field specifies the facade area free of adjacent structures [square meters].
|
|
@@ -2816,6 +2838,16 @@ type LookupPropertiesV3 = {
|
|
|
2816
2838
|
* The field is set to `null` if the length is unknown.
|
|
2817
2839
|
*/
|
|
2818
2840
|
plinth_length_shared_non_heated: number | null;
|
|
2841
|
+
/**
|
|
2842
|
+
*
|
|
2843
|
+
* The `ogc_fid` field specifies a unique identifier from the LOD2 dataset. **This field is deprecated** and should no longer be used for identifying buildings.
|
|
2844
|
+
*
|
|
2845
|
+
* For current and future use, refer to `building_id` (for the building geometry) or `building_address_id` (for a unique building-address combination) instead.
|
|
2846
|
+
*
|
|
2847
|
+
* The field is set to `null` if the identifier is unavailable.
|
|
2848
|
+
* @deprecated
|
|
2849
|
+
*/
|
|
2850
|
+
ogc_fid: string | null;
|
|
2819
2851
|
esg: {
|
|
2820
2852
|
/**
|
|
2821
2853
|
*
|
|
@@ -3081,6 +3113,9 @@ type LookupPropertiesV3 = {
|
|
|
3081
3113
|
* The `stressors` field specifies the stressors rating of the building's location, ranging from 0 to 100.
|
|
3082
3114
|
*
|
|
3083
3115
|
* The field is set to `null` if the stressors rating is unknown.
|
|
3116
|
+
*
|
|
3117
|
+
* Higher values indicate a better location, similar to the other properties in `location_rating`.
|
|
3118
|
+
*
|
|
3084
3119
|
*/
|
|
3085
3120
|
stressors?: number | null;
|
|
3086
3121
|
};
|
|
@@ -3164,6 +3199,53 @@ type LookupPropertiesV3 = {
|
|
|
3164
3199
|
* The field is set to `null` if the dominant milieu is unknown.
|
|
3165
3200
|
*/
|
|
3166
3201
|
milieus_dominant?: 'communicative' | 'demanding' | 'domestic' | 'conventional' | 'modest' | 'functional' | null;
|
|
3202
|
+
/**
|
|
3203
|
+
*
|
|
3204
|
+
* The `building_address_id` field specifies the unique identifier for a building in relation to a specific address. This ID is used to distinguish buildings that may share the same parcel or geographic location but are associated with different addresses (for example, in cases of multiple entrances, sub-buildings, or address points within a single property).
|
|
3205
|
+
*
|
|
3206
|
+
* This identifier is particularly useful for applications where the address context is essential to uniquely reference a building, such as postal services, delivery, or address-based lookup systems.
|
|
3207
|
+
*
|
|
3208
|
+
* The field is set to `null` if the building address ID is unknown.
|
|
3209
|
+
*/
|
|
3210
|
+
building_address_id?: string | null;
|
|
3211
|
+
/**
|
|
3212
|
+
*
|
|
3213
|
+
* The `building_id` field specifies the identifier for the building as a physical structure or geometry, independent of address context. Note that this ID is not necessarily unique, as a single building can be associated with multiple addresses (for example, corner buildings or buildings with several entrances).
|
|
3214
|
+
*
|
|
3215
|
+
* This identifier is typically used to reference the building as a physical entity for purposes such as property management, urban planning, or geospatial analysis, where the focus is on the structure itself rather than its address associations.
|
|
3216
|
+
*
|
|
3217
|
+
* For a unique reference to a building at a specific address, use `building_address_id` instead.
|
|
3218
|
+
*
|
|
3219
|
+
* The field is set to `null` if the building ID is unknown.
|
|
3220
|
+
*/
|
|
3221
|
+
building_id?: string | null;
|
|
3222
|
+
/**
|
|
3223
|
+
*
|
|
3224
|
+
* The `inhabitants` field specifies the number of inhabitants per building. This value represents the total number of people residing within the given building, regardless of the number of addresses or units it contains.
|
|
3225
|
+
*
|
|
3226
|
+
* This information can be useful for demographic analysis, urban planning, emergency response, and resource allocation, where understanding the population density or occupancy of a building is important.
|
|
3227
|
+
*
|
|
3228
|
+
* The field is set to `null` if the number of inhabitants is unknown.
|
|
3229
|
+
*/
|
|
3230
|
+
inhabitants?: number | null;
|
|
3231
|
+
/**
|
|
3232
|
+
*
|
|
3233
|
+
* The `number_companies` field specifies the total number of companies located within the building. This value reflects how many distinct companies are registered or operate in the building, regardless of the number of addresses, units, or floors.
|
|
3234
|
+
*
|
|
3235
|
+
* This information is useful for economic analysis, business density studies, urban planning, and resource allocation, where understanding the commercial activity within a building is important.
|
|
3236
|
+
*
|
|
3237
|
+
* The field is set to `null` if the number of companies is unknown.
|
|
3238
|
+
*/
|
|
3239
|
+
number_companies?: number | null;
|
|
3240
|
+
/**
|
|
3241
|
+
*
|
|
3242
|
+
* The `purchasing_power` field specifies the average purchasing power (German: *Kaufkraft*) of the households of the building, measured in euros (EUR). Purchasing power refers to the estimated disposable income or financial capacity available to the households for spending and consumption, after taxes and social security contributions have been deducted.
|
|
3243
|
+
*
|
|
3244
|
+
* This value is typically expressed as an annual amount per person or household and provides insight into the economic strength and consumption potential of the building's population. Understanding purchasing power is valuable for market analysis, retail site selection, urban planning, and resource allocation.
|
|
3245
|
+
*
|
|
3246
|
+
* The field is set to `null` if the purchasing power is unknown.
|
|
3247
|
+
*/
|
|
3248
|
+
purchasing_power?: number | null;
|
|
3167
3249
|
};
|
|
3168
3250
|
/**
|
|
3169
3251
|
*
|
package/dist/index.js
CHANGED
|
@@ -1911,14 +1911,6 @@ The \`roof_area\` field specifies the total roof area of the building [square me
|
|
|
1911
1911
|
The field is set to \`null\` if the roof area is unknown.`,
|
|
1912
1912
|
example: 355.37342071533203
|
|
1913
1913
|
},
|
|
1914
|
-
ogc_fid: {
|
|
1915
|
-
type: ["string", "null"],
|
|
1916
|
-
description: `
|
|
1917
|
-
The \`ogc_fid\` field specifies a unique identifier from the LOD2 dataset.
|
|
1918
|
-
|
|
1919
|
-
The field is set to \`null\` if the identifier is unavailable.`,
|
|
1920
|
-
example: "DENW29AL1000FzW2"
|
|
1921
|
-
},
|
|
1922
1914
|
outer_wall_area_free: {
|
|
1923
1915
|
type: ["number", "null"],
|
|
1924
1916
|
minimum: 0,
|
|
@@ -1973,6 +1965,17 @@ The \`plinth_length_shared_non_heated\` field specifies the length of the buildi
|
|
|
1973
1965
|
The field is set to \`null\` if the length is unknown.`,
|
|
1974
1966
|
example: 31.994775355440325
|
|
1975
1967
|
},
|
|
1968
|
+
ogc_fid: {
|
|
1969
|
+
type: ["string", "null"],
|
|
1970
|
+
description: `
|
|
1971
|
+
The \`ogc_fid\` field specifies a unique identifier from the LOD2 dataset. **This field is deprecated** and should no longer be used for identifying buildings.
|
|
1972
|
+
|
|
1973
|
+
For current and future use, refer to \`building_id\` (for the building geometry) or \`building_address_id\` (for a unique building-address combination) instead.
|
|
1974
|
+
|
|
1975
|
+
The field is set to \`null\` if the identifier is unavailable.`,
|
|
1976
|
+
example: "DENW29AL1000FzW2",
|
|
1977
|
+
deprecated: true
|
|
1978
|
+
},
|
|
1976
1979
|
esg: {
|
|
1977
1980
|
type: "object",
|
|
1978
1981
|
properties: {
|
|
@@ -2326,7 +2329,10 @@ The field is set to \`null\` if the social rating is unknown.`,
|
|
|
2326
2329
|
description: `
|
|
2327
2330
|
The \`stressors\` field specifies the stressors rating of the building's location, ranging from 0 to 100.
|
|
2328
2331
|
|
|
2329
|
-
The field is set to \`null\` if the stressors rating is unknown
|
|
2332
|
+
The field is set to \`null\` if the stressors rating is unknown.
|
|
2333
|
+
|
|
2334
|
+
Higher values indicate a better location, similar to the other properties in \`location_rating\`.
|
|
2335
|
+
`,
|
|
2330
2336
|
example: 1
|
|
2331
2337
|
}
|
|
2332
2338
|
}
|
|
@@ -2425,9 +2431,64 @@ The \`milieus_dominant\` field specifies the dominant milieu of the building's l
|
|
|
2425
2431
|
|
|
2426
2432
|
The field is set to \`null\` if the dominant milieu is unknown.`,
|
|
2427
2433
|
example: "domestic"
|
|
2434
|
+
},
|
|
2435
|
+
building_address_id: {
|
|
2436
|
+
type: ["string", "null"],
|
|
2437
|
+
description: `
|
|
2438
|
+
The \`building_address_id\` field specifies the unique identifier for a building in relation to a specific address. This ID is used to distinguish buildings that may share the same parcel or geographic location but are associated with different addresses (for example, in cases of multiple entrances, sub-buildings, or address points within a single property).
|
|
2439
|
+
|
|
2440
|
+
This identifier is particularly useful for applications where the address context is essential to uniquely reference a building, such as postal services, delivery, or address-based lookup systems.
|
|
2441
|
+
|
|
2442
|
+
The field is set to \`null\` if the building address ID is unknown.`,
|
|
2443
|
+
example: "1234567890"
|
|
2444
|
+
},
|
|
2445
|
+
building_id: {
|
|
2446
|
+
type: ["string", "null"],
|
|
2447
|
+
description: `
|
|
2448
|
+
The \`building_id\` field specifies the identifier for the building as a physical structure or geometry, independent of address context. Note that this ID is not necessarily unique, as a single building can be associated with multiple addresses (for example, corner buildings or buildings with several entrances).
|
|
2449
|
+
|
|
2450
|
+
This identifier is typically used to reference the building as a physical entity for purposes such as property management, urban planning, or geospatial analysis, where the focus is on the structure itself rather than its address associations.
|
|
2451
|
+
|
|
2452
|
+
For a unique reference to a building at a specific address, use \`building_address_id\` instead.
|
|
2453
|
+
|
|
2454
|
+
The field is set to \`null\` if the building ID is unknown.`,
|
|
2455
|
+
example: "1234567890"
|
|
2456
|
+
},
|
|
2457
|
+
inhabitants: {
|
|
2458
|
+
type: ["number", "null"],
|
|
2459
|
+
minimum: 0,
|
|
2460
|
+
description: `
|
|
2461
|
+
The \`inhabitants\` field specifies the number of inhabitants per building. This value represents the total number of people residing within the given building, regardless of the number of addresses or units it contains.
|
|
2462
|
+
|
|
2463
|
+
This information can be useful for demographic analysis, urban planning, emergency response, and resource allocation, where understanding the population density or occupancy of a building is important.
|
|
2464
|
+
|
|
2465
|
+
The field is set to \`null\` if the number of inhabitants is unknown.`,
|
|
2466
|
+
example: 14
|
|
2467
|
+
},
|
|
2468
|
+
number_companies: {
|
|
2469
|
+
type: ["number", "null"],
|
|
2470
|
+
minimum: 0,
|
|
2471
|
+
description: `
|
|
2472
|
+
The \`number_companies\` field specifies the total number of companies located within the building. This value reflects how many distinct companies are registered or operate in the building, regardless of the number of addresses, units, or floors.
|
|
2473
|
+
|
|
2474
|
+
This information is useful for economic analysis, business density studies, urban planning, and resource allocation, where understanding the commercial activity within a building is important.
|
|
2475
|
+
|
|
2476
|
+
The field is set to \`null\` if the number of companies is unknown.`,
|
|
2477
|
+
example: 14
|
|
2478
|
+
},
|
|
2479
|
+
purchasing_power: {
|
|
2480
|
+
type: ["number", "null"],
|
|
2481
|
+
minimum: 0,
|
|
2482
|
+
description: `
|
|
2483
|
+
The \`purchasing_power\` field specifies the average purchasing power (German: *Kaufkraft*) of the households of the building, measured in euros (EUR). Purchasing power refers to the estimated disposable income or financial capacity available to the households for spending and consumption, after taxes and social security contributions have been deducted.
|
|
2484
|
+
|
|
2485
|
+
This value is typically expressed as an annual amount per person or household and provides insight into the economic strength and consumption potential of the building's population. Understanding purchasing power is valuable for market analysis, retail site selection, urban planning, and resource allocation.
|
|
2486
|
+
|
|
2487
|
+
The field is set to \`null\` if the purchasing power is unknown.`,
|
|
2488
|
+
example: 14e3
|
|
2428
2489
|
}
|
|
2429
2490
|
},
|
|
2430
|
-
required: ["street", "city", "street_number", "postcode", "roof_type", "type", "type_class", "water_protected", "heated", "heat_demand", "levels", "household_count", "net_area", "footprint_area", "characteristics", "characteristics_class", "development_layout", "development_layout_class", "construction_year_range", "construction_year_range_class", "construction_year", "heritage", "geo_conductivity_100", "heat_pump_air_possible", "heat_pump_maximal_distance_drillings", "heat_pump_maximal_distance_drillings_5m", "heat_pump_minimal_number_possible_drillings", "heat_pump_minimal_number_possible_drillings_5m", "heat_pump_minimal_number_possible_drillings_2m", "heat_pump_minimal_number_possible_drillings_no_distance", "heat_pump_collector_free_area", "flood_potential", "photovoltaic_potential", "solarthermal_potential", "matching_addresses", "eave_above_ground_weighted", "eave_above_ground_min", "eave_above_ground_max", "ridge_above_ground_weighted", "ridge_above_ground_min", "ridge_above_ground_max", "number_original_geometries", "roof_area", "
|
|
2491
|
+
required: ["street", "city", "street_number", "postcode", "roof_type", "type", "type_class", "water_protected", "heated", "heat_demand", "levels", "household_count", "net_area", "footprint_area", "characteristics", "characteristics_class", "development_layout", "development_layout_class", "construction_year_range", "construction_year_range_class", "construction_year", "heritage", "geo_conductivity_100", "heat_pump_air_possible", "heat_pump_maximal_distance_drillings", "heat_pump_maximal_distance_drillings_5m", "heat_pump_minimal_number_possible_drillings", "heat_pump_minimal_number_possible_drillings_5m", "heat_pump_minimal_number_possible_drillings_2m", "heat_pump_minimal_number_possible_drillings_no_distance", "heat_pump_collector_free_area", "flood_potential", "photovoltaic_potential", "solarthermal_potential", "matching_addresses", "eave_above_ground_weighted", "eave_above_ground_min", "eave_above_ground_max", "ridge_above_ground_weighted", "ridge_above_ground_min", "ridge_above_ground_max", "number_original_geometries", "roof_area", "outer_wall_area_free", "outer_wall_area_shared_heated", "outer_wall_area_shared_non_heated", "plinth_length_free", "plinth_length_shared_heated", "plinth_length_shared_non_heated", "ogc_fid", "esg", "fuelling_types", "location_rating"]
|
|
2431
2492
|
};
|
|
2432
2493
|
|
|
2433
2494
|
// src/services.gen.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schemas.gen.ts","../src/services.gen.ts","../src/index.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nexport const $LookupPropertiesV2 = {\n type: 'object',\n properties: {\n street: {\n type: ['string', 'null'],\n description: `\n**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Friedrich Ebert Straße'\n },\n city: {\n type: ['string', 'null'],\n description: `\nThe \\`city\\` field specifies the city name of a building.\n\nThe field is set to \\`null\\` if the city is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Wuppertal'\n },\n street_number: {\n type: ['string', 'null'],\n description: `\nThe \\`street_number\\` field specifies the street number name of a building.\n\nThe field is set to \\`null\\` if the street number is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n postcode: {\n type: ['string', 'null'],\n description: `\nThe \\`postcode\\` field specifies the postcode of a building.\n\nThe field is set to \\`null\\` if the postcode is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n roof_type: {\n type: ['string', 'null'],\n enum: ['flat', 'pitched', 'mixed'],\n description: `\nThe \\`roof_type\\` field specifies the type of roof of a building. This field can have one of the following values:\n\n- **flat**: Flat roof\n- **pitched**: Pitched roof\n- **mixed**: Mixed types of roofs\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 'flat'\n },\n type: {\n type: ['string', 'null'],\n enum: ['single_family', 'multi_family', 'non_residential', 'mixed_use'],\n description: `\nThe \\`type\\` field specifies the type of building. This field can have one of the following values:\n\n- **single_family**: Single-family house\n- **multi_family**: Multi-family house\n- **non_residential**: Non-residential building\n- **mixed_use**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'single_family'\n },\n type_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 4,\n description: `\nThe \\`type_class\\` field specifies the class of the building type. This field can have one of the following values:\n\n- **1**: Single-family house\n- **2**: Multi-family house\n- **3**: Non-residential building\n- **4**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n water_protected: {\n type: ['boolean', 'null'],\n description: `\nThe \\`water_protected\\` field specifies whether the building is within a water protection area.\n\nIf the field is set to \\`null\\`, no water protection area could be assigned.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Water Protection Areas (Germany ex. Rheinland-Pfalz, Baden-Würtemberg, NRW) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2024) <br />\n [Datasources / Datenquellen](https://geoportal.bafg.de/inspire/download/AM/waterProtectionArea/datasetfeed.xml)\n- Water Protection Areas (Rheinland-Pfalz) <br />\n © Landesamt für Umwelt (LfU) (2024) <br />\n [Datasources / Datenquellen](https://geodienste-wasser.rlp-umwelt.de/geonetwork/srv/ger/catalog.search;jsessionid=7E55E5AFBC8BF10DBE2ABEE3FA110723#/metadata/17a6a735-8bd0-4258-ae32-883c8a8f4af5)\n- Water Protection Areas (Baden-Würtemberg) <br />\n © Landesanstalt für Umwelt Baden-Würtemberg (LUBW) (2024) <br />\n [Datasources / Datenquellen](https://rips-metadaten.lubw.de/trefferanzeige?docuuid=ec2d7bcc-1f56-4596-bbc0-459ddb6a1a82)\n- Water Protection Areas (Nordrhein-Westfalen) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW <br />\n Fachbereich 56: Wasserwirtschaftlicher Datenverbund, ELWAS-Geschäftsstelle, 2024`,\n example: true\n },\n heated: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heated\\` field specifies whether the building is heated or not.\n\nThe field is set to \\`null\\` if the heating status is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Gebäudefunktionsklasse (GFK) (Manual Assignment of the Heating Status) <br />\n © Geodateninfrastruktur Deutschland (2024) <br />\n [Datasources / Datenquellen](https://repository.gdi-de.org/schemas/adv/citygml/Codelisten/BuildingFunctionTypeAdV.xml)`,\n example: true\n },\n heat_demand: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_demand\\` field specifies the heat demand of the building in [kWh/m²a].\n\nThe field is set to \\`null\\` if the heat demand is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Kommunale Wärmeplanung NRW (KWP-NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024)<br />\n [Datasources / Datenquellen]https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/kwp/)`,\n example: 127.42\n },\n height_category: {\n type: ['string', 'null'],\n enum: ['<= 5m', '<= 7.5m', '<= 10m', '<= 12.5m', '<= 15m', '> 15m'],\n description: `\nThe \\`height_category\\` field specifies the height category of the building. The height category is a\nnumber between 1 and 6, where 1 is the lowest and 6 is the highest category.\n\n### Classifications\n\n- **1**: <= 5m\n- **2**: <= 7.5m\n- **3**: <= 10m\n- **4**: <= 12.5m\n- **5**: <= 15m\n- **6**: > 15m\n\nIf the height category is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be removed in future API versions. It is no longer actively supported and may be omitted from upcoming endpoints. We recommend updating your implementation to use the latest supported fields.\n `,\n example: '<= 5m',\n deprecated: true\n },\n height_category_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 6,\n description: `\nThe \\`height_category_class\\` field specifies the height category of the building. The height category is a\nnumber between 1 and 6, where 1 is the lowest and 6 is the highest category.\n\n### Classifications\n\n- **1**: <= 5m\n- **2**: <= 7.5m\n- **3**: <= 10m\n- **4**: <= 12.5m\n- **5**: <= 15m\n- **6**: > 15m\n\nThe field is set to \\`null\\` if the number of height category is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be no longer supported in future datasets.`,\n example: 1,\n deprecated: true\n },\n levels: {\n type: ['number', 'null'],\n minimum: 1,\n description: `\nThe \\`levels\\` field specifies the number of levels in the building.\n\nThe field is set to \\`null\\` if the number of levels is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n- Additionally, this field is enhanced using a proprietary machine learning model developed to estimate levels \n where explicit data is unavailable.`,\n example: 4\n },\n household_count: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`household_count\\` field specifies the number of households in the building.\n\nThe field is set to \\`null\\` if the number of households is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 3\n },\n net_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_area\\` field specifies the net area of the building in m².\n\nThe field is set to \\`null\\` if the net area is unknown.\n\nThe \\`net_area\\` was modeled according to the Raumwärmebedarfsmodell NRW as: \n\\`footprint_area\\` * \\`levels\\` * factors between 0.7 (inhabited) and 0.8 (non-inhabited)\nthe latter was done to concider e.g., inner wall area or staircases.`,\n example: 127.42\n },\n footprint_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`footprint_area\\` field specifies the footprint area of the building in m².\n\nThe field is set to \\`null\\` if the footprint area is unknown.`,\n example: 127.42\n },\n usage: {\n type: ['string', 'null'],\n enum: ['residential', 'non_residential', 'mixed_use'],\n description: `\nThe \\`usage\\` field specifies the usage of the building. This field can have one of the following values:\n\n- **residential**: Residential building\n- **non_residential**: Non-residential building\n- **mixed_use**: Mixed-use building\n\nIf the usage is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be removed in future API versions. It is no longer actively supported and may be omitted from upcoming endpoints. We recommend updating your implementation to use the latest supported fields.`,\n example: 'residential',\n deprecated: true\n },\n usage_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 3,\n description: `\nThe \\`usage_class\\` field specifies the usage of the building. This field can have one of the following values:\n\n- **1**: Residential building\n- **2**: Non-residential building\n- **3**: Mixed-use building\n\nIf the usage is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be removed in future API versions. It is no longer actively supported and may be omitted from upcoming endpoints. We recommend updating your implementation to use the latest supported fields.`,\n example: 1,\n deprecated: true\n },\n characteristics: {\n type: ['string', 'null'],\n enum: ['single_two_family', 'row_semi_detached', 'multi_family', 'residential_block', 'high_rise', 'terrace', 'farmhouse', 'office_other', 'factory_warehouse'],\n description: `\nThe \\`characteristics\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **single_two_family**: Single- or two-family house\n- **row_semi_detached**: Row or semi-detached house\n- **multi_family**: Multi-family house\n- **residential_block**: Residential block\n- **high_rise**: High-rise residential building\n- **terrace**: Terrace house\n- **farmhouse**: Farmhouse\n- **office_other**: Office or other building\n- **factory_warehouse**: Factory or warehouse building\n\nIf the characteristics is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'residential_block'\n },\n characteristics_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 9,\n description: `\nThe \\`characteristics_class\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **1**: Single- or two-family house\n- **2**: Row or semi-detached house\n- **3**: Multi-family house\n- **4**: Residential block\n- **5**: High-rise residential building\n- **6**: Terrace house\n- **7**: Farmhouse\n- **8**: Office or other building\n- **9**: Factory or warehouse building\n\nIf the characteristics_class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n development_layout: {\n type: ['string', 'null'],\n enum: ['non_detached', 'semi_detached', 'detached'],\n description: `\nThe \\`development_layout\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **non_detached**: Non-detached building\n- **semi_detached**: Semi-detached building\n- **detached**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**detached** = intersection_length / outline_length < 0.085\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**non_detached** = for all other buildings`,\n example: 'non_detached'\n },\n development_layout_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 3,\n description: `\nThe \\`development_layout_class\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **1**: Non-detached building\n- **2**: Semi-detached building\n- **3**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout_class\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**1** = intersection_length / outline_length < 0.085\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**3** = for all other buildings`,\n example: 1\n },\n construction_year_range: {\n type: ['array', 'null'],\n prefixItems: [\n {\n type: ['number', 'null']\n },\n {\n type: 'number'\n }\n ],\n description: `\nThe \\`construction_year_range\\` field specifies the approximate construction year of the building. The field is a tuple with two\nvalues: the lower and upper bound of the construction year and can have one of the following value:\n\n- **[*null*, 1899]**: Construction year is somewhere up to 1899\n- **[1900, 1945]**\n- **[1946, 1960]**\n- **[1961, 1970]**\n- **[1971, 1980]**\n- **[1981, 1985]**\n- **[1986, 1995]**\n- **[1996, 2000]**\n- **[2001, 2005]**\n- **[2006, 2010]**\n- **[2011, 2015]**\n- **[2016, 2024]**\n\nIf the construction year class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: [1990, 1995]\n },\n construction_year_range_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 12,\n description: `\nThe \\`construction_year_range_class\\` field specifies the approximate construction year of the building and can have one of the following values: \n\n- **1**: < 1899\n- **2**: 1900 - 1945\n- **3**: 1946 - 1960\n- **4**: 1961 - 1970\n- **5**: 1971 - 1980\n- **6**: 1981 - 1985\n- **7**: 1986 - 1995\n- **8**: 1996 - 2000\n- **9**: 2001 - 2005\n- **10**: 2006 - 2010\n- **11**: 2011 - 2015\n- **12**: 2016 - 2024\n\nIf the construction year range class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n construction_year: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`construction_year\\` field specifies the construction year of the building.\n\nIf the construction year is unknown, the field is set to \\`null\\`.`,\n example: 1993\n },\n heritage: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heritage\\` field specifies whether the building is under monumental protection.\n\nThe field is set to \\`null\\` if the heritage status is unknown.`,\n example: true\n },\n geo_conductivity_100: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`geo_conductivity_100\\` field specifies the geothermal conductivity in 100 m depth.\n\nThe field is set to \\`null\\` if the geothermal conductivity is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Geothermic Potential in 100 m depth (NRW) <br />\n © Geologischer Dienst (GD) NRW (2024) <br />\n [Datasources / Datenquellen](https://open.nrw/dataset/912ad0a6-5eb4-4df3-a19f-908c33650964)`,\n example: 2\n },\n heat_pump_air_possible: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heat_pump_air_possible\\` field indicates whether an air-source heat pump is a viable option for the building.\n\n- Set to \\`true\\` if an air-source heat pump is feasible.\n- Set to \\`false\\` if an air-source heat pump is not feasible.\n- Set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: true\n },\n heat_pump_maximal_distance_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\nThis field will be deprecated in future versions. Please use \\`heat_pump_maximal_distance_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100\n },\n heat_pump_maximal_distance_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings_5m\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100.35\n },\n heat_pump_minimal_number_possible_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\nThis field will be deprecated in future versions. Please use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Deprecation Warning:**<br /><br />\n\nPlease use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead of this field.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1,\n deprecated: true\n },\n heat_pump_minimal_number_possible_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_5m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_2m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_2m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 2m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_no_distance: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_no_distance\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with no distance to the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_collector_free_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_collector_free_area\\` field specifies the sum of the free area suitable \nfor a collector heat pump on parcels associated to a building.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n `,\n example: 100\n },\n flood_potential: {\n type: ['array', 'null'],\n items: {\n type: 'object',\n properties: {\n min_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n max_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n protection_against_floods: {\n type: ['boolean', 'null']\n }\n }\n },\n minItems: 1,\n description: `\nThe \\`flood_potential\\` field is an array representing different flood risk scenarios for a given \nlocation. The objects in the array can contain the following fields:\n\n- \\`min_reccurence\\`: The minimum expected recurrence interval for flooding, measured in years. \n This field is optional and can be \\`null\\` if the data is unavailable. A lower value indicates more \n frequent flooding.\n \n- \\`max_reccurence\\`: The maximum expected recurrence interval for flooding, also in years. This \n field is optional and can be \\`null\\`. If provided, this value represents the upper bound of the \n flood risk interval. This field allows the specification of a range of recurrence intervals.\n \n- \\`protection_against_floods\\`: A boolean flag indicating whether flood protection measures are in \n place for the area. This field is optional and can be \\`null\\` if the information is not available. \n A value of \\`true\\` means flood defenses are present, while \\`false\\` indicates the absence of such \n measures.\n\nIf this array is set to \\`null\\`, it means that no data regarding flood potential is available for the location.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Flood hazard area (Überflutungsflächen-DE) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2022) <br />\n [Terms of Use / Nutzungsbedingungen](https://www.gesetze-im-internet.de/geonutzv/GeoNutzV.pdf)`,\n example: [\n {\n min_recurrence: 100,\n max_recurrence: null,\n protection_against_floods: true\n },\n {\n min_recurrence: 101,\n max_recurrence: 1000,\n protection_against_floods: false\n }\n ]\n },\n photovoltaic_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`suitable_roof_area\\` field specifies the roof area suited for photovoltaics [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 77\n },\n gross_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`gross_collector_area\\` field specifies the maximal collector area for photovoltaics including module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_collector_area\\` field specifies the maximal collector area for photovoltaics excluding module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics excluding module frames is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n electricity_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`electricity_generation\\` field specifies the maximal electricity generation from photovoltaics of the building per year [kWh/a].\n\nThe field is set to \\`null\\` if the maximal electricity generation per year is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 6401\n },\n nominal_power: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`nominal_power\\` field specifies the nominal power a photovoltaics system could have at this building per year [kWp].\n\nThe field is set to \\`null\\` if the the nominal power is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 7.5\n }\n },\n required: ['suitable_roof_area', 'gross_collector_area', 'net_collector_area', 'electricity_generation', 'nominal_power']\n },\n solarthermal_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_suitable_roof_area\\` field specifies the roof area suited for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 90\n },\n heat_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_heat_generation\\` field specifies the potential solarthermic heat generation on this bulding [kWh/a].\n\nThe field is set to \\`null\\` if the heat generation by solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 25201\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_net_collector_area\\` field specifies the maximal collector area for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/) `,\n example: 25201\n }\n },\n required: ['suitable_roof_area', 'heat_generation', 'net_collector_area']\n },\n matching_addresses: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`matching_addresses\\` field indicates the number of addresses associated with the geometry.\n\nThe field is set to \\`null\\` if no matching addresses are found.`,\n example: 1\n },\n eave_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_weighted\\` field specifies the weighted average height of the eave above ground [meters]. For weighting \nthe \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 11.398919537428867\n },\n eave_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_min\\` field specifies the minimum height of the eave above ground [meters]. This is the minimal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`.\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 5.7899932861328125\n },\n eave_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_max\\` field specifies the maximum height of the eave above ground [meters]. This is the maximal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of \nthe field \\`number_original_geometries\\`.\n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.722991943359375\n },\n ridge_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_weighted\\` field specifies the weighted average height of the ridge above ground [meters]. For \nweighting the \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.619256575276214\n },\n ridge_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_min\\` field specifies the minimum height of the ridge above ground [meters]. This is the minimal \n\\`ridge_above_ground within\\` a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 6.64300537109375\n },\n ridge_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_max\\` field specifies the maximum height of the ridge above ground [meters]. This is the maximal \n\\`ridge_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 16.987991333007812\n },\n number_original_geometries: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`number_original_geometries\\` field specifies the number of original geometries used for weighted calculations.\n\nThe field is set to \\`null\\` if the count is unknown.`,\n example: 3\n },\n roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`roof_area\\` field specifies the total roof area of the building [square meters].\n\nThe field is set to \\`null\\` if the roof area is unknown.`,\n example: 355.37342071533203\n },\n ogc_fid: {\n type: ['string', 'null'],\n description: `\nThe \\`ogc_fid\\` field specifies a unique identifier from the LOD2 dataset.\n\nThe field is set to \\`null\\` if the identifier is unavailable.`,\n example: 'DENW29AL1000FzW2'\n },\n outer_wall_area_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_free\\` field specifies the facade area free of adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 690.5686635568186\n },\n outer_wall_area_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_heated\\` field specifies the facade area shared with heated adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 202.10705297163204\n },\n outer_wall_area_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_non_heated\\` field specifies the facade area shared with non-heated adjacent structures [square meters].\n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 298.6121580931941\n },\n plinth_length_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_free\\` field specifies the length of the building's plinth that is not shared with adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 48.672734987814366\n },\n plinth_length_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_heated\\` field specifies the length of the building's plinth shared with heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 13.16187444425839\n },\n plinth_length_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_non_heated\\` field specifies the length of the building's plinth shared with non-heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 31.994775355440325\n }\n },\n required: ['street', 'city', 'street_number', 'postcode', 'roof_type', 'type', 'type_class', 'water_protected', 'heated', 'heat_demand', 'height_category', 'height_category_class', 'levels', 'household_count', 'net_area', 'footprint_area', 'usage', 'usage_class', 'characteristics', 'characteristics_class', 'development_layout', 'development_layout_class', 'construction_year_range', 'construction_year_range_class', 'construction_year', 'heritage', 'geo_conductivity_100', 'heat_pump_air_possible', 'heat_pump_maximal_distance_drillings', 'heat_pump_maximal_distance_drillings_5m', 'heat_pump_minimal_number_possible_drillings', 'heat_pump_minimal_number_possible_drillings_5m', 'heat_pump_minimal_number_possible_drillings_2m', 'heat_pump_minimal_number_possible_drillings_no_distance', 'heat_pump_collector_free_area', 'flood_potential', 'photovoltaic_potential', 'solarthermal_potential', 'matching_addresses', 'eave_above_ground_weighted', 'eave_above_ground_min', 'eave_above_ground_max', 'ridge_above_ground_weighted', 'ridge_above_ground_min', 'ridge_above_ground_max', 'number_original_geometries', 'roof_area', 'ogc_fid', 'outer_wall_area_free', 'outer_wall_area_shared_heated', 'outer_wall_area_shared_non_heated', 'plinth_length_free', 'plinth_length_shared_heated', 'plinth_length_shared_non_heated']\n} as const;\n\nexport const $LookupPropertiesV3 = {\n type: 'object',\n properties: {\n street: {\n type: ['string', 'null'],\n description: `\n**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Friedrich Ebert Straße'\n },\n city: {\n type: ['string', 'null'],\n description: `\nThe \\`city\\` field specifies the city name of a building.\n\nThe field is set to \\`null\\` if the city is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Wuppertal'\n },\n street_number: {\n type: ['string', 'null'],\n description: `\nThe \\`street_number\\` field specifies the street number name of a building.\n\nThe field is set to \\`null\\` if the street number is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n postcode: {\n type: ['string', 'null'],\n description: `\nThe \\`postcode\\` field specifies the postcode of a building.\n\nThe field is set to \\`null\\` if the postcode is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n roof_type: {\n type: ['string', 'null'],\n enum: ['flat', 'pitched', 'mixed'],\n description: `\nThe \\`roof_type\\` field specifies the type of roof of a building. This field can have one of the following values:\n\n- **flat**: Flat roof\n- **pitched**: Pitched roof\n- **mixed**: Mixed types of roofs\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 'flat'\n },\n type: {\n type: ['string', 'null'],\n enum: ['single_family', 'multi_family', 'non_residential', 'mixed_use'],\n description: `\nThe \\`type\\` field specifies the type of building. This field can have one of the following values:\n\n- **single_family**: Single-family house\n- **multi_family**: Multi-family house\n- **non_residential**: Non-residential building\n- **mixed_use**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'single_family'\n },\n type_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 4,\n description: `\nThe \\`type_class\\` field specifies the class of the building type. This field can have one of the following values:\n\n- **1**: Single-family house\n- **2**: Multi-family house\n- **3**: Non-residential building\n- **4**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n water_protected: {\n type: ['boolean', 'null'],\n description: `\nThe \\`water_protected\\` field specifies whether the building is within a water protection area.\n\nIf the field is set to \\`null\\`, no water protection area could be assigned.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Water Protection Areas (Germany ex. Rheinland-Pfalz, Baden-Würtemberg, NRW) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2024) <br />\n [Datasources / Datenquellen](https://geoportal.bafg.de/inspire/download/AM/waterProtectionArea/datasetfeed.xml)\n- Water Protection Areas (Rheinland-Pfalz) <br />\n © Landesamt für Umwelt (LfU) (2024) <br />\n [Datasources / Datenquellen](https://geodienste-wasser.rlp-umwelt.de/geonetwork/srv/ger/catalog.search;jsessionid=7E55E5AFBC8BF10DBE2ABEE3FA110723#/metadata/17a6a735-8bd0-4258-ae32-883c8a8f4af5)\n- Water Protection Areas (Baden-Würtemberg) <br />\n © Landesanstalt für Umwelt Baden-Würtemberg (LUBW) (2024) <br />\n [Datasources / Datenquellen](https://rips-metadaten.lubw.de/trefferanzeige?docuuid=ec2d7bcc-1f56-4596-bbc0-459ddb6a1a82)\n- Water Protection Areas (Nordrhein-Westfalen) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW <br />\n Fachbereich 56: Wasserwirtschaftlicher Datenverbund, ELWAS-Geschäftsstelle, 2024`,\n example: true\n },\n heated: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heated\\` field specifies whether the building is heated or not.\n\nThe field is set to \\`null\\` if the heating status is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Gebäudefunktionsklasse (GFK) (Manual Assignment of the Heating Status) <br />\n © Geodateninfrastruktur Deutschland (2024) <br />\n [Datasources / Datenquellen](https://repository.gdi-de.org/schemas/adv/citygml/Codelisten/BuildingFunctionTypeAdV.xml)`,\n example: true\n },\n heat_demand: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_demand\\` field specifies the heat demand of the building in [kWh/m²a].\n\nThe field is set to \\`null\\` if the heat demand is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Kommunale Wärmeplanung NRW (KWP-NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024)<br />\n [Datasources / Datenquellen]https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/kwp/)`,\n example: 127.42\n },\n levels: {\n type: ['number', 'null'],\n minimum: 1,\n description: `\nThe \\`levels\\` field specifies the number of levels in the building.\n\nThe field is set to \\`null\\` if the number of levels is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n- Additionally, this field is enhanced using a proprietary machine learning model developed to estimate levels \n where explicit data is unavailable.`,\n example: 4\n },\n household_count: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`household_count\\` field specifies the number of households in the building.\n\nThe field is set to \\`null\\` if the number of households is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 3\n },\n net_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_area\\` field specifies the net area of the building in m².\n\nThe field is set to \\`null\\` if the net area is unknown.\n\nThe \\`net_area\\` was modeled according to the Raumwärmebedarfsmodell NRW as: \n\\`footprint_area\\` * \\`levels\\` * factors between 0.7 (inhabited) and 0.8 (non-inhabited)\nthe latter was done to concider e.g., inner wall area or staircases.`,\n example: 127.42\n },\n footprint_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`footprint_area\\` field specifies the footprint area of the building in m².\n\nThe field is set to \\`null\\` if the footprint area is unknown.`,\n example: 127.42\n },\n characteristics: {\n type: ['string', 'null'],\n enum: ['single_two_family', 'row_semi_detached', 'multi_family', 'residential_block', 'high_rise', 'terrace', 'farmhouse', 'office_other', 'factory_warehouse'],\n description: `\nThe \\`characteristics\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **single_two_family**: Single- or two-family house\n- **row_semi_detached**: Row or semi-detached house\n- **multi_family**: Multi-family house\n- **residential_block**: Residential block\n- **high_rise**: High-rise residential building\n- **terrace**: Terrace house\n- **farmhouse**: Farmhouse\n- **office_other**: Office or other building\n- **factory_warehouse**: Factory or warehouse building\n\nIf the characteristics is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'residential_block'\n },\n characteristics_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 9,\n description: `\nThe \\`characteristics_class\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **1**: Single- or two-family house\n- **2**: Row or semi-detached house\n- **3**: Multi-family house\n- **4**: Residential block\n- **5**: High-rise residential building\n- **6**: Terrace house\n- **7**: Farmhouse\n- **8**: Office or other building\n- **9**: Factory or warehouse building\n\nIf the characteristics_class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n development_layout: {\n type: ['string', 'null'],\n enum: ['non_detached', 'semi_detached', 'detached'],\n description: `\nThe \\`development_layout\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **non_detached**: Non-detached building\n- **semi_detached**: Semi-detached building\n- **detached**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**detached** = intersection_length / outline_length < 0.085\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**non_detached** = for all other buildings`,\n example: 'non_detached'\n },\n development_layout_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 3,\n description: `\nThe \\`development_layout_class\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **1**: Non-detached building\n- **2**: Semi-detached building\n- **3**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout_class\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**1** = intersection_length / outline_length < 0.085\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**3** = for all other buildings`,\n example: 1\n },\n construction_year_range: {\n type: ['array', 'null'],\n prefixItems: [\n {\n type: ['number', 'null']\n },\n {\n type: 'number'\n }\n ],\n description: `\nThe \\`construction_year_range\\` field specifies the approximate construction year of the building. The field is a tuple with two\nvalues: the lower and upper bound of the construction year and can have one of the following value:\n\n- **[*null*, 1899]**: Construction year is somewhere up to 1899\n- **[1900, 1945]**\n- **[1946, 1960]**\n- **[1961, 1970]**\n- **[1971, 1980]**\n- **[1981, 1985]**\n- **[1986, 1995]**\n- **[1996, 2000]**\n- **[2001, 2005]**\n- **[2006, 2010]**\n- **[2011, 2015]**\n- **[2016, 2024]**\n\nIf the construction year class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: [1990, 1995]\n },\n construction_year_range_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 12,\n description: `\nThe \\`construction_year_range_class\\` field specifies the approximate construction year of the building and can have one of the following values: \n\n- **1**: < 1899\n- **2**: 1900 - 1945\n- **3**: 1946 - 1960\n- **4**: 1961 - 1970\n- **5**: 1971 - 1980\n- **6**: 1981 - 1985\n- **7**: 1986 - 1995\n- **8**: 1996 - 2000\n- **9**: 2001 - 2005\n- **10**: 2006 - 2010\n- **11**: 2011 - 2015\n- **12**: 2016 - 2024\n\nIf the construction year range class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n construction_year: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`construction_year\\` field specifies the construction year of the building.\n\nIf the construction year is unknown, the field is set to \\`null\\`.`,\n example: 1993\n },\n heritage: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heritage\\` field specifies whether the building is under monumental protection.\n\nThe field is set to \\`null\\` if the heritage status is unknown.`,\n example: true\n },\n geo_conductivity_100: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`geo_conductivity_100\\` field specifies the geothermal conductivity in 100 m depth.\n\nThe field is set to \\`null\\` if the geothermal conductivity is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Geothermic Potential in 100 m depth (NRW) <br />\n © Geologischer Dienst (GD) NRW (2024) <br />\n [Datasources / Datenquellen](https://open.nrw/dataset/912ad0a6-5eb4-4df3-a19f-908c33650964)`,\n example: 2\n },\n heat_pump_air_possible: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heat_pump_air_possible\\` field indicates whether an air-source heat pump is a viable option for the building.\n\n- Set to \\`true\\` if an air-source heat pump is feasible.\n- Set to \\`false\\` if an air-source heat pump is not feasible.\n- Set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: true\n },\n heat_pump_maximal_distance_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\nThis field will be deprecated in future versions. Please use \\`heat_pump_maximal_distance_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100\n },\n heat_pump_maximal_distance_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings_5m\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100.35\n },\n heat_pump_minimal_number_possible_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\nThis field will be deprecated in future versions. Please use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Deprecation Warning:**<br /><br />\n\nPlease use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead of this field.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1,\n deprecated: true\n },\n heat_pump_minimal_number_possible_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_5m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_2m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_2m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 2m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_no_distance: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_no_distance\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with no distance to the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_collector_free_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_collector_free_area\\` field specifies the sum of the free area suitable \nfor a collector heat pump on parcels associated to a building.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n `,\n example: 100\n },\n flood_potential: {\n type: ['array', 'null'],\n items: {\n type: 'object',\n properties: {\n min_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n max_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n protection_against_floods: {\n type: ['boolean', 'null']\n }\n }\n },\n minItems: 1,\n description: `\nThe \\`flood_potential\\` field is an array representing different flood risk scenarios for a given \nlocation. The objects in the array can contain the following fields:\n\n- \\`min_reccurence\\`: The minimum expected recurrence interval for flooding, measured in years. \n This field is optional and can be \\`null\\` if the data is unavailable. A lower value indicates more \n frequent flooding.\n \n- \\`max_reccurence\\`: The maximum expected recurrence interval for flooding, also in years. This \n field is optional and can be \\`null\\`. If provided, this value represents the upper bound of the \n flood risk interval. This field allows the specification of a range of recurrence intervals.\n \n- \\`protection_against_floods\\`: A boolean flag indicating whether flood protection measures are in \n place for the area. This field is optional and can be \\`null\\` if the information is not available. \n A value of \\`true\\` means flood defenses are present, while \\`false\\` indicates the absence of such \n measures.\n\nIf this array is set to \\`null\\`, it means that no data regarding flood potential is available for the location.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Flood hazard area (Überflutungsflächen-DE) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2022) <br />\n [Terms of Use / Nutzungsbedingungen](https://www.gesetze-im-internet.de/geonutzv/GeoNutzV.pdf)`,\n example: [\n {\n min_recurrence: 100,\n max_recurrence: null,\n protection_against_floods: true\n },\n {\n min_recurrence: 101,\n max_recurrence: 1000,\n protection_against_floods: false\n }\n ]\n },\n photovoltaic_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`suitable_roof_area\\` field specifies the roof area suited for photovoltaics [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 77\n },\n gross_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`gross_collector_area\\` field specifies the maximal collector area for photovoltaics including module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_collector_area\\` field specifies the maximal collector area for photovoltaics excluding module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics excluding module frames is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n electricity_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`electricity_generation\\` field specifies the maximal electricity generation from photovoltaics of the building per year [kWh/a].\n\nThe field is set to \\`null\\` if the maximal electricity generation per year is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 6401\n },\n nominal_power: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`nominal_power\\` field specifies the nominal power a photovoltaics system could have at this building per year [kWp].\n\nThe field is set to \\`null\\` if the the nominal power is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 7.5\n }\n },\n required: ['suitable_roof_area', 'gross_collector_area', 'net_collector_area', 'electricity_generation', 'nominal_power']\n },\n solarthermal_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_suitable_roof_area\\` field specifies the roof area suited for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 90\n },\n heat_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_heat_generation\\` field specifies the potential solarthermic heat generation on this bulding [kWh/a].\n\nThe field is set to \\`null\\` if the heat generation by solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 25201\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_net_collector_area\\` field specifies the maximal collector area for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/) `,\n example: 25201\n }\n },\n required: ['suitable_roof_area', 'heat_generation', 'net_collector_area']\n },\n matching_addresses: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`matching_addresses\\` field indicates the number of addresses associated with the geometry.\n\nThe field is set to \\`null\\` if no matching addresses are found.`,\n example: 1\n },\n eave_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_weighted\\` field specifies the weighted average height of the eave above ground [meters]. For weighting \nthe \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 11.398919537428867\n },\n eave_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_min\\` field specifies the minimum height of the eave above ground [meters]. This is the minimal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`.\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 5.7899932861328125\n },\n eave_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_max\\` field specifies the maximum height of the eave above ground [meters]. This is the maximal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of \nthe field \\`number_original_geometries\\`.\n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.722991943359375\n },\n ridge_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_weighted\\` field specifies the weighted average height of the ridge above ground [meters]. For \nweighting the \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.619256575276214\n },\n ridge_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_min\\` field specifies the minimum height of the ridge above ground [meters]. This is the minimal \n\\`ridge_above_ground within\\` a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 6.64300537109375\n },\n ridge_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_max\\` field specifies the maximum height of the ridge above ground [meters]. This is the maximal \n\\`ridge_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 16.987991333007812\n },\n number_original_geometries: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`number_original_geometries\\` field specifies the number of original geometries used for weighted calculations.\n\nThe field is set to \\`null\\` if the count is unknown.`,\n example: 3\n },\n roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`roof_area\\` field specifies the total roof area of the building [square meters].\n\nThe field is set to \\`null\\` if the roof area is unknown.`,\n example: 355.37342071533203\n },\n ogc_fid: {\n type: ['string', 'null'],\n description: `\nThe \\`ogc_fid\\` field specifies a unique identifier from the LOD2 dataset.\n\nThe field is set to \\`null\\` if the identifier is unavailable.`,\n example: 'DENW29AL1000FzW2'\n },\n outer_wall_area_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_free\\` field specifies the facade area free of adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 690.5686635568186\n },\n outer_wall_area_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_heated\\` field specifies the facade area shared with heated adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 202.10705297163204\n },\n outer_wall_area_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_non_heated\\` field specifies the facade area shared with non-heated adjacent structures [square meters].\n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 298.6121580931941\n },\n plinth_length_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_free\\` field specifies the length of the building's plinth that is not shared with adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 48.672734987814366\n },\n plinth_length_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_heated\\` field specifies the length of the building's plinth shared with heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 13.16187444425839\n },\n plinth_length_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_non_heated\\` field specifies the length of the building's plinth shared with non-heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 31.994775355440325\n },\n esg: {\n type: 'object',\n properties: {\n overall_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`overall_class\\` field specifies the overall ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the overall ESG rating class is unknown.`,\n example: 1\n },\n overall: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`overall\\` field specifies the overall ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the overall ESG rating is unknown.`,\n example: 'rather_negative'\n },\n overall_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`overall_rating\\` field specifies the overall ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the overall ESG rating score is unknown.`,\n example: 1\n },\n environment_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`environment_class\\` field specifies the environmental ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the environmental ESG rating class is unknown.`,\n example: 1\n },\n environment: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`environment\\` field specifies the environmental ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the environmental ESG rating is unknown.`,\n example: 'rather_positive'\n },\n environment_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`environment_rating\\` field specifies the environmental ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the environmental ESG rating score is unknown.`,\n example: 1\n },\n social_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`social_class\\` field specifies the social ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the social ESG rating class is unknown.`,\n example: 1\n },\n social: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`social\\` field specifies the social ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the social ESG rating is unknown.`,\n example: 'positive'\n },\n social_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`social_rating\\` field specifies the social ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the social ESG rating score is unknown.`,\n example: 1\n },\n governance_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`governance_class\\` field specifies the governance ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the governance ESG rating class is unknown.`,\n example: 1\n },\n governance: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`governance\\` field specifies the governance ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the governance ESG rating is unknown.`,\n example: 'negative'\n },\n governance_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`governance_rating\\` field specifies the governance ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the governance ESG rating score is unknown.`,\n example: 1\n }\n }\n },\n fuelling_types: {\n type: 'object',\n properties: {\n dominant: {\n type: ['string', 'null'],\n enum: ['renewable_chp', 'district_heating', 'liquified_gas', 'gas', 'wood', 'electricity', 'multiple_equal', 'oil', 'coal_coke', 'delivered_heat'],\n description: `\nThe \\`dominant\\` field specifies the dominant fuelling type of the building. This field can have one of the following values:\n\n- **renewable_chp**: Renewable energy and combined heat and power\n- **district_heating**: District heating\n- **liquified_gas**: Liquified gas\n- **gas**: Natural gas\n- **wood**: Wood\n- **electricity**: Electricity\n- **multiple_equal**: Multiple equal types\n- **oil**: Oil\n- **coal_coke**: Coal and coke\n- **delivered_heat**: Delivered heat\n\nThe field is set to \\`null\\` if the dominant fuelling type is unknown.`,\n example: 'renewable_chp'\n },\n number_listings_denominator: {\n type: ['number', 'null'],\n minimum: 1,\n description: `\nThe \\`number_listings_denominator\\` field specifies the number of listings used as denominator for calculating the shares.\n\nThe field is set to \\`null\\` if the number of listings is unknown.`,\n example: 1\n },\n coal_coke_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`coal_coke_share\\` field specifies the share of coal and coke in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n delivered_heat_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`delivered_heat_share\\` field specifies the share of delivered heat in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n district_heating_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`district_heating_share\\` field specifies the share of district heating in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n electricity_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`electricity_share\\` field specifies the share of electricity in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n gas_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`gas_share\\` field specifies the share of natural gas in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n wood_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`wood_share\\` field specifies the share of wood in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n renewable_chp_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`renewable_chp_share\\` field specifies the share of renewable combined heat and power in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n liquified_gas_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`liquified_gas_share\\` field specifies the share of liquified gas in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n oil_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`oil_share\\` field specifies the share of oil in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n }\n }\n },\n location_rating: {\n type: 'object',\n properties: {\n overall: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`overall\\` field specifies the overall location rating of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the overall location rating is unknown.`,\n example: 1\n },\n housing_market: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`housing_market\\` field specifies the housing market rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the housing market rating is unknown.`,\n example: 1\n },\n infrastructure: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`infrastructure\\` field specifies the infrastructure rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the infrastructure rating is unknown.`,\n example: 1\n },\n settlement_structure: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`settlement_structure\\` field specifies the settlement structure rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the settlement structure rating is unknown.`,\n example: 1\n },\n social: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`social\\` field specifies the social rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the social rating is unknown.`,\n example: 1\n },\n stressors: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`stressors\\` field specifies the stressors rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the stressors rating is unknown.`,\n example: 1\n }\n }\n },\n investment_perspective_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`investment_perspective_class\\` field specifies the investment perspective class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the investment perspective class is unknown.`,\n example: 1\n },\n investment_perspective: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`investment_perspective\\` field specifies the investment perspective of the building. This field can have one of the following values:\n\n- **negative**: Negative perspective\n- **rather_negative**: Rather negative perspective\n- **average**: Average perspective\n- **rather_positive**: Rather positive perspective\n- **positive**: Positive perspective\n\nThe field is set to \\`null\\` if the investment perspective is unknown.`,\n example: 'rather_negative'\n },\n modernisation_potential_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`modernisation_potential_class\\` field specifies the modernisation potential class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the modernisation potential class is unknown.`,\n example: 1\n },\n modernisation_potential: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`modernisation_potential\\` field specifies the modernisation potential of the building. This field can have one of the following values:\n\n- **negative**: Negative potential\n- **rather_negative**: Rather negative potential\n- **average**: Average potential\n- **rather_positive**: Rather positive potential\n- **positive**: Positive potential\n\nThe field is set to \\`null\\` if the modernisation potential is unknown.`,\n example: 'positive'\n },\n milieus_dominant_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 6,\n description: `\nThe \\`milieus_dominant_class\\` field specifies the dominant milieu class of the building's location. This field can have one of the following values:\n\n- **1**: Communicative\n- **2**: Demanding\n- **3**: Domestic\n- **4**: Conventional\n- **5**: Modest\n- **6**: Functional\n\nThe field is set to \\`null\\` if the dominant milieu class is unknown.`,\n example: 1\n },\n milieus_dominant: {\n type: ['string', 'null'],\n enum: ['communicative', 'demanding', 'domestic', 'conventional', 'modest', 'functional'],\n description: `\nThe \\`milieus_dominant\\` field specifies the dominant milieu of the building's location. This field can have one of the following values:\n\n- **communicative**: Communicative milieu\n- **demanding**: Demanding milieu\n- **domestic**: Domestic milieu\n- **conventional**: Conventional milieu\n- **modest**: Modest milieu\n- **functional**: Functional milieu\n\nThe field is set to \\`null\\` if the dominant milieu is unknown.`,\n example: 'domestic'\n }\n },\n required: ['street', 'city', 'street_number', 'postcode', 'roof_type', 'type', 'type_class', 'water_protected', 'heated', 'heat_demand', 'levels', 'household_count', 'net_area', 'footprint_area', 'characteristics', 'characteristics_class', 'development_layout', 'development_layout_class', 'construction_year_range', 'construction_year_range_class', 'construction_year', 'heritage', 'geo_conductivity_100', 'heat_pump_air_possible', 'heat_pump_maximal_distance_drillings', 'heat_pump_maximal_distance_drillings_5m', 'heat_pump_minimal_number_possible_drillings', 'heat_pump_minimal_number_possible_drillings_5m', 'heat_pump_minimal_number_possible_drillings_2m', 'heat_pump_minimal_number_possible_drillings_no_distance', 'heat_pump_collector_free_area', 'flood_potential', 'photovoltaic_potential', 'solarthermal_potential', 'matching_addresses', 'eave_above_ground_weighted', 'eave_above_ground_min', 'eave_above_ground_max', 'ridge_above_ground_weighted', 'ridge_above_ground_min', 'ridge_above_ground_max', 'number_original_geometries', 'roof_area', 'ogc_fid', 'outer_wall_area_free', 'outer_wall_area_shared_heated', 'outer_wall_area_shared_non_heated', 'plinth_length_free', 'plinth_length_shared_heated', 'plinth_length_shared_non_heated', 'esg', 'fuelling_types', 'location_rating']\n} as const;","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { client, type Options } from '@hey-api/client-fetch';\nimport type { GetAddressLookupV2Data, GetAddressLookupV2Error, GetAddressLookupV2Response, GetCoordinateLookupV2Data, GetCoordinateLookupV2Error, GetCoordinateLookupV2Response, PostCoordinateBatchLookupV2Data, PostCoordinateBatchLookupV2Error, PostCoordinateBatchLookupV2Response, GetAddressLookupV3Data, GetAddressLookupV3Error, GetAddressLookupV3Response, GetCoordinateLookupV3Data, GetCoordinateLookupV3Error, GetCoordinateLookupV3Response, PostCoordinateBatchLookupV3Data, PostCoordinateBatchLookupV3Error, PostCoordinateBatchLookupV3Response } from './types.gen';\n\n/**\n * Retrieve building data based on a given address\n *\n * This endpoint allows users to retrieve detailed building data by providing an address.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Permissions\n * - `api.lookup.address.read`: This permission grants the ability\n * to read and retrieve building data based on a provided address. It ensures that the\n * user has access rights to query the address-based lookup endpoint.\n *\n * ### Address-based Lookup\n * This endpoint is designed to retrieve building data based on a given address, focusing\n * solely on exact matches. If the address is not found, the endpoint will return an empty\n * response. For use cases involving un-geocoded addresses, we recommend using our\n * coordinate-based lookup endpoint.\n *\n * ### Response Structure\n * - **GeoJSON Type**: In v2, the response format has been simplified to a `Feature` object, representing a single feature, rather than the `FeatureCollection` type returned by v1. This change reflects the endpoint's focus on returning a single or no result based on the query.\n */\nexport const getAddressLookupV2 = (options: Options<GetAddressLookupV2Data>) => { return (options?.client ?? client).get<GetAddressLookupV2Response, GetAddressLookupV2Error>({\n ...options,\n url: '/v2/addressLookup'\n}); };\n\n/**\n * Retrieve building data based on a given coordinate\n *\n * This endpoint allows users to retrieve detailed building data by providing a geo coordinate.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Key Changes in v2\n * In v2, the response format has been optimized to return a `Feature` rather than a `FeatureCollection`. This adjustment reflects the endpoint’s focus on retrieving a single result or no result, rather than a collection, simplifying client-side handling.\n *\n * ### Permissions\n * - `api.lookup.coordinate.read`: This permission grants the ability to\n * read and retrieve building data based on a provided coordinate. It ensures that the user has\n * access rights to query the coordinate-based lookup endpoint.\n *\n * ### Response Structure\n * - **GeoJSON Type**: The response in v2 is now a single `Feature` object representing one building result or an empty response if no match is found. This differs from v1, which returned a `FeatureCollection` object.\n */\nexport const getCoordinateLookupV2 = (options?: Options<GetCoordinateLookupV2Data>) => { return (options?.client ?? client).get<GetCoordinateLookupV2Response, GetCoordinateLookupV2Error>({\n ...options,\n url: '/v2/coordinateLookup'\n}); };\n\n/**\n * Retrieve building data for a batch of coordinates\n *\n * This endpoint allows users to retrieve detailed building data by providing a batch of\n * geo-coordinates. The response is a GeoJSON object containing a FeatureCollection, where each\n * feature represents a building and includes additional properties for tracking back to the\n * requested coordinates.\n *\n * ### Key Improvements in v2\n *\n * In v2, each coordinate can be assigned a unique reference ID in the request body, allowing for\n * more precise handling of results. The response includes a metadata section that provides:\n * - The total number of coordinates processed.\n * - A count of found and not-found coordinates.\n * - Lists of references for found and not-found coordinates, making it easier to manage unmatched\n * entries without requiring complex client-side matching logic.\n *\n * ### Request Body Format\n * The request body is structured as an object where each key is a unique reference ID for a\n * coordinate:\n *\n * ```json\n * {\n * \"reference_id1\": { \"lat\": 51.252258, \"lng\": 7.13107 },\n * \"reference_id2\": { \"lat\": 51.29342, \"lng\": 7.21936 },\n * \"reference_id3\": { \"lat\": 51.18941, \"lng\": 7.14259 }\n * }\n * ```\n *\n * ### Response Structure\n * - **GeoJSON Type**: The response includes a FeatureCollection containing matched features.\n * - **Metadata**:\n * - `counts`: Provides total, found, and not-found counts for the requested coordinates.\n * - `references`: Lists reference IDs of matched (`found`) and unmatched (`not_found`)\n * coordinates.\n *\n * #### Example Response:\n * ```json\n * {\n * \"type\": \"FeatureCollection\",\n * \"metadata\": {\n * \"counts\": {\n * \"total\": 3,\n * \"found\": 2,\n * \"not_found\": 1\n * },\n * \"references\": {\n * \"found\": [\"reference_id1\", \"reference_id2\"],\n * \"not_found\": [\"reference_id3\"]\n * }\n * },\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"geometry\": { * geometry details * },\n * \"properties\": {\n * \"ref\": \"reference_id1\",\n * ...\n * }\n * },\n * ...\n * ]\n * }\n * ```\n *\n * ### Handling Non-Matching Coordinates\n *\n * For unmatched coordinates, v2 includes metadata listing these coordinates, enabling clients to\n * easily filter out or handle non-matching entries. This improves upon v1, where clients had to\n * manage complex matching logic without clear references for non-matching coordinates.\n *\n * ### Limitations\n * This endpoint supports up to 500 coordinates per request. If more are needed, split into multiple\n * requests.\n *\n * ### Permissions\n * - `api.batch.lookup.coordinate.read`: Grants the ability to access this endpoint.\n */\nexport const postCoordinateBatchLookupV2 = (options: Options<PostCoordinateBatchLookupV2Data>) => { return (options?.client ?? client).post<PostCoordinateBatchLookupV2Response, PostCoordinateBatchLookupV2Error>({\n ...options,\n url: '/v2/coordinateBatchLookup'\n}); };\n\n/**\n * Retrieve building data based on a given address\n *\n * This endpoint allows users to retrieve detailed building data by providing an address.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Permissions\n * - `api.lookup.address.read`: This permission grants the ability\n * to read and retrieve building data based on a provided address. It ensures that the\n * user has access rights to query the address-based lookup endpoint.\n *\n * ### Address-based Lookup\n * This endpoint is designed to retrieve building data based on a given address, focusing\n * solely on exact matches. If the address is not found, the endpoint will return an empty\n * response. For use cases involving un-geocoded addresses, we recommend using our\n * coordinate-based lookup endpoint.\n *\n * ### Key Changes in v3\n * In v3, the response format has been converted from a first-match `Feature` object, to an\n * all matches `FeatureCollection` type. This change reflects the endpoints focus on retrieving\n * all matches for a given address, e.g. when different addresses are on the same geometry. Also\n * we have introduced a new optional query parameter `resolution`, which allows to specify the\n * resolution to be precise on address or geometry level. If no resolution is provided, the\n * geometry precision will be used.\n *\n * ### Response Structure\n * - **GeoJSON Type**: In v3, the response format has been converted from a first-match `Feature` object, to an all matches `FeatureCollection` type.\n */\nexport const getAddressLookupV3 = (options: Options<GetAddressLookupV3Data>) => { return (options?.client ?? client).get<GetAddressLookupV3Response, GetAddressLookupV3Error>({\n ...options,\n url: '/v3/addressLookup'\n}); };\n\n/**\n * Retrieve building data based on a given coordinate\n *\n * This endpoint allows users to retrieve detailed building data by providing a geo coordinate.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Key Changes in v3\n * In v3, the response format has been optimized to return a `FeatureCollection` object. This\n * adjustment reflects the endpoints focus on retrieving all matches for a given coordinate,\n * e.g. when different coordinates are on the same geometry.\n *\n * ### Permissions\n * - `api.lookup.coordinate.read`: This permission grants the ability to\n * read and retrieve building data based on a provided coordinate. It ensures that the user has\n * access rights to query the coordinate-based lookup endpoint.\n *\n * ### Key Changes in v3\n * In v3, the response format has been converted from a first-match `Feature` object, to an\n * all matches `FeatureCollection` type. This change reflects the endpoints focus on retrieving\n * all matches for a given coordinate, e.g. when different coordinates are on the same geometry. Also\n * we have introduced a new optional query parameter `resolution`, which allows to specify the\n * resolution to be precise on coordinate or geometry level. If no resolution is provided, the\n * geometry precision will be used.\n *\n * ### Response Structure\n * - **GeoJSON Type**: In v3, the response format has been converted from a first-match `Feature` object, to an all matches `FeatureCollection` type.\n */\nexport const getCoordinateLookupV3 = (options?: Options<GetCoordinateLookupV3Data>) => { return (options?.client ?? client).get<GetCoordinateLookupV3Response, GetCoordinateLookupV3Error>({\n ...options,\n url: '/v3/coordinateLookup'\n}); };\n\n/**\n * Retrieve building data for a batch of coordinates\n *\n * This endpoint allows users to retrieve detailed building data by providing a batch of\n * geo-coordinates. The response is a GeoJSON object containing a FeatureCollection, where each\n * feature represents a building and includes additional properties for tracking back to the\n * requested coordinates.\n *\n * ### Request Body Format\n * The request body is structured as an object where each key is a unique reference ID for a\n * coordinate:\n *\n * ```json\n * {\n * \"reference_id1\": { \"lat\": 51.252258, \"lng\": 7.13107 },\n * \"reference_id2\": { \"lat\": 51.29342, \"lng\": 7.21936 },\n * \"reference_id3\": { \"lat\": 51.18941, \"lng\": 7.14259 }\n * }\n * ```\n *\n * ### Response Structure\n * - **GeoJSON Type**: The response includes a FeatureCollection containing matched features.\n * - **Metadata**:\n * - `counts`: Provides total, found, and not-found counts for the requested coordinates.\n * - `references`: Lists reference IDs of matched (`found`) and unmatched (`not_found`)\n * coordinates.\n *\n * #### Example Response:\n * ```json\n * {\n * \"type\": \"FeatureCollection\",\n * \"metadata\": {\n * \"counts\": {\n * \"total\": 3,\n * \"found\": 2,\n * \"not_found\": 1\n * },\n * \"references\": {\n * \"found\": [\"reference_id1\", \"reference_id2\"],\n * \"not_found\": [\"reference_id3\"]\n * }\n * },\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"geometry\": { * geometry details * },\n * \"properties\": {\n * \"ref\": \"reference_id1\",\n * ...\n * }\n * },\n * ...\n * ]\n * }\n * ```\n *\n * ### Handling Non-Matching Coordinates\n *\n * For unmatched coordinates, v2 includes metadata listing these coordinates, enabling clients to\n * easily filter out or handle non-matching entries. This improves upon v1, where clients had to\n * manage complex matching logic without clear references for non-matching coordinates.\n *\n * ### Limitations\n * This endpoint supports up to 500 coordinates per request. If more are needed, split into multiple\n * requests.\n *\n * ### Permissions\n * - `api.batch.lookup.coordinate.read`: Grants the ability to access this endpoint.\n */\nexport const postCoordinateBatchLookupV3 = (options: Options<PostCoordinateBatchLookupV3Data>) => { return (options?.client ?? client).post<PostCoordinateBatchLookupV3Response, PostCoordinateBatchLookupV3Error>({\n ...options,\n url: '/v3/coordinateBatchLookup'\n}); };","// This file is auto-generated by @hey-api/openapi-ts\nexport * from './schemas.gen';\nexport * from './services.gen';\nexport * from './types.gen';\nexport {createClient} from '@hey-api/client-fetch';\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/schemas.gen.ts","../src/services.gen.ts","../src/index.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nexport const $LookupPropertiesV2 = {\n type: 'object',\n properties: {\n street: {\n type: ['string', 'null'],\n description: `\n**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Friedrich Ebert Straße'\n },\n city: {\n type: ['string', 'null'],\n description: `\nThe \\`city\\` field specifies the city name of a building.\n\nThe field is set to \\`null\\` if the city is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Wuppertal'\n },\n street_number: {\n type: ['string', 'null'],\n description: `\nThe \\`street_number\\` field specifies the street number name of a building.\n\nThe field is set to \\`null\\` if the street number is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n postcode: {\n type: ['string', 'null'],\n description: `\nThe \\`postcode\\` field specifies the postcode of a building.\n\nThe field is set to \\`null\\` if the postcode is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n roof_type: {\n type: ['string', 'null'],\n enum: ['flat', 'pitched', 'mixed'],\n description: `\nThe \\`roof_type\\` field specifies the type of roof of a building. This field can have one of the following values:\n\n- **flat**: Flat roof\n- **pitched**: Pitched roof\n- **mixed**: Mixed types of roofs\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 'flat'\n },\n type: {\n type: ['string', 'null'],\n enum: ['single_family', 'multi_family', 'non_residential', 'mixed_use'],\n description: `\nThe \\`type\\` field specifies the type of building. This field can have one of the following values:\n\n- **single_family**: Single-family house\n- **multi_family**: Multi-family house\n- **non_residential**: Non-residential building\n- **mixed_use**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'single_family'\n },\n type_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 4,\n description: `\nThe \\`type_class\\` field specifies the class of the building type. This field can have one of the following values:\n\n- **1**: Single-family house\n- **2**: Multi-family house\n- **3**: Non-residential building\n- **4**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n water_protected: {\n type: ['boolean', 'null'],\n description: `\nThe \\`water_protected\\` field specifies whether the building is within a water protection area.\n\nIf the field is set to \\`null\\`, no water protection area could be assigned.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Water Protection Areas (Germany ex. Rheinland-Pfalz, Baden-Würtemberg, NRW) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2024) <br />\n [Datasources / Datenquellen](https://geoportal.bafg.de/inspire/download/AM/waterProtectionArea/datasetfeed.xml)\n- Water Protection Areas (Rheinland-Pfalz) <br />\n © Landesamt für Umwelt (LfU) (2024) <br />\n [Datasources / Datenquellen](https://geodienste-wasser.rlp-umwelt.de/geonetwork/srv/ger/catalog.search;jsessionid=7E55E5AFBC8BF10DBE2ABEE3FA110723#/metadata/17a6a735-8bd0-4258-ae32-883c8a8f4af5)\n- Water Protection Areas (Baden-Würtemberg) <br />\n © Landesanstalt für Umwelt Baden-Würtemberg (LUBW) (2024) <br />\n [Datasources / Datenquellen](https://rips-metadaten.lubw.de/trefferanzeige?docuuid=ec2d7bcc-1f56-4596-bbc0-459ddb6a1a82)\n- Water Protection Areas (Nordrhein-Westfalen) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW <br />\n Fachbereich 56: Wasserwirtschaftlicher Datenverbund, ELWAS-Geschäftsstelle, 2024`,\n example: true\n },\n heated: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heated\\` field specifies whether the building is heated or not.\n\nThe field is set to \\`null\\` if the heating status is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Gebäudefunktionsklasse (GFK) (Manual Assignment of the Heating Status) <br />\n © Geodateninfrastruktur Deutschland (2024) <br />\n [Datasources / Datenquellen](https://repository.gdi-de.org/schemas/adv/citygml/Codelisten/BuildingFunctionTypeAdV.xml)`,\n example: true\n },\n heat_demand: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_demand\\` field specifies the heat demand of the building in [kWh/m²a].\n\nThe field is set to \\`null\\` if the heat demand is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Kommunale Wärmeplanung NRW (KWP-NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024)<br />\n [Datasources / Datenquellen]https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/kwp/)`,\n example: 127.42\n },\n height_category: {\n type: ['string', 'null'],\n enum: ['<= 5m', '<= 7.5m', '<= 10m', '<= 12.5m', '<= 15m', '> 15m'],\n description: `\nThe \\`height_category\\` field specifies the height category of the building. The height category is a\nnumber between 1 and 6, where 1 is the lowest and 6 is the highest category.\n\n### Classifications\n\n- **1**: <= 5m\n- **2**: <= 7.5m\n- **3**: <= 10m\n- **4**: <= 12.5m\n- **5**: <= 15m\n- **6**: > 15m\n\nIf the height category is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be removed in future API versions. It is no longer actively supported and may be omitted from upcoming endpoints. We recommend updating your implementation to use the latest supported fields.\n `,\n example: '<= 5m',\n deprecated: true\n },\n height_category_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 6,\n description: `\nThe \\`height_category_class\\` field specifies the height category of the building. The height category is a\nnumber between 1 and 6, where 1 is the lowest and 6 is the highest category.\n\n### Classifications\n\n- **1**: <= 5m\n- **2**: <= 7.5m\n- **3**: <= 10m\n- **4**: <= 12.5m\n- **5**: <= 15m\n- **6**: > 15m\n\nThe field is set to \\`null\\` if the number of height category is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be no longer supported in future datasets.`,\n example: 1,\n deprecated: true\n },\n levels: {\n type: ['number', 'null'],\n minimum: 1,\n description: `\nThe \\`levels\\` field specifies the number of levels in the building.\n\nThe field is set to \\`null\\` if the number of levels is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n- Additionally, this field is enhanced using a proprietary machine learning model developed to estimate levels \n where explicit data is unavailable.`,\n example: 4\n },\n household_count: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`household_count\\` field specifies the number of households in the building.\n\nThe field is set to \\`null\\` if the number of households is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 3\n },\n net_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_area\\` field specifies the net area of the building in m².\n\nThe field is set to \\`null\\` if the net area is unknown.\n\nThe \\`net_area\\` was modeled according to the Raumwärmebedarfsmodell NRW as: \n\\`footprint_area\\` * \\`levels\\` * factors between 0.7 (inhabited) and 0.8 (non-inhabited)\nthe latter was done to concider e.g., inner wall area or staircases.`,\n example: 127.42\n },\n footprint_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`footprint_area\\` field specifies the footprint area of the building in m².\n\nThe field is set to \\`null\\` if the footprint area is unknown.`,\n example: 127.42\n },\n usage: {\n type: ['string', 'null'],\n enum: ['residential', 'non_residential', 'mixed_use'],\n description: `\nThe \\`usage\\` field specifies the usage of the building. This field can have one of the following values:\n\n- **residential**: Residential building\n- **non_residential**: Non-residential building\n- **mixed_use**: Mixed-use building\n\nIf the usage is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be removed in future API versions. It is no longer actively supported and may be omitted from upcoming endpoints. We recommend updating your implementation to use the latest supported fields.`,\n example: 'residential',\n deprecated: true\n },\n usage_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 3,\n description: `\nThe \\`usage_class\\` field specifies the usage of the building. This field can have one of the following values:\n\n- **1**: Residential building\n- **2**: Non-residential building\n- **3**: Mixed-use building\n\nIf the usage is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n\n<br /><br />**Warning:**<br /><br />\n\nThis field is deprecated and will be removed in future API versions. It is no longer actively supported and may be omitted from upcoming endpoints. We recommend updating your implementation to use the latest supported fields.`,\n example: 1,\n deprecated: true\n },\n characteristics: {\n type: ['string', 'null'],\n enum: ['single_two_family', 'row_semi_detached', 'multi_family', 'residential_block', 'high_rise', 'terrace', 'farmhouse', 'office_other', 'factory_warehouse'],\n description: `\nThe \\`characteristics\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **single_two_family**: Single- or two-family house\n- **row_semi_detached**: Row or semi-detached house\n- **multi_family**: Multi-family house\n- **residential_block**: Residential block\n- **high_rise**: High-rise residential building\n- **terrace**: Terrace house\n- **farmhouse**: Farmhouse\n- **office_other**: Office or other building\n- **factory_warehouse**: Factory or warehouse building\n\nIf the characteristics is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'residential_block'\n },\n characteristics_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 9,\n description: `\nThe \\`characteristics_class\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **1**: Single- or two-family house\n- **2**: Row or semi-detached house\n- **3**: Multi-family house\n- **4**: Residential block\n- **5**: High-rise residential building\n- **6**: Terrace house\n- **7**: Farmhouse\n- **8**: Office or other building\n- **9**: Factory or warehouse building\n\nIf the characteristics_class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n development_layout: {\n type: ['string', 'null'],\n enum: ['non_detached', 'semi_detached', 'detached'],\n description: `\nThe \\`development_layout\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **non_detached**: Non-detached building\n- **semi_detached**: Semi-detached building\n- **detached**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**detached** = intersection_length / outline_length < 0.085\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**non_detached** = for all other buildings`,\n example: 'non_detached'\n },\n development_layout_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 3,\n description: `\nThe \\`development_layout_class\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **1**: Non-detached building\n- **2**: Semi-detached building\n- **3**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout_class\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**1** = intersection_length / outline_length < 0.085\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**3** = for all other buildings`,\n example: 1\n },\n construction_year_range: {\n type: ['array', 'null'],\n prefixItems: [\n {\n type: ['number', 'null']\n },\n {\n type: 'number'\n }\n ],\n description: `\nThe \\`construction_year_range\\` field specifies the approximate construction year of the building. The field is a tuple with two\nvalues: the lower and upper bound of the construction year and can have one of the following value:\n\n- **[*null*, 1899]**: Construction year is somewhere up to 1899\n- **[1900, 1945]**\n- **[1946, 1960]**\n- **[1961, 1970]**\n- **[1971, 1980]**\n- **[1981, 1985]**\n- **[1986, 1995]**\n- **[1996, 2000]**\n- **[2001, 2005]**\n- **[2006, 2010]**\n- **[2011, 2015]**\n- **[2016, 2024]**\n\nIf the construction year class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: [1990, 1995]\n },\n construction_year_range_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 12,\n description: `\nThe \\`construction_year_range_class\\` field specifies the approximate construction year of the building and can have one of the following values: \n\n- **1**: < 1899\n- **2**: 1900 - 1945\n- **3**: 1946 - 1960\n- **4**: 1961 - 1970\n- **5**: 1971 - 1980\n- **6**: 1981 - 1985\n- **7**: 1986 - 1995\n- **8**: 1996 - 2000\n- **9**: 2001 - 2005\n- **10**: 2006 - 2010\n- **11**: 2011 - 2015\n- **12**: 2016 - 2024\n\nIf the construction year range class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n construction_year: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`construction_year\\` field specifies the construction year of the building.\n\nIf the construction year is unknown, the field is set to \\`null\\`.`,\n example: 1993\n },\n heritage: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heritage\\` field specifies whether the building is under monumental protection.\n\nThe field is set to \\`null\\` if the heritage status is unknown.`,\n example: true\n },\n geo_conductivity_100: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`geo_conductivity_100\\` field specifies the geothermal conductivity in 100 m depth.\n\nThe field is set to \\`null\\` if the geothermal conductivity is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Geothermic Potential in 100 m depth (NRW) <br />\n © Geologischer Dienst (GD) NRW (2024) <br />\n [Datasources / Datenquellen](https://open.nrw/dataset/912ad0a6-5eb4-4df3-a19f-908c33650964)`,\n example: 2\n },\n heat_pump_air_possible: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heat_pump_air_possible\\` field indicates whether an air-source heat pump is a viable option for the building.\n\n- Set to \\`true\\` if an air-source heat pump is feasible.\n- Set to \\`false\\` if an air-source heat pump is not feasible.\n- Set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: true\n },\n heat_pump_maximal_distance_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\nThis field will be deprecated in future versions. Please use \\`heat_pump_maximal_distance_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100\n },\n heat_pump_maximal_distance_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings_5m\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100.35\n },\n heat_pump_minimal_number_possible_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\nThis field will be deprecated in future versions. Please use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Deprecation Warning:**<br /><br />\n\nPlease use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead of this field.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1,\n deprecated: true\n },\n heat_pump_minimal_number_possible_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_5m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_2m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_2m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 2m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_no_distance: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_no_distance\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with no distance to the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_collector_free_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_collector_free_area\\` field specifies the sum of the free area suitable \nfor a collector heat pump on parcels associated to a building.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n `,\n example: 100\n },\n flood_potential: {\n type: ['array', 'null'],\n items: {\n type: 'object',\n properties: {\n min_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n max_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n protection_against_floods: {\n type: ['boolean', 'null']\n }\n }\n },\n minItems: 1,\n description: `\nThe \\`flood_potential\\` field is an array representing different flood risk scenarios for a given \nlocation. The objects in the array can contain the following fields:\n\n- \\`min_reccurence\\`: The minimum expected recurrence interval for flooding, measured in years. \n This field is optional and can be \\`null\\` if the data is unavailable. A lower value indicates more \n frequent flooding.\n \n- \\`max_reccurence\\`: The maximum expected recurrence interval for flooding, also in years. This \n field is optional and can be \\`null\\`. If provided, this value represents the upper bound of the \n flood risk interval. This field allows the specification of a range of recurrence intervals.\n \n- \\`protection_against_floods\\`: A boolean flag indicating whether flood protection measures are in \n place for the area. This field is optional and can be \\`null\\` if the information is not available. \n A value of \\`true\\` means flood defenses are present, while \\`false\\` indicates the absence of such \n measures.\n\nIf this array is set to \\`null\\`, it means that no data regarding flood potential is available for the location.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Flood hazard area (Überflutungsflächen-DE) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2022) <br />\n [Terms of Use / Nutzungsbedingungen](https://www.gesetze-im-internet.de/geonutzv/GeoNutzV.pdf)`,\n example: [\n {\n min_recurrence: 100,\n max_recurrence: null,\n protection_against_floods: true\n },\n {\n min_recurrence: 101,\n max_recurrence: 1000,\n protection_against_floods: false\n }\n ]\n },\n photovoltaic_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`suitable_roof_area\\` field specifies the roof area suited for photovoltaics [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 77\n },\n gross_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`gross_collector_area\\` field specifies the maximal collector area for photovoltaics including module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_collector_area\\` field specifies the maximal collector area for photovoltaics excluding module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics excluding module frames is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n electricity_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`electricity_generation\\` field specifies the maximal electricity generation from photovoltaics of the building per year [kWh/a].\n\nThe field is set to \\`null\\` if the maximal electricity generation per year is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 6401\n },\n nominal_power: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`nominal_power\\` field specifies the nominal power a photovoltaics system could have at this building per year [kWp].\n\nThe field is set to \\`null\\` if the the nominal power is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 7.5\n }\n },\n required: ['suitable_roof_area', 'gross_collector_area', 'net_collector_area', 'electricity_generation', 'nominal_power']\n },\n solarthermal_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_suitable_roof_area\\` field specifies the roof area suited for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 90\n },\n heat_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_heat_generation\\` field specifies the potential solarthermic heat generation on this bulding [kWh/a].\n\nThe field is set to \\`null\\` if the heat generation by solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 25201\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_net_collector_area\\` field specifies the maximal collector area for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/) `,\n example: 25201\n }\n },\n required: ['suitable_roof_area', 'heat_generation', 'net_collector_area']\n },\n matching_addresses: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`matching_addresses\\` field indicates the number of addresses associated with the geometry.\n\nThe field is set to \\`null\\` if no matching addresses are found.`,\n example: 1\n },\n eave_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_weighted\\` field specifies the weighted average height of the eave above ground [meters]. For weighting \nthe \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 11.398919537428867\n },\n eave_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_min\\` field specifies the minimum height of the eave above ground [meters]. This is the minimal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`.\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 5.7899932861328125\n },\n eave_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_max\\` field specifies the maximum height of the eave above ground [meters]. This is the maximal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of \nthe field \\`number_original_geometries\\`.\n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.722991943359375\n },\n ridge_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_weighted\\` field specifies the weighted average height of the ridge above ground [meters]. For \nweighting the \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.619256575276214\n },\n ridge_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_min\\` field specifies the minimum height of the ridge above ground [meters]. This is the minimal \n\\`ridge_above_ground within\\` a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 6.64300537109375\n },\n ridge_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_max\\` field specifies the maximum height of the ridge above ground [meters]. This is the maximal \n\\`ridge_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 16.987991333007812\n },\n number_original_geometries: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`number_original_geometries\\` field specifies the number of original geometries used for weighted calculations.\n\nThe field is set to \\`null\\` if the count is unknown.`,\n example: 3\n },\n roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`roof_area\\` field specifies the total roof area of the building [square meters].\n\nThe field is set to \\`null\\` if the roof area is unknown.`,\n example: 355.37342071533203\n },\n ogc_fid: {\n type: ['string', 'null'],\n description: `\nThe \\`ogc_fid\\` field specifies a unique identifier from the LOD2 dataset.\n\nThe field is set to \\`null\\` if the identifier is unavailable.`,\n example: 'DENW29AL1000FzW2'\n },\n outer_wall_area_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_free\\` field specifies the facade area free of adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 690.5686635568186\n },\n outer_wall_area_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_heated\\` field specifies the facade area shared with heated adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 202.10705297163204\n },\n outer_wall_area_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_non_heated\\` field specifies the facade area shared with non-heated adjacent structures [square meters].\n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 298.6121580931941\n },\n plinth_length_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_free\\` field specifies the length of the building's plinth that is not shared with adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 48.672734987814366\n },\n plinth_length_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_heated\\` field specifies the length of the building's plinth shared with heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 13.16187444425839\n },\n plinth_length_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_non_heated\\` field specifies the length of the building's plinth shared with non-heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 31.994775355440325\n }\n },\n required: ['street', 'city', 'street_number', 'postcode', 'roof_type', 'type', 'type_class', 'water_protected', 'heated', 'heat_demand', 'height_category', 'height_category_class', 'levels', 'household_count', 'net_area', 'footprint_area', 'usage', 'usage_class', 'characteristics', 'characteristics_class', 'development_layout', 'development_layout_class', 'construction_year_range', 'construction_year_range_class', 'construction_year', 'heritage', 'geo_conductivity_100', 'heat_pump_air_possible', 'heat_pump_maximal_distance_drillings', 'heat_pump_maximal_distance_drillings_5m', 'heat_pump_minimal_number_possible_drillings', 'heat_pump_minimal_number_possible_drillings_5m', 'heat_pump_minimal_number_possible_drillings_2m', 'heat_pump_minimal_number_possible_drillings_no_distance', 'heat_pump_collector_free_area', 'flood_potential', 'photovoltaic_potential', 'solarthermal_potential', 'matching_addresses', 'eave_above_ground_weighted', 'eave_above_ground_min', 'eave_above_ground_max', 'ridge_above_ground_weighted', 'ridge_above_ground_min', 'ridge_above_ground_max', 'number_original_geometries', 'roof_area', 'ogc_fid', 'outer_wall_area_free', 'outer_wall_area_shared_heated', 'outer_wall_area_shared_non_heated', 'plinth_length_free', 'plinth_length_shared_heated', 'plinth_length_shared_non_heated']\n} as const;\n\nexport const $LookupPropertiesV3 = {\n type: 'object',\n properties: {\n street: {\n type: ['string', 'null'],\n description: `\n**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Friedrich Ebert Straße'\n },\n city: {\n type: ['string', 'null'],\n description: `\nThe \\`city\\` field specifies the city name of a building.\n\nThe field is set to \\`null\\` if the city is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'Wuppertal'\n },\n street_number: {\n type: ['string', 'null'],\n description: `\nThe \\`street_number\\` field specifies the street number name of a building.\n\nThe field is set to \\`null\\` if the street number is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n postcode: {\n type: ['string', 'null'],\n description: `\nThe \\`postcode\\` field specifies the postcode of a building.\n\nThe field is set to \\`null\\` if the postcode is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: '107'\n },\n roof_type: {\n type: ['string', 'null'],\n enum: ['flat', 'pitched', 'mixed'],\n description: `\nThe \\`roof_type\\` field specifies the type of roof of a building. This field can have one of the following values:\n\n- **flat**: Flat roof\n- **pitched**: Pitched roof\n- **mixed**: Mixed types of roofs\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 'flat'\n },\n type: {\n type: ['string', 'null'],\n enum: ['single_family', 'multi_family', 'non_residential', 'mixed_use'],\n description: `\nThe \\`type\\` field specifies the type of building. This field can have one of the following values:\n\n- **single_family**: Single-family house\n- **multi_family**: Multi-family house\n- **non_residential**: Non-residential building\n- **mixed_use**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'single_family'\n },\n type_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 4,\n description: `\nThe \\`type_class\\` field specifies the class of the building type. This field can have one of the following values:\n\n- **1**: Single-family house\n- **2**: Multi-family house\n- **3**: Non-residential building\n- **4**: Mixed-use building\n\nThe field is set to \\`null\\` if the building type is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n water_protected: {\n type: ['boolean', 'null'],\n description: `\nThe \\`water_protected\\` field specifies whether the building is within a water protection area.\n\nIf the field is set to \\`null\\`, no water protection area could be assigned.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Water Protection Areas (Germany ex. Rheinland-Pfalz, Baden-Würtemberg, NRW) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2024) <br />\n [Datasources / Datenquellen](https://geoportal.bafg.de/inspire/download/AM/waterProtectionArea/datasetfeed.xml)\n- Water Protection Areas (Rheinland-Pfalz) <br />\n © Landesamt für Umwelt (LfU) (2024) <br />\n [Datasources / Datenquellen](https://geodienste-wasser.rlp-umwelt.de/geonetwork/srv/ger/catalog.search;jsessionid=7E55E5AFBC8BF10DBE2ABEE3FA110723#/metadata/17a6a735-8bd0-4258-ae32-883c8a8f4af5)\n- Water Protection Areas (Baden-Würtemberg) <br />\n © Landesanstalt für Umwelt Baden-Würtemberg (LUBW) (2024) <br />\n [Datasources / Datenquellen](https://rips-metadaten.lubw.de/trefferanzeige?docuuid=ec2d7bcc-1f56-4596-bbc0-459ddb6a1a82)\n- Water Protection Areas (Nordrhein-Westfalen) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW <br />\n Fachbereich 56: Wasserwirtschaftlicher Datenverbund, ELWAS-Geschäftsstelle, 2024`,\n example: true\n },\n heated: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heated\\` field specifies whether the building is heated or not.\n\nThe field is set to \\`null\\` if the heating status is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Gebäudefunktionsklasse (GFK) (Manual Assignment of the Heating Status) <br />\n © Geodateninfrastruktur Deutschland (2024) <br />\n [Datasources / Datenquellen](https://repository.gdi-de.org/schemas/adv/citygml/Codelisten/BuildingFunctionTypeAdV.xml)`,\n example: true\n },\n heat_demand: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_demand\\` field specifies the heat demand of the building in [kWh/m²a].\n\nThe field is set to \\`null\\` if the heat demand is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Kommunale Wärmeplanung NRW (KWP-NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024)<br />\n [Datasources / Datenquellen]https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/kwp/)`,\n example: 127.42\n },\n levels: {\n type: ['number', 'null'],\n minimum: 1,\n description: `\nThe \\`levels\\` field specifies the number of levels in the building.\n\nThe field is set to \\`null\\` if the number of levels is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)\n- Additionally, this field is enhanced using a proprietary machine learning model developed to estimate levels \n where explicit data is unavailable.`,\n example: 4\n },\n household_count: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`household_count\\` field specifies the number of households in the building.\n\nThe field is set to \\`null\\` if the number of households is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 3\n },\n net_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_area\\` field specifies the net area of the building in m².\n\nThe field is set to \\`null\\` if the net area is unknown.\n\nThe \\`net_area\\` was modeled according to the Raumwärmebedarfsmodell NRW as: \n\\`footprint_area\\` * \\`levels\\` * factors between 0.7 (inhabited) and 0.8 (non-inhabited)\nthe latter was done to concider e.g., inner wall area or staircases.`,\n example: 127.42\n },\n footprint_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`footprint_area\\` field specifies the footprint area of the building in m².\n\nThe field is set to \\`null\\` if the footprint area is unknown.`,\n example: 127.42\n },\n characteristics: {\n type: ['string', 'null'],\n enum: ['single_two_family', 'row_semi_detached', 'multi_family', 'residential_block', 'high_rise', 'terrace', 'farmhouse', 'office_other', 'factory_warehouse'],\n description: `\nThe \\`characteristics\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **single_two_family**: Single- or two-family house\n- **row_semi_detached**: Row or semi-detached house\n- **multi_family**: Multi-family house\n- **residential_block**: Residential block\n- **high_rise**: High-rise residential building\n- **terrace**: Terrace house\n- **farmhouse**: Farmhouse\n- **office_other**: Office or other building\n- **factory_warehouse**: Factory or warehouse building\n\nIf the characteristics is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 'residential_block'\n },\n characteristics_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 9,\n description: `\nThe \\`characteristics_class\\` field defines the different types of building characteristics. This classification includes \nvarious types of residential and non-residential buildings. This field can have one of the following values:\n\n- **1**: Single- or two-family house\n- **2**: Row or semi-detached house\n- **3**: Multi-family house\n- **4**: Residential block\n- **5**: High-rise residential building\n- **6**: Terrace house\n- **7**: Farmhouse\n- **8**: Office or other building\n- **9**: Factory or warehouse building\n\nIf the characteristics_class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n development_layout: {\n type: ['string', 'null'],\n enum: ['non_detached', 'semi_detached', 'detached'],\n description: `\nThe \\`development_layout\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **non_detached**: Non-detached building\n- **semi_detached**: Semi-detached building\n- **detached**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**detached** = intersection_length / outline_length < 0.085\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**semi_detached** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**non_detached** = for all other buildings`,\n example: 'non_detached'\n },\n development_layout_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 3,\n description: `\nThe \\`development_layout_class\\` field specifies the layout of the building. This field can have one of the following values:\n\n- **1**: Non-detached building\n- **2**: Semi-detached building\n- **3**: Detached building\n\nIf the development layout is unknown, the field is set to \\`null\\`.\n\nThe \\`development_layout_class\\` was modeled based on the number and length of intersections with heated (and buildings with unknown heating status)\n neighbouring buildings and the perimeter of a geometry as follows:\n\n**1** = intersection_length / outline_length < 0.085\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.45 for buildings with exactly 1 intersection\n**2** = intersection_length / outline_length >= 0.085 AND intersection_length / outline_length < 0.15 for buildings with more than 1 intersections\n**3** = for all other buildings`,\n example: 1\n },\n construction_year_range: {\n type: ['array', 'null'],\n prefixItems: [\n {\n type: ['number', 'null']\n },\n {\n type: 'number'\n }\n ],\n description: `\nThe \\`construction_year_range\\` field specifies the approximate construction year of the building. The field is a tuple with two\nvalues: the lower and upper bound of the construction year and can have one of the following value:\n\n- **[*null*, 1899]**: Construction year is somewhere up to 1899\n- **[1900, 1945]**\n- **[1946, 1960]**\n- **[1961, 1970]**\n- **[1971, 1980]**\n- **[1981, 1985]**\n- **[1986, 1995]**\n- **[1996, 2000]**\n- **[2001, 2005]**\n- **[2006, 2010]**\n- **[2011, 2015]**\n- **[2016, 2024]**\n\nIf the construction year class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: [1990, 1995]\n },\n construction_year_range_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 12,\n description: `\nThe \\`construction_year_range_class\\` field specifies the approximate construction year of the building and can have one of the following values: \n\n- **1**: < 1899\n- **2**: 1900 - 1945\n- **3**: 1946 - 1960\n- **4**: 1961 - 1970\n- **5**: 1971 - 1980\n- **6**: 1981 - 1985\n- **7**: 1986 - 1995\n- **8**: 1996 - 2000\n- **9**: 2001 - 2005\n- **10**: 2006 - 2010\n- **11**: 2011 - 2015\n- **12**: 2016 - 2024\n\nIf the construction year range class is unknown, the field is set to \\`null\\`.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- HH-EW-Bund (Haushalte Einwohner Bund) <br />\n © Bundesamt für Kartographie und Geodäsie (2024) <br />\n [Datasources / Datenquellen](https://sg.geodatenzentrum.de/web_public/Datenquellen_HH-EW-Bund.pdf)`,\n example: 1\n },\n construction_year: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`construction_year\\` field specifies the construction year of the building.\n\nIf the construction year is unknown, the field is set to \\`null\\`.`,\n example: 1993\n },\n heritage: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heritage\\` field specifies whether the building is under monumental protection.\n\nThe field is set to \\`null\\` if the heritage status is unknown.`,\n example: true\n },\n geo_conductivity_100: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`geo_conductivity_100\\` field specifies the geothermal conductivity in 100 m depth.\n\nThe field is set to \\`null\\` if the geothermal conductivity is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Geothermic Potential in 100 m depth (NRW) <br />\n © Geologischer Dienst (GD) NRW (2024) <br />\n [Datasources / Datenquellen](https://open.nrw/dataset/912ad0a6-5eb4-4df3-a19f-908c33650964)`,\n example: 2\n },\n heat_pump_air_possible: {\n type: ['boolean', 'null'],\n description: `\nThe \\`heat_pump_air_possible\\` field indicates whether an air-source heat pump is a viable option for the building.\n\n- Set to \\`true\\` if an air-source heat pump is feasible.\n- Set to \\`false\\` if an air-source heat pump is not feasible.\n- Set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: true\n },\n heat_pump_maximal_distance_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\nThis field will be deprecated in future versions. Please use \\`heat_pump_maximal_distance_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100\n },\n heat_pump_maximal_distance_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_maximal_distance_drillings_5m\\` field specifies the maximum allowable distance between drillings for a heat pump installation, measured in meters.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 100.35\n },\n heat_pump_minimal_number_possible_drillings: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\nThis field will be deprecated in future versions. Please use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Deprecation Warning:**<br /><br />\n\nPlease use \\`heat_pump_minimal_number_possible_drillings_5m\\` instead of this field.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1,\n deprecated: true\n },\n heat_pump_minimal_number_possible_drillings_5m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_5m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 5m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_2m: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_2m\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with a distance of 2m \nto the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_minimal_number_possible_drillings_no_distance: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_minimal_number_possible_drillings_no_distance\\` field specifies the minimum \nnumber of drillings required for a heat pump installation with no distance to the parcel border.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)`,\n example: 1\n },\n heat_pump_collector_free_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`heat_pump_collector_free_area\\` field specifies the sum of the free area suitable \nfor a collector heat pump on parcels associated to a building.\n\nThe field is set to \\`null\\` if the information is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- 3D-Gebäudemodelle LoD2 Deutschland (LoD2-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n- Flurstücksinformationen Deutschland (FS-DE) <br />\n © GeoBasis-DE / BKG (2024)<br />\n [Terms of Use](https://sg.geodatenzentrum.de/web_public/nutzungsbedingungen.pdf)\n `,\n example: 100\n },\n flood_potential: {\n type: ['array', 'null'],\n items: {\n type: 'object',\n properties: {\n min_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n max_recurrence: {\n type: ['number', 'null'],\n minimum: 0\n },\n protection_against_floods: {\n type: ['boolean', 'null']\n }\n }\n },\n minItems: 1,\n description: `\nThe \\`flood_potential\\` field is an array representing different flood risk scenarios for a given \nlocation. The objects in the array can contain the following fields:\n\n- \\`min_reccurence\\`: The minimum expected recurrence interval for flooding, measured in years. \n This field is optional and can be \\`null\\` if the data is unavailable. A lower value indicates more \n frequent flooding.\n \n- \\`max_reccurence\\`: The maximum expected recurrence interval for flooding, also in years. This \n field is optional and can be \\`null\\`. If provided, this value represents the upper bound of the \n flood risk interval. This field allows the specification of a range of recurrence intervals.\n \n- \\`protection_against_floods\\`: A boolean flag indicating whether flood protection measures are in \n place for the area. This field is optional and can be \\`null\\` if the information is not available. \n A value of \\`true\\` means flood defenses are present, while \\`false\\` indicates the absence of such \n measures.\n\nIf this array is set to \\`null\\`, it means that no data regarding flood potential is available for the location.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Flood hazard area (Überflutungsflächen-DE) <br />\n © WasserBLIcK/BfG & Zuständige Behörden der Länder (2022) <br />\n [Terms of Use / Nutzungsbedingungen](https://www.gesetze-im-internet.de/geonutzv/GeoNutzV.pdf)`,\n example: [\n {\n min_recurrence: 100,\n max_recurrence: null,\n protection_against_floods: true\n },\n {\n min_recurrence: 101,\n max_recurrence: 1000,\n protection_against_floods: false\n }\n ]\n },\n photovoltaic_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`suitable_roof_area\\` field specifies the roof area suited for photovoltaics [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 77\n },\n gross_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`gross_collector_area\\` field specifies the maximal collector area for photovoltaics including module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`net_collector_area\\` field specifies the maximal collector area for photovoltaics excluding module frames [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for photovoltaics excluding module frames is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 48\n },\n electricity_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`electricity_generation\\` field specifies the maximal electricity generation from photovoltaics of the building per year [kWh/a].\n\nThe field is set to \\`null\\` if the maximal electricity generation per year is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 6401\n },\n nominal_power: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`nominal_power\\` field specifies the nominal power a photovoltaics system could have at this building per year [kWp].\n\nThe field is set to \\`null\\` if the the nominal power is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Photovoltaics Potential on Roofs (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 7.5\n }\n },\n required: ['suitable_roof_area', 'gross_collector_area', 'net_collector_area', 'electricity_generation', 'nominal_power']\n },\n solarthermal_potential: {\n type: 'object',\n properties: {\n suitable_roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_suitable_roof_area\\` field specifies the roof area suited for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the roof area suited for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 90\n },\n heat_generation: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_heat_generation\\` field specifies the potential solarthermic heat generation on this bulding [kWh/a].\n\nThe field is set to \\`null\\` if the heat generation by solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/)`,\n example: 25201\n },\n net_collector_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`st_net_collector_area\\` field specifies the maximal collector area for solarthermie [m^2].\n\nThe field is set to \\`null\\` if the maximal collector area for solarthermie is unknown.\n\n<br /><br />**Datasources / Datenquellen:**<br /><br />\n\n- Solarthermal Potential (NRW) <br />\n © Landesamt für Natur, Umwelt und Verbraucherschutz (LANUV) NRW (2024) <br />\n [Datasources / Datenquellen](https://www.opengeodata.nrw.de/produkte/umwelt_klima/klima/solarkataster/photovoltaik/) `,\n example: 25201\n }\n },\n required: ['suitable_roof_area', 'heat_generation', 'net_collector_area']\n },\n matching_addresses: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`matching_addresses\\` field indicates the number of addresses associated with the geometry.\n\nThe field is set to \\`null\\` if no matching addresses are found.`,\n example: 1\n },\n eave_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_weighted\\` field specifies the weighted average height of the eave above ground [meters]. For weighting \nthe \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 11.398919537428867\n },\n eave_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_min\\` field specifies the minimum height of the eave above ground [meters]. This is the minimal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`.\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 5.7899932861328125\n },\n eave_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`eave_above_ground_max\\` field specifies the maximum height of the eave above ground [meters]. This is the maximal \n\\`eave_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of \nthe field \\`number_original_geometries\\`.\n\n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.722991943359375\n },\n ridge_above_ground_weighted: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_weighted\\` field specifies the weighted average height of the ridge above ground [meters]. For \nweighting the \\`footprint_area\\` of sub-geometries was used, if a building consists of multiple. This can be traced on the basis \nof the field \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 13.619256575276214\n },\n ridge_above_ground_min: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_min\\` field specifies the minimum height of the ridge above ground [meters]. This is the minimal \n\\`ridge_above_ground within\\` a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 6.64300537109375\n },\n ridge_above_ground_max: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`ridge_above_ground_max\\` field specifies the maximum height of the ridge above ground [meters]. This is the maximal \n\\`ridge_above_ground\\` within a group of sub-geometries, if a building consists of multiple. This can be traced on the basis of the \nfield \\`number_original_geometries\\`. \n\nThe field is set to \\`null\\` if the height is unknown.`,\n example: 16.987991333007812\n },\n number_original_geometries: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`number_original_geometries\\` field specifies the number of original geometries used for weighted calculations.\n\nThe field is set to \\`null\\` if the count is unknown.`,\n example: 3\n },\n roof_area: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`roof_area\\` field specifies the total roof area of the building [square meters].\n\nThe field is set to \\`null\\` if the roof area is unknown.`,\n example: 355.37342071533203\n },\n outer_wall_area_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_free\\` field specifies the facade area free of adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 690.5686635568186\n },\n outer_wall_area_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_heated\\` field specifies the facade area shared with heated adjacent structures [square meters]. \n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 202.10705297163204\n },\n outer_wall_area_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`outer_wall_area_shared_non_heated\\` field specifies the facade area shared with non-heated adjacent structures [square meters].\n\nThe field is set to \\`null\\` if the area is unknown.`,\n example: 298.6121580931941\n },\n plinth_length_free: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_free\\` field specifies the length of the building's plinth that is not shared with adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 48.672734987814366\n },\n plinth_length_shared_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_heated\\` field specifies the length of the building's plinth shared with heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 13.16187444425839\n },\n plinth_length_shared_non_heated: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`plinth_length_shared_non_heated\\` field specifies the length of the building's plinth shared with non-heated adjacent structures [meters].\n\nThe field is set to \\`null\\` if the length is unknown.`,\n example: 31.994775355440325\n },\n ogc_fid: {\n type: ['string', 'null'],\n description: `\nThe \\`ogc_fid\\` field specifies a unique identifier from the LOD2 dataset. **This field is deprecated** and should no longer be used for identifying buildings. \n\nFor current and future use, refer to \\`building_id\\` (for the building geometry) or \\`building_address_id\\` (for a unique building-address combination) instead. \n\nThe field is set to \\`null\\` if the identifier is unavailable.`,\n example: 'DENW29AL1000FzW2',\n deprecated: true\n },\n esg: {\n type: 'object',\n properties: {\n overall_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`overall_class\\` field specifies the overall ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the overall ESG rating class is unknown.`,\n example: 1\n },\n overall: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`overall\\` field specifies the overall ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the overall ESG rating is unknown.`,\n example: 'rather_negative'\n },\n overall_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`overall_rating\\` field specifies the overall ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the overall ESG rating score is unknown.`,\n example: 1\n },\n environment_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`environment_class\\` field specifies the environmental ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the environmental ESG rating class is unknown.`,\n example: 1\n },\n environment: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`environment\\` field specifies the environmental ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the environmental ESG rating is unknown.`,\n example: 'rather_positive'\n },\n environment_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`environment_rating\\` field specifies the environmental ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the environmental ESG rating score is unknown.`,\n example: 1\n },\n social_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`social_class\\` field specifies the social ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the social ESG rating class is unknown.`,\n example: 1\n },\n social: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`social\\` field specifies the social ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the social ESG rating is unknown.`,\n example: 'positive'\n },\n social_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`social_rating\\` field specifies the social ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the social ESG rating score is unknown.`,\n example: 1\n },\n governance_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`governance_class\\` field specifies the governance ESG rating class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the governance ESG rating class is unknown.`,\n example: 1\n },\n governance: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`governance\\` field specifies the governance ESG rating of the building. This field can have one of the following values:\n\n- **negative**: Negative rating\n- **rather_negative**: Rather negative rating\n- **average**: Average rating\n- **rather_positive**: Rather positive rating\n- **positive**: Positive rating\n\nThe field is set to \\`null\\` if the governance ESG rating is unknown.`,\n example: 'negative'\n },\n governance_rating: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`governance_rating\\` field specifies the governance ESG rating score of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the governance ESG rating score is unknown.`,\n example: 1\n }\n }\n },\n fuelling_types: {\n type: 'object',\n properties: {\n dominant: {\n type: ['string', 'null'],\n enum: ['renewable_chp', 'district_heating', 'liquified_gas', 'gas', 'wood', 'electricity', 'multiple_equal', 'oil', 'coal_coke', 'delivered_heat'],\n description: `\nThe \\`dominant\\` field specifies the dominant fuelling type of the building. This field can have one of the following values:\n\n- **renewable_chp**: Renewable energy and combined heat and power\n- **district_heating**: District heating\n- **liquified_gas**: Liquified gas\n- **gas**: Natural gas\n- **wood**: Wood\n- **electricity**: Electricity\n- **multiple_equal**: Multiple equal types\n- **oil**: Oil\n- **coal_coke**: Coal and coke\n- **delivered_heat**: Delivered heat\n\nThe field is set to \\`null\\` if the dominant fuelling type is unknown.`,\n example: 'renewable_chp'\n },\n number_listings_denominator: {\n type: ['number', 'null'],\n minimum: 1,\n description: `\nThe \\`number_listings_denominator\\` field specifies the number of listings used as denominator for calculating the shares.\n\nThe field is set to \\`null\\` if the number of listings is unknown.`,\n example: 1\n },\n coal_coke_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`coal_coke_share\\` field specifies the share of coal and coke in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n delivered_heat_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`delivered_heat_share\\` field specifies the share of delivered heat in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n district_heating_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`district_heating_share\\` field specifies the share of district heating in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n electricity_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`electricity_share\\` field specifies the share of electricity in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n gas_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`gas_share\\` field specifies the share of natural gas in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n wood_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`wood_share\\` field specifies the share of wood in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n renewable_chp_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`renewable_chp_share\\` field specifies the share of renewable combined heat and power in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n liquified_gas_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`liquified_gas_share\\` field specifies the share of liquified gas in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n },\n oil_share: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`oil_share\\` field specifies the share of oil in the building's energy mix, ranging from 0 to 100 [%].\n\nThe field is set to \\`null\\` if the share is unknown.`,\n example: 1\n }\n }\n },\n location_rating: {\n type: 'object',\n properties: {\n overall: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`overall\\` field specifies the overall location rating of the building, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the overall location rating is unknown.`,\n example: 1\n },\n housing_market: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`housing_market\\` field specifies the housing market rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the housing market rating is unknown.`,\n example: 1\n },\n infrastructure: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`infrastructure\\` field specifies the infrastructure rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the infrastructure rating is unknown.`,\n example: 1\n },\n settlement_structure: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`settlement_structure\\` field specifies the settlement structure rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the settlement structure rating is unknown.`,\n example: 1\n },\n social: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`social\\` field specifies the social rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the social rating is unknown.`,\n example: 1\n },\n stressors: {\n type: ['number', 'null'],\n minimum: 0,\n maximum: 100,\n description: `\nThe \\`stressors\\` field specifies the stressors rating of the building's location, ranging from 0 to 100.\n\nThe field is set to \\`null\\` if the stressors rating is unknown.\n\nHigher values indicate a better location, similar to the other properties in \\`location_rating\\`.\n`,\n example: 1\n }\n }\n },\n investment_perspective_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`investment_perspective_class\\` field specifies the investment perspective class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the investment perspective class is unknown.`,\n example: 1\n },\n investment_perspective: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`investment_perspective\\` field specifies the investment perspective of the building. This field can have one of the following values:\n\n- **negative**: Negative perspective\n- **rather_negative**: Rather negative perspective\n- **average**: Average perspective\n- **rather_positive**: Rather positive perspective\n- **positive**: Positive perspective\n\nThe field is set to \\`null\\` if the investment perspective is unknown.`,\n example: 'rather_negative'\n },\n modernisation_potential_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 5,\n description: `\nThe \\`modernisation_potential_class\\` field specifies the modernisation potential class of the building. This field can have one of the following values:\n\n- **1**: Negative\n- **2**: Rather negative\n- **3**: Average\n- **4**: Rather positive\n- **5**: Positive\n\nThe field is set to \\`null\\` if the modernisation potential class is unknown.`,\n example: 1\n },\n modernisation_potential: {\n type: ['string', 'null'],\n enum: ['negative', 'rather_negative', 'average', 'rather_positive', 'positive'],\n description: `\nThe \\`modernisation_potential\\` field specifies the modernisation potential of the building. This field can have one of the following values:\n\n- **negative**: Negative potential\n- **rather_negative**: Rather negative potential\n- **average**: Average potential\n- **rather_positive**: Rather positive potential\n- **positive**: Positive potential\n\nThe field is set to \\`null\\` if the modernisation potential is unknown.`,\n example: 'positive'\n },\n milieus_dominant_class: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 6,\n description: `\nThe \\`milieus_dominant_class\\` field specifies the dominant milieu class of the building's location. This field can have one of the following values:\n\n- **1**: Communicative\n- **2**: Demanding\n- **3**: Domestic\n- **4**: Conventional\n- **5**: Modest\n- **6**: Functional\n\nThe field is set to \\`null\\` if the dominant milieu class is unknown.`,\n example: 1\n },\n milieus_dominant: {\n type: ['string', 'null'],\n enum: ['communicative', 'demanding', 'domestic', 'conventional', 'modest', 'functional'],\n description: `\nThe \\`milieus_dominant\\` field specifies the dominant milieu of the building's location. This field can have one of the following values:\n\n- **communicative**: Communicative milieu\n- **demanding**: Demanding milieu\n- **domestic**: Domestic milieu\n- **conventional**: Conventional milieu\n- **modest**: Modest milieu\n- **functional**: Functional milieu\n\nThe field is set to \\`null\\` if the dominant milieu is unknown.`,\n example: 'domestic'\n },\n building_address_id: {\n type: ['string', 'null'],\n description: `\nThe \\`building_address_id\\` field specifies the unique identifier for a building in relation to a specific address. This ID is used to distinguish buildings that may share the same parcel or geographic location but are associated with different addresses (for example, in cases of multiple entrances, sub-buildings, or address points within a single property).\n\nThis identifier is particularly useful for applications where the address context is essential to uniquely reference a building, such as postal services, delivery, or address-based lookup systems.\n\nThe field is set to \\`null\\` if the building address ID is unknown.`,\n example: '1234567890'\n },\n building_id: {\n type: ['string', 'null'],\n description: `\nThe \\`building_id\\` field specifies the identifier for the building as a physical structure or geometry, independent of address context. Note that this ID is not necessarily unique, as a single building can be associated with multiple addresses (for example, corner buildings or buildings with several entrances).\n\nThis identifier is typically used to reference the building as a physical entity for purposes such as property management, urban planning, or geospatial analysis, where the focus is on the structure itself rather than its address associations.\n\nFor a unique reference to a building at a specific address, use \\`building_address_id\\` instead.\n\nThe field is set to \\`null\\` if the building ID is unknown.`,\n example: '1234567890'\n },\n inhabitants: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`inhabitants\\` field specifies the number of inhabitants per building. This value represents the total number of people residing within the given building, regardless of the number of addresses or units it contains.\n\nThis information can be useful for demographic analysis, urban planning, emergency response, and resource allocation, where understanding the population density or occupancy of a building is important.\n\nThe field is set to \\`null\\` if the number of inhabitants is unknown.`,\n example: 14\n },\n number_companies: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`number_companies\\` field specifies the total number of companies located within the building. This value reflects how many distinct companies are registered or operate in the building, regardless of the number of addresses, units, or floors.\n\nThis information is useful for economic analysis, business density studies, urban planning, and resource allocation, where understanding the commercial activity within a building is important.\n\nThe field is set to \\`null\\` if the number of companies is unknown.`,\n example: 14\n },\n purchasing_power: {\n type: ['number', 'null'],\n minimum: 0,\n description: `\nThe \\`purchasing_power\\` field specifies the average purchasing power (German: *Kaufkraft*) of the households of the building, measured in euros (EUR). Purchasing power refers to the estimated disposable income or financial capacity available to the households for spending and consumption, after taxes and social security contributions have been deducted.\n\nThis value is typically expressed as an annual amount per person or household and provides insight into the economic strength and consumption potential of the building's population. Understanding purchasing power is valuable for market analysis, retail site selection, urban planning, and resource allocation.\n\nThe field is set to \\`null\\` if the purchasing power is unknown.`,\n example: 14000\n }\n },\n required: ['street', 'city', 'street_number', 'postcode', 'roof_type', 'type', 'type_class', 'water_protected', 'heated', 'heat_demand', 'levels', 'household_count', 'net_area', 'footprint_area', 'characteristics', 'characteristics_class', 'development_layout', 'development_layout_class', 'construction_year_range', 'construction_year_range_class', 'construction_year', 'heritage', 'geo_conductivity_100', 'heat_pump_air_possible', 'heat_pump_maximal_distance_drillings', 'heat_pump_maximal_distance_drillings_5m', 'heat_pump_minimal_number_possible_drillings', 'heat_pump_minimal_number_possible_drillings_5m', 'heat_pump_minimal_number_possible_drillings_2m', 'heat_pump_minimal_number_possible_drillings_no_distance', 'heat_pump_collector_free_area', 'flood_potential', 'photovoltaic_potential', 'solarthermal_potential', 'matching_addresses', 'eave_above_ground_weighted', 'eave_above_ground_min', 'eave_above_ground_max', 'ridge_above_ground_weighted', 'ridge_above_ground_min', 'ridge_above_ground_max', 'number_original_geometries', 'roof_area', 'outer_wall_area_free', 'outer_wall_area_shared_heated', 'outer_wall_area_shared_non_heated', 'plinth_length_free', 'plinth_length_shared_heated', 'plinth_length_shared_non_heated', 'ogc_fid', 'esg', 'fuelling_types', 'location_rating']\n} as const;","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { client, type Options } from '@hey-api/client-fetch';\nimport type { GetAddressLookupV2Data, GetAddressLookupV2Error, GetAddressLookupV2Response, GetCoordinateLookupV2Data, GetCoordinateLookupV2Error, GetCoordinateLookupV2Response, PostCoordinateBatchLookupV2Data, PostCoordinateBatchLookupV2Error, PostCoordinateBatchLookupV2Response, GetAddressLookupV3Data, GetAddressLookupV3Error, GetAddressLookupV3Response, GetCoordinateLookupV3Data, GetCoordinateLookupV3Error, GetCoordinateLookupV3Response, PostCoordinateBatchLookupV3Data, PostCoordinateBatchLookupV3Error, PostCoordinateBatchLookupV3Response } from './types.gen';\n\n/**\n * Retrieve building data based on a given address\n *\n * This endpoint allows users to retrieve detailed building data by providing an address.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Permissions\n * - `api.lookup.address.read`: This permission grants the ability\n * to read and retrieve building data based on a provided address. It ensures that the\n * user has access rights to query the address-based lookup endpoint.\n *\n * ### Address-based Lookup\n * This endpoint is designed to retrieve building data based on a given address, focusing\n * solely on exact matches. If the address is not found, the endpoint will return an empty\n * response. For use cases involving un-geocoded addresses, we recommend using our\n * coordinate-based lookup endpoint.\n *\n * ### Response Structure\n * - **GeoJSON Type**: In v2, the response format has been simplified to a `Feature` object, representing a single feature, rather than the `FeatureCollection` type returned by v1. This change reflects the endpoint's focus on returning a single or no result based on the query.\n */\nexport const getAddressLookupV2 = (options: Options<GetAddressLookupV2Data>) => { return (options?.client ?? client).get<GetAddressLookupV2Response, GetAddressLookupV2Error>({\n ...options,\n url: '/v2/addressLookup'\n}); };\n\n/**\n * Retrieve building data based on a given coordinate\n *\n * This endpoint allows users to retrieve detailed building data by providing a geo coordinate.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Key Changes in v2\n * In v2, the response format has been optimized to return a `Feature` rather than a `FeatureCollection`. This adjustment reflects the endpoint’s focus on retrieving a single result or no result, rather than a collection, simplifying client-side handling.\n *\n * ### Permissions\n * - `api.lookup.coordinate.read`: This permission grants the ability to\n * read and retrieve building data based on a provided coordinate. It ensures that the user has\n * access rights to query the coordinate-based lookup endpoint.\n *\n * ### Response Structure\n * - **GeoJSON Type**: The response in v2 is now a single `Feature` object representing one building result or an empty response if no match is found. This differs from v1, which returned a `FeatureCollection` object.\n */\nexport const getCoordinateLookupV2 = (options?: Options<GetCoordinateLookupV2Data>) => { return (options?.client ?? client).get<GetCoordinateLookupV2Response, GetCoordinateLookupV2Error>({\n ...options,\n url: '/v2/coordinateLookup'\n}); };\n\n/**\n * Retrieve building data for a batch of coordinates\n *\n * This endpoint allows users to retrieve detailed building data by providing a batch of\n * geo-coordinates. The response is a GeoJSON object containing a FeatureCollection, where each\n * feature represents a building and includes additional properties for tracking back to the\n * requested coordinates.\n *\n * ### Key Improvements in v2\n *\n * In v2, each coordinate can be assigned a unique reference ID in the request body, allowing for\n * more precise handling of results. The response includes a metadata section that provides:\n * - The total number of coordinates processed.\n * - A count of found and not-found coordinates.\n * - Lists of references for found and not-found coordinates, making it easier to manage unmatched\n * entries without requiring complex client-side matching logic.\n *\n * ### Request Body Format\n * The request body is structured as an object where each key is a unique reference ID for a\n * coordinate:\n *\n * ```json\n * {\n * \"reference_id1\": { \"lat\": 51.252258, \"lng\": 7.13107 },\n * \"reference_id2\": { \"lat\": 51.29342, \"lng\": 7.21936 },\n * \"reference_id3\": { \"lat\": 51.18941, \"lng\": 7.14259 }\n * }\n * ```\n *\n * ### Response Structure\n * - **GeoJSON Type**: The response includes a FeatureCollection containing matched features.\n * - **Metadata**:\n * - `counts`: Provides total, found, and not-found counts for the requested coordinates.\n * - `references`: Lists reference IDs of matched (`found`) and unmatched (`not_found`)\n * coordinates.\n *\n * #### Example Response:\n * ```json\n * {\n * \"type\": \"FeatureCollection\",\n * \"metadata\": {\n * \"counts\": {\n * \"total\": 3,\n * \"found\": 2,\n * \"not_found\": 1\n * },\n * \"references\": {\n * \"found\": [\"reference_id1\", \"reference_id2\"],\n * \"not_found\": [\"reference_id3\"]\n * }\n * },\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"geometry\": { * geometry details * },\n * \"properties\": {\n * \"ref\": \"reference_id1\",\n * ...\n * }\n * },\n * ...\n * ]\n * }\n * ```\n *\n * ### Handling Non-Matching Coordinates\n *\n * For unmatched coordinates, v2 includes metadata listing these coordinates, enabling clients to\n * easily filter out or handle non-matching entries. This improves upon v1, where clients had to\n * manage complex matching logic without clear references for non-matching coordinates.\n *\n * ### Limitations\n * This endpoint supports up to 500 coordinates per request. If more are needed, split into multiple\n * requests.\n *\n * ### Permissions\n * - `api.batch.lookup.coordinate.read`: Grants the ability to access this endpoint.\n */\nexport const postCoordinateBatchLookupV2 = (options: Options<PostCoordinateBatchLookupV2Data>) => { return (options?.client ?? client).post<PostCoordinateBatchLookupV2Response, PostCoordinateBatchLookupV2Error>({\n ...options,\n url: '/v2/coordinateBatchLookup'\n}); };\n\n/**\n * Retrieve building data based on a given address\n *\n * This endpoint allows users to retrieve detailed building data by providing an address.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Permissions\n * - `api.lookup.address.read`: This permission grants the ability\n * to read and retrieve building data based on a provided address. It ensures that the\n * user has access rights to query the address-based lookup endpoint.\n *\n * ### Address-based Lookup\n * This endpoint is designed to retrieve building data based on a given address, focusing\n * solely on exact matches. If the address is not found, the endpoint will return an empty\n * response. For use cases involving un-geocoded addresses, we recommend using our\n * coordinate-based lookup endpoint.\n *\n * ### Key Changes in v3\n * In v3, the response format has been converted from a first-match `Feature` object, to an\n * all matches `FeatureCollection` type. This change reflects the endpoints focus on retrieving\n * all matches for a given address, e.g. when different addresses are on the same geometry. Also\n * we have introduced a new optional query parameter `resolution`, which allows to specify the\n * resolution to be precise on address or geometry level. If no resolution is provided, the\n * geometry precision will be used.\n *\n * ### Response Structure\n * - **GeoJSON Type**: In v3, the response format has been converted from a first-match `Feature` object, to an all matches `FeatureCollection` type.\n */\nexport const getAddressLookupV3 = (options: Options<GetAddressLookupV3Data>) => { return (options?.client ?? client).get<GetAddressLookupV3Response, GetAddressLookupV3Error>({\n ...options,\n url: '/v3/addressLookup'\n}); };\n\n/**\n * Retrieve building data based on a given coordinate\n *\n * This endpoint allows users to retrieve detailed building data by providing a geo coordinate.\n * The data includes information from both public and private sources, aggregated into a\n * comprehensive dataset.\n *\n * ### Key Changes in v3\n * In v3, the response format has been optimized to return a `FeatureCollection` object. This\n * adjustment reflects the endpoints focus on retrieving all matches for a given coordinate,\n * e.g. when different coordinates are on the same geometry.\n *\n * ### Permissions\n * - `api.lookup.coordinate.read`: This permission grants the ability to\n * read and retrieve building data based on a provided coordinate. It ensures that the user has\n * access rights to query the coordinate-based lookup endpoint.\n *\n * ### Key Changes in v3\n * In v3, the response format has been converted from a first-match `Feature` object, to an\n * all matches `FeatureCollection` type. This change reflects the endpoints focus on retrieving\n * all matches for a given coordinate, e.g. when different coordinates are on the same geometry. Also\n * we have introduced a new optional query parameter `resolution`, which allows to specify the\n * resolution to be precise on coordinate or geometry level. If no resolution is provided, the\n * geometry precision will be used.\n *\n * ### Response Structure\n * - **GeoJSON Type**: In v3, the response format has been converted from a first-match `Feature` object, to an all matches `FeatureCollection` type.\n */\nexport const getCoordinateLookupV3 = (options?: Options<GetCoordinateLookupV3Data>) => { return (options?.client ?? client).get<GetCoordinateLookupV3Response, GetCoordinateLookupV3Error>({\n ...options,\n url: '/v3/coordinateLookup'\n}); };\n\n/**\n * Retrieve building data for a batch of coordinates\n *\n * This endpoint allows users to retrieve detailed building data by providing a batch of\n * geo-coordinates. The response is a GeoJSON object containing a FeatureCollection, where each\n * feature represents a building and includes additional properties for tracking back to the\n * requested coordinates.\n *\n * ### Request Body Format\n * The request body is structured as an object where each key is a unique reference ID for a\n * coordinate:\n *\n * ```json\n * {\n * \"reference_id1\": { \"lat\": 51.252258, \"lng\": 7.13107 },\n * \"reference_id2\": { \"lat\": 51.29342, \"lng\": 7.21936 },\n * \"reference_id3\": { \"lat\": 51.18941, \"lng\": 7.14259 }\n * }\n * ```\n *\n * ### Response Structure\n * - **GeoJSON Type**: The response includes a FeatureCollection containing matched features.\n * - **Metadata**:\n * - `counts`: Provides total, found, and not-found counts for the requested coordinates.\n * - `references`: Lists reference IDs of matched (`found`) and unmatched (`not_found`)\n * coordinates.\n *\n * #### Example Response:\n * ```json\n * {\n * \"type\": \"FeatureCollection\",\n * \"metadata\": {\n * \"counts\": {\n * \"total\": 3,\n * \"found\": 2,\n * \"not_found\": 1\n * },\n * \"references\": {\n * \"found\": [\"reference_id1\", \"reference_id2\"],\n * \"not_found\": [\"reference_id3\"]\n * }\n * },\n * \"features\": [\n * {\n * \"type\": \"Feature\",\n * \"geometry\": { * geometry details * },\n * \"properties\": {\n * \"ref\": \"reference_id1\",\n * ...\n * }\n * },\n * ...\n * ]\n * }\n * ```\n *\n * ### Handling Non-Matching Coordinates\n *\n * For unmatched coordinates, v2 includes metadata listing these coordinates, enabling clients to\n * easily filter out or handle non-matching entries. This improves upon v1, where clients had to\n * manage complex matching logic without clear references for non-matching coordinates.\n *\n * ### Limitations\n * This endpoint supports up to 500 coordinates per request. If more are needed, split into multiple\n * requests.\n *\n * ### Permissions\n * - `api.batch.lookup.coordinate.read`: Grants the ability to access this endpoint.\n */\nexport const postCoordinateBatchLookupV3 = (options: Options<PostCoordinateBatchLookupV3Data>) => { return (options?.client ?? client).post<PostCoordinateBatchLookupV3Response, PostCoordinateBatchLookupV3Error>({\n ...options,\n url: '/v3/coordinateBatchLookup'\n}); };","// This file is auto-generated by @hey-api/openapi-ts\nexport * from './schemas.gen';\nexport * from './services.gen';\nexport * from './types.gen';\nexport {createClient} from '@hey-api/client-fetch';\n"],"mappings":"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","names":[]}
|