NLPG Address Mapping

Created by: Lester Caine, Last modification: 20 Aug 2008 (09:36 UTC)

There seems to be a little bit of a problem between NLPG Data and the matching postal address, and this page is intended to pull the information together. The base record for an address has to be the BLPU record, and only code 1 - Approved BLPU records will be used. There are a number of possible text records relating to a BLPU record, so English type 1 Preferred LPI will be selected by default. The LLPG and SN&N Data Entry Conventions and Best Practice for the NLPG document Appendix C is being used as the basis for this, but since it pre-dates the expansion sao and pao fields it's content is a little out of date.
This should give a tidy list of valid properties in the area covered.
Fields will be taken as follows to construct a displayed address.

Address Field Source Field Size Construction
PROPERTYREF blpu.uprn N12  
ORGANISATION blpu.organisation T100  
SUBBUILDING lpi.sao T102 sao_start_number&sao_start_suffix/&(-)sao_end_number&sao_end_suffix/&(space)sao_text
BUILDING lpi.pao_text T90  
NUMBER lpi.pao(numbers) T11 pao_start_number&pao_start_suffix/&-pao_end_number&pao_end_suffix
STREET street_descriptor.street_descriptor T100 street_descriptor.usrn=lpi.usrn AND street_descriptor.language='ENG'
LOCALITY street_descriptor.locality T35 street_descriptor.usrn=lpi.usrn AND street_descriptor.language='ENG'
TOWN street_descriptor.town_name T30 street_descriptor.usrn=lpi.usrn AND street_descriptor.language='ENG'
COUNTY street_descriptor.adminstrative_area T30 street_descriptor.usrn=lpi.usrn AND street_descriptor.language='ENG'
POSTCODE lpi.postcode T8  


  • Address searching will be provided at four levels. ORGANISATION, STREET, LOCALITY and POSTCODE. These will provide a matching list of properties. Where a LOCALITY or POSTCODE search returns multiple streets it may be appropriate to add a sub-select to the street rather than returning too many properties.
  • Where a postcode search does not return a local match, addresses will be managed via the POSTCODE table, and it may be necessary to add postcodes to that table to handle this. If PROPERTYREF is blank, then POSTCODE will be used, and SUBBUILDING,BUILDING and NUMBER will form the ADDRESS. Where a POSTCODE does not return a match, then the full address will need to be entered in ADDRESS. These can be tidied later by adding missing postcodes to the postcode table. ( A full country postcode table can be supplied but may slow down operation on POSTCODE searches.

The current recommended postal address layout is as follows.

Address Is it Required? Information Field Used
Mr A Smith When applicable Addressees Name  
Acme Plc When applicable Company/Organisation blpu.organisation
Acme House Yes (except if it has a number) Building Name lpi.sao + lpi.pao
3 High Street Yes Number of building and name of thoroughfare street_descriptor.street_descriptor
Hedle End Yes but only if a similar road name exists within a Post Town area Locality Name street_descriptor.locality
SOUTHAMPTON Yes Post Town please print in capitals lpi.post_town ( or street_descriptor.town_name if blank )
SO31 4NG Yes Postcode please print in capitals lpi.postcode

Royal Mail now advise that you do not need to include a County name provided the Post Town and Postcode are used, so this will simplify some of the problems.


  1. adminstrative_area - seems to be a spelling mistake in the NLPG Data Transfer document.
  2. Is adminstrative_area (Highway Authority name) the same as the COUNTY or should this be generated from the POSTCODE.
    This can now be ignored - Royal Mail do not need it.
  3. Could lpi.post_town be different to street_descriptor.town_name ?
    street_descriptor.town_name is only used if lpi.post_town is blank
  4. street_descriptor.street_descriptor may not ACTUALLY refer to the same postal address details as the lpi.postcode as it seems that this can refer to more detailed property location than the actual postal street defined via the postcode. The current plan is to use the street_descriptor and postcode as supplied via NLPG, but we may need to link in the POSTCODE table if this proves a problem.
    This is still looking like a possible problem
  5. Field sizes for the Single Citizen View are truncated on those specified in the NLPG Data Transfer document