function bp_ensure_pc6( string $pc6 ): bool {
if ( ! function_exists('bp_db') ) return false;
$pc6 = strtoupper( str_replace(' ', '', $pc6) );
// Validate format
if ( ! preg_match('/^\d{4}[A-Z]{2}$/', $pc6) ) return false;
// ── Step 1: ensure PC6 exists in PDOK ────────────────────────
$pdok = bp_db()->get_row(
bp_db()->prepare(
"SELECT * FROM PDOK WHERE PC6 = %s",
$pc6
)
);
if ( empty($pdok) ) {
// Fetch from PDOK Locatieserver API
$url = 'https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?'
. http_build_query([
'q' => $pc6,
'fq' => 'type:postcode',
'rows' => 1,
'fl' => 'id,weergavenaam,gemeentecode,gemeentenaam,'
. 'woonplaatsnaam,straatnaam,postcode,'
. 'provinciecode,provincienaam,centroide_ll'
]);
$response = wp_remote_get( $url, ['timeout' => 5] );
if ( is_wp_error($response) ) return false;
$body = json_decode( wp_remote_retrieve_body($response), true );
$doc = $body['response']['docs'][0] ?? null;
if ( empty($doc) ) return false; // PC6 doesn't exist in PDOK either
// Insert into PDOK table
bp_db()->insert( 'PDOK', [
'PC6' => $pc6,
'woonplaatsnaam' => $doc['woonplaatsnaam'] ?? '',
'gemeentecode' => $doc['gemeentecode'] ?? '',
'gemeentenaam' => $doc['gemeentenaam'] ?? '',
'provinciecode' => $doc['provinciecode'] ?? '',
'provincienaam' => $doc['provincienaam'] ?? '',
'centroide_ll' => $doc['centroide_ll'] ?? '',
'straatnaam' => $doc['straatnaam'] ?? '',
'weergavenaam' => $doc['weergavenaam'] ?? '',
] );
// Re-fetch so we have a consistent $pdok object below
$pdok = bp_db()->get_row(
bp_db()->prepare("SELECT * FROM PDOK WHERE PC6 = %s", $pc6)
);
}
if ( empty($pdok) ) return false;
// ── Step 2: lookup corop_id via gemeente_corop ────────────────
$gem_code = 'GM' . $pdok->gemeentecode;
$corop_id = bp_db()->get_var(
bp_db()->prepare(
"SELECT corop_id FROM gemeente_corop WHERE gem_code = %s",
$gem_code
)
);
// ── Step 3: ensure PC6 exists in master ───────────────────────
$master = bp_db()->get_row(
bp_db()->prepare("SELECT PC6, woonplaatsnaam, straatnaam, corop_id FROM master WHERE PC6 = %s", $pc6)
);
if ( empty($master) ) {
// INSERT new row
bp_db()->insert( 'master', [
'PC6' => $pc6,
'woonplaatsnaam' => $pdok->woonplaatsnaam,
'straatnaam' => $pdok->straatnaam,
'GemCode' => $gem_code,
'GemNaam' => $pdok->gemeentenaam,
'corop_id' => $corop_id ?: null,
] );
} else {
// UPDATE only NULL fields
$updates = [];
if ( empty($master->woonplaatsnaam) ) $updates['woonplaatsnaam'] = $pdok->woonplaatsnaam;
if ( empty($master->straatnaam) ) $updates['straatnaam'] = $pdok->straatnaam;
if ( empty($master->corop_id) ) $updates['corop_id'] = $corop_id ?: null;
if ( ! empty($updates) ) {
bp_db()->update( 'master', $updates, ['PC6' => $pc6] );
}
}
return true;
}
Bürt.nl: Twiskeweg 63, 1503 AA Zaandam
Twiskeweg 63
1503 AA Zaandam
Zaandam ›
1503 ›
1503 AA ›
Twiskeweg 63
Twiskeweg 63
is een adres in de straat Twiskeweg,
met postcode 1503 AA
in Zaandam.
Het valt onder de gemeente Zaanstad , in de provincie Noord-Holland.
De buurt heet Peldersveld , wijk Wijk 13 Pelders- en Hoornsevel.
Adres
Twiskeweg 63, 1503 AA Zaandam
Postcode
1503 AA
Woonplaats
Zaandam
Gemeente
Zaanstad
Provincie
Noord-Holland
Coördinaten
52.44227521, 4.84717138
Gem. WOZ-waarde
373.000 €
Huurmarkt context
Gemiddelde huurprijzen · april 2026 · bron: buert.nl database
Gemeente
De gemiddelde huurprijs per m² in Zaanstad is €21,04. Dat is 31% lager dan het landelijk gemiddelde van €30,50.
Regio
De gemiddelde huurprijs per m² in Zaanstreek is €21,07. Dat is 30.9% lager dan het landelijk gemiddelde van €30,50.
Provincie
De gemiddelde huurprijs per m² in Noord-Holland is €33,61. Dat is 10.2% hoger dan het landelijk gemiddelde van €30,50.
Regio prijsrange
De goedkoopste huurhuizen in de regio staan in Krommenie (gem. € 18,13/m² ), de duurste in Zaandam (gem. € 21,84/m² ).
Regio oppervlakte
De grootste huurwoningen in de regio staan in Zaandam (gem. 115 m² ), de kleinste in Krommenie (gem. 92 m² ).
Andere adressen met postcode 1503 AA: Twiskeweg 61 , Twiskeweg 63 , Twiskeweg 65 , Twiskeweg 67 , Twiskeweg 69 , Twiskeweg 71 , Twiskeweg 73 , Twiskeweg 75 , Twiskeweg 77 , Twiskeweg 79 , Twiskeweg 81 , Twiskeweg 83 , Twiskeweg 85 , Twiskeweg 87 , Twiskeweg 89 , Twiskeweg 91 , Twiskeweg 93 , Twiskeweg 95 , Twiskeweg 97 , Twiskeweg 99 .
←
Terug naar postcode 1503 AA