Difference between revisions of "Data source/LT.CR/data model/record/adresas/mapping/CDQ/transformation"
Jump to navigation
Jump to search
(Template parameters updated.) |
(Template parameters updated.) |
||
Line 1: | Line 1: | ||
{{Data model transformation | {{Data model transformation | ||
| data source = Data source/LT.CR | | data source = Data source/LT.CR | ||
− | | transformation type = | + | | transformation type = CUSTOM_TRANSFORMATION |
− | | transformation code = LOCALITY_VALUE = ' | + | | transformation code = LOCALITY_VALUE = 'addresses[0].localities[0].value' |
− | LOCALITY_TYPE = ' | + | LOCALITY_TYPE = 'addresses[0].localities[0].type.technicalKey' |
− | THOROUGHFARE_VALUE = ' | + | THOROUGHFARE_VALUE = 'addresses[0].thoroughfares[0].value' |
− | THOROUGHFARE_TYPE = " | + | THOROUGHFARE_TYPE = "addresses[0].thoroughfares[0].type.technicalKey" |
− | POSTCODE_VALUE = ' | + | POSTCODE_VALUE = 'addresses[0].postCodes[0].value' |
− | POSTCODE_TYPE = ' | + | POSTCODE_TYPE = 'addresses[0].postCodes[0].type.technicalKey' |
− | ADMINISTRATIVE_AREA_0_VALUE = ' | + | ADMINISTRATIVE_AREA_0_VALUE = 'addresses[0].administrativeAreas[0].value' |
− | ADMINISTRATIVE_AREA_0_TYPE = ' | + | ADMINISTRATIVE_AREA_0_TYPE = 'addresses[0].administrativeAreas[0].type.technicalKey' |
− | ADMINISTRATIVE_AREA_1_VALUE = ' | + | ADMINISTRATIVE_AREA_1_VALUE = 'addresses[0].administrativeAreas[1].value' |
def transform(raw_data): | def transform(raw_data): | ||
result = {} | result = {} | ||
splitted_address = raw_data.split(",") | splitted_address = raw_data.split(",") | ||
+ | |||
+ | locality = None | ||
+ | thoroughfare = None | ||
+ | postcode = None | ||
+ | administrative_area_0 = None | ||
+ | administrative_area_1 = None | ||
+ | |||
+ | for part in splitted_address: | ||
+ | part = part.strip() | ||
+ | if ' sav.' in part: | ||
+ | administrative_area_0 = part | ||
+ | elif ' sen.' in part: | ||
+ | administrative_area_1 = part | ||
+ | elif any(indicator in part for indicator in [' k.', ' m.', ' mstl.', ' vs.']): | ||
+ | locality = part | ||
+ | elif any(indicator in part for indicator in [' g.', ' kel.', ' pr.', ' skv.', ' skg.', ' tak.', ' k.', ' al.', ' pl.', ' a.', ' krant.']): | ||
+ | thoroughfare = part | ||
+ | elif part.startswith('LT-'): | ||
+ | postcode = part | ||
+ | else: | ||
+ | locality = part | ||
+ | |||
+ | |||
+ | if not locality: | ||
+ | locality = splitted_address[0].strip() | ||
+ | if not thoroughfare: | ||
+ | thoroughfare = splitted_address[1].strip() | ||
+ | if not postcode: | ||
+ | postcode = splitted_address[-1].strip() | ||
+ | |||
+ | result[LOCALITY_VALUE] = locality | ||
+ | result[LOCALITY_TYPE] = "CITY" | ||
+ | result[THOROUGHFARE_VALUE] = thoroughfare | ||
+ | result[THOROUGHFARE_TYPE] = "STREET" | ||
+ | result[POSTCODE_VALUE] = postcode | ||
+ | result[POSTCODE_TYPE] = "REGULAR" | ||
+ | |||
+ | if administrative_area_0: | ||
+ | result[ADMINISTRATIVE_AREA_0_VALUE] = administrative_area_0 | ||
+ | result[ADMINISTRATIVE_AREA_0_TYPE] = "COUNTY" | ||
+ | if administrative_area_1: | ||
+ | result[ADMINISTRATIVE_AREA_1_VALUE] = administrative_area_1 | ||
+ | |||
+ | return result | ||
+ | | splitted_address = raw_data.split(",") | ||
locality = None | locality = None |
Latest revision as of 14:12, 28 January 2025
Part of Hierarchical relation between two concepts of the CDQ Data Model. | Data source LT.CR |
---|---|
Mapping source The source of a data model mapping. | LT.CR adresas ↣ LOCALITY_VALUE , LOCALITY_TYPE , THOROUGHFARE_VALUE , THOROUGHFARE_TYPE , POST_CODE_VALUE , POST_CODE_TYPE , ADMINISTRATIVE_AREA_VALUE , ADMINISTRATIVE_AREA_TYPE
|
Transformation type A type of a transformation applied to a data model mapping. | CUSTOM_TRANSFORMATION"CUSTOM_TRANSFORMATION" is not in the list (UPPER_CASE, LOWER_CASE, CUSTOM) of allowed values for the "Has transformation type" property.
|
Transformation parameter A transformation parameter is an action proccessed by a data model transformation. | n/a |
Description Informal and comprehensive human-readable definition of a concept. | n/a |
Transformation code Any code (in Python, JAVA or other) that will transform values for a given data source attributes.
LOCALITY_VALUE = 'addresses[0].localities[0].value'
LOCALITY_TYPE = 'addresses[0].localities[0].type.technicalKey'
THOROUGHFARE_VALUE = 'addresses[0].thoroughfares[0].value'
THOROUGHFARE_TYPE = "addresses[0].thoroughfares[0].type.technicalKey"
POSTCODE_VALUE = 'addresses[0].postCodes[0].value'
POSTCODE_TYPE = 'addresses[0].postCodes[0].type.technicalKey'
ADMINISTRATIVE_AREA_0_VALUE = 'addresses[0].administrativeAreas[0].value'
ADMINISTRATIVE_AREA_0_TYPE = 'addresses[0].administrativeAreas[0].type.technicalKey'
ADMINISTRATIVE_AREA_1_VALUE = 'addresses[0].administrativeAreas[1].value'
def transform(raw_data):
result = {}
splitted_address = raw_data.split(",")
locality = None
thoroughfare = None
postcode = None
administrative_area_0 = None
administrative_area_1 = None
for part in splitted_address:
part = part.strip()
if ' sav.' in part:
administrative_area_0 = part
elif ' sen.' in part:
administrative_area_1 = part
elif any(indicator in part for indicator in [' k.', ' m.', ' mstl.', ' vs.']):
locality = part
elif any(indicator in part for indicator in [' g.', ' kel.', ' pr.', ' skv.', ' skg.', ' tak.', ' k.', ' al.', ' pl.', ' a.', ' krant.']):
thoroughfare = part
elif part.startswith('LT-'):
postcode = part
else:
locality = part
if not locality:
locality = splitted_address[0].strip()
if not thoroughfare:
thoroughfare = splitted_address[1].strip()
if not postcode:
postcode = splitted_address[-1].strip()
result[LOCALITY_VALUE] = locality
result[LOCALITY_TYPE] = "CITY"
result[THOROUGHFARE_VALUE] = thoroughfare
result[THOROUGHFARE_TYPE] = "STREET"
result[POSTCODE_VALUE] = postcode
result[POSTCODE_TYPE] = "REGULAR"
if administrative_area_0:
result[ADMINISTRATIVE_AREA_0_VALUE] = administrative_area_0
result[ADMINISTRATIVE_AREA_0_TYPE] = "COUNTY"
if administrative_area_1:
result[ADMINISTRATIVE_AREA_1_VALUE] = administrative_area_1
return result
LOCALITY_TYPE = 'addresses[0].localities[0].type.technicalKey'
THOROUGHFARE_VALUE = 'addresses[0].thoroughfares[0].value'
THOROUGHFARE_TYPE = "addresses[0].thoroughfares[0].type.technicalKey"
POSTCODE_VALUE = 'addresses[0].postCodes[0].value'
POSTCODE_TYPE = 'addresses[0].postCodes[0].type.technicalKey'
ADMINISTRATIVE_AREA_0_VALUE = 'addresses[0].administrativeAreas[0].value'
ADMINISTRATIVE_AREA_0_TYPE = 'addresses[0].administrativeAreas[0].type.technicalKey'
ADMINISTRATIVE_AREA_1_VALUE = 'addresses[0].administrativeAreas[1].value'
def transform(raw_data):
result = {}
splitted_address = raw_data.split(",")
locality = None
thoroughfare = None
postcode = None
administrative_area_0 = None
administrative_area_1 = None
for part in splitted_address:
part = part.strip()
if ' sav.' in part:
administrative_area_0 = part
elif ' sen.' in part:
administrative_area_1 = part
elif any(indicator in part for indicator in [' k.', ' m.', ' mstl.', ' vs.']):
locality = part
elif any(indicator in part for indicator in [' g.', ' kel.', ' pr.', ' skv.', ' skg.', ' tak.', ' k.', ' al.', ' pl.', ' a.', ' krant.']):
thoroughfare = part
elif part.startswith('LT-'):
postcode = part
else:
locality = part
if not locality:
locality = splitted_address[0].strip()
if not thoroughfare:
thoroughfare = splitted_address[1].strip()
if not postcode:
postcode = splitted_address[-1].strip()
result[LOCALITY_VALUE] = locality
result[LOCALITY_TYPE] = "CITY"
result[THOROUGHFARE_VALUE] = thoroughfare
result[THOROUGHFARE_TYPE] = "STREET"
result[POSTCODE_VALUE] = postcode
result[POSTCODE_TYPE] = "REGULAR"
if administrative_area_0:
result[ADMINISTRATIVE_AREA_0_VALUE] = administrative_area_0
result[ADMINISTRATIVE_AREA_0_TYPE] = "COUNTY"
if administrative_area_1:
result[ADMINISTRATIVE_AREA_1_VALUE] = administrative_area_1
return result