How to get house number, street, postcode from a free-form address string
- Author Alfiya Tarasenko
- Published October 5, 2021
- Word count 832
If you have a service related to maps and addresses, parsing and standardizing become necessary for development. There are many difficulties in this process, so as ways of overcoming them. In this article, you’ll find the basics of standardization methods and a bit of detailed advice on choosing the right one.
What is Address Parsing?
When clients of your website enter their address, it will probably be presented as a stroke. To check if the address is correct and exists, this stroke must be divided into components. Also, all entered addresses must look the same. Different methods for proceeding with this operation are called parsing addresses from strings and standardizing them.
Why Is It Difficult?
The main problem is a human factor. People rarely enter their addresses the same way, and programs sometimes make it look like an unreadable combination with many classes.
Another difficulty is in many variants of addresses. Many countries have standards and many abbreviations meaning the same (does ‘St’ mean ‘Street’ or ‘Saint’?).
To help you solve this task, we collected and analyzed ways of how to process addresses. Here is a list of popular technologies below. They are listed from the most primitive to the most complicated and versatile ones.
1. RegEx Address Parser
Before you’ve read that, dealing with addresses with regular expressions is not effective. Still, it can be useful in some situations. For this method, you need a pattern with meta-symbols and symbols.
For example, a stroke looking like "NAME_FOR_CITY XX, NAME_FOR_STREET YY", and addresses in this format can be parsed like city: "NAME_FOR_CITY", postcode: "XX", street: "NAME_FOR_STREET", house number: "YY". Just select the regexp and find the preferable expression.
Compiling this method:
the most effective technology for strictly structured strings, when standardizing is not required;
no need to use external libraries or address parsing APIs;
completely ineffective with freeform addresses;
may cause performance, debugging, and maintenance problems.
NPM is a cross-platform package manager included in the Node.js system. On its website, you can search for external libraries for address parsing. They vary strongly and fit certain country postcodes, local specifics, and address standards.
For example, if you are processing Australian addresses, you should search for an Australian parsing package. Some popular ones are:
US Street Address Parser, that understands suffixes and abbreviations, 5 to 9 digit ZIP-codes, etc.;
Property Address Parser (addresser), that has a helpful function .getRandomCity to simplify testing;
humanparser, helping to deal with names, salutations, and prefixes, and also address parsing functions.
To work with each one, you should enter "npm install ".
Shortly summing up for this method:
convenient for local services;
difficult to find a 100% suitable library;
a license may not allow commercial usage.
3. Online Parsers and Validator
If you don’t standardize many addresses daily or have a small number of them, look at this useful online tool. It allows to parse, standardize, and verify addresses online in minutes.
The mechanism is quite simple:
A user uploads a file with addresses (it can be Text, Excel, or CSV).
Map components (street, city, state, and others).
Tap "Start" and wait until addresses get parsed with the Geocoding API technology.
Download standardized and verified addresses.
However, you cannot verify large packages of addresses this way.
4. Geocoding API
Now let’s look at the most versatile and strong instrument for working with locations. Geocoding API provides the full cycle of operations: parsing, postal address normalization, validation, and verification.
The Geocoding APIs purpose is to show the most suitable existing place for each one entered. It is much more than just parsing, allowing to save time and effort for developers and improve the quality of operations.
For example, let’s look at a service from Geoapify. A useful basic feature is providing the level of confidence for each location.
CONFIRMED — for fully correct existing addresses with all required information;
PARTIALLY_CONFIRMED — up to a certain level, the address is correct, but there are mistakes;
NOT_CONFIRMED — the location does not exist, and you’ll receive the most alike one instead.
Also, you’ll see all related information: coordinates, all address components - house number, street, city, postcode, etc., and standardized address. The address entered initially will be tested and parsed, and verified.
Summarizing this method:
provides the most checked and full information, requires almost no additional attention;
still, working with non-confirmed addresses needs additional work and logic from developers;
performs all needed operations and works versatile with most of the countries, multi-language support;
usually is not free for large datasets.
Which One is the Best?
All stated technologies are different and suit various situations. If you have many free-form addresses, choose the Geocoding API to match all purposes at once. For certainly local projects, NPM-packages and regular expressions are also great. Also, try different ways of working and find the preferable one.
There are no posted comments.
- The Difference Between Biomethane and Biogas
- How De-Packaging Equipment Can Benefit Your Food Waste Business
- Email Spoofing - What Is It & How to Protect Yourself
- Reasons Of Why Bangladeshi Businesses Need To Redesign Their Websites
- Examining complete education and technologies: The impact of newly emerging technologies on complete education
- Agile fantasies and harsh business realities
- 5G Technology: Benefits and Challenges
- What are Advantage of Hotel Software
- The development of warfare cyberspace in the United States of America. By Giancarlo Elia Valori.
- Computer Operating System Used in Laptops and Desktops
- Data recovery from different electronic devices
- Is your RDP Secured?
- Commercial Security Systems
- DATA VISUALIZATION: WHAT IT IS AND WHY IT MATTERS?
- How Power BI Benefits Your Business?
- Safely Reset Your Windows Account with Active@ Password Changer
- How Artificial Intelligence and Machine Learning Shapes People Analytics
- Can Your Password Stand Up to A Data Breach?
- Unleash the Powerful Software Tools Awailable with Active@ Data Studio 18
- How Has the Pandemic Affected Software Development
- Why Uber Clone App Is A Better Solution For Online Taxi Startups
- How to Play Ethermore: A Step-by-Step Guide
- An Introduction to Ethermore: Everything You Need to Know to Get Started
- Safe way to make Deepfakes
- How Blockchain and A.I. Will Affect Businesses in the Next 10 Years
- Digital Transformation Vs Digitalization
- Manage all Your IT Storage Infrastructure with STOR2RRD
- All You Need to Know About Online Bus Ticket Booking App
- Blockchain for non-DeFi products
- Omni-Channel Loyalty Programs: A Strategic Imperative for Seamless CX