Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mevdschee/postcodes-nl
Dutch postcodes in CSV format (7zip) and MySQL import script
https://github.com/mevdschee/postcodes-nl
csv-dataset dataset mysql nederland netherlands postcode postcodes
Last synced: 9 days ago
JSON representation
Dutch postcodes in CSV format (7zip) and MySQL import script
- Host: GitHub
- URL: https://github.com/mevdschee/postcodes-nl
- Owner: mevdschee
- License: mit
- Created: 2024-04-13T22:38:12.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-10-02T21:22:40.000Z (3 months ago)
- Last Synced: 2024-10-05T21:41:30.652Z (3 months ago)
- Topics: csv-dataset, dataset, mysql, nederland, netherlands, postcode, postcodes
- Language: PHP
- Homepage:
- Size: 21.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Postcodes NL
Dutch postcodes in CSV format (7zip) and MySQL import script to allow for address validation in the Netherlands.
Check out the [latest release](https://github.com/mevdschee/postcodes-nl/releases).
## Files
The release contains the following files:
- **`postcodes-nl.7z`**: Dataset in CSV format with 7zip compression
- **`postcodes-nl.php`**: Script to load the CSV into a MySQL database
- **`postcodes-nl.sh`**: Script to unpack the 7zip archive and run PHPNB: The CSV dataset is 341MB but with 7zip compression it is reduced to 15MB.
## Running
Configure your database in `postcodes-nl.php` and run using:
bash postcodes-nl.sh
To run you need:
sudo apt install 7zip php-cli php-mysql
This assumes you are using a Debian based Linux distribution.
## Releasing
Release using:
bash release.sh
To release you need:
sudo apt install 7zip wget php-cli gh
This uses the Github CLI on Debian Linux.
## Sample data
Here are the first 3 records of the 24.04 release in CSV format:
straat,huisnummer,huisletter,huistoevoeging,woonplaats,postcode
"De Ruijterkade",99,,,Amsterdam,1011AB
"De Ruijterkade",105,,1,Amsterdam,1011AB
"De Ruijterkade",105,,2,Amsterdam,1011ABHere is the SQL for those 3 records (including the table structure):
CREATE TABLE `postcodes` (
`straat` varchar(255) DEFAULT NULL,
`huisnummer` varchar(255) DEFAULT NULL,
`huisletter` varchar(255) DEFAULT NULL,
`huistoevoeging` varchar(255) DEFAULT NULL,
`woonplaats` varchar(255) DEFAULT NULL,
`postcode` varchar(255) DEFAULT NULL,
KEY `postcode` (`postcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO `postcodes` (`straat`, `huisnummer`, `huisletter`, `huistoevoeging`, `woonplaats`, `postcode`) VALUES
('De Ruijterkade', '99', NULL, NULL, 'Amsterdam', '1011AB'),
('De Ruijterkade', '105', NULL, '1', 'Amsterdam', '1011AB'),
('De Ruijterkade', '105', NULL, '2', 'Amsterdam', '1011AB');NB: The 24.04 release has 9771442 records.
## Credits
This project loads the smallest dataset from:
- [github.com/mevdschee/bagconv-docker](https://github.com/mevdschee/bagconv-docker)
Which is a fork of:
- [github.com/berthubert/bagconv](https://github.com/berthubert/bagconv)
See also [this blog post](https://berthub.eu/articles/posts/dutch-postcode-and-building-database/) by Bert Hubert.