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: Cieweg 42, 1902 AB Castricum
Cieweg 42 — 1902 AB Castricum
Castricum ›
1902 ›
1902 AB ›
Cieweg 42
Cieweg 42
is een adres in de straat Cieweg,
met postcode 1902 AB
in Castricum.
Het valt onder de gemeente Castricum , in de provincie Noord-Holland.
De buurt heet Centrum-Zuid , wijk Wijk 00 Centrum.
Adres
Cieweg 42, 1902 AB Castricum
Postcode
1902 AB
Woonplaats
Castricum
Gemeente
Castricum
Provincie
Noord-Holland
Coördinaten
52.54517722, 4.67225846
Gem. WOZ-waarde
453.000 €
Huurmarkt context
Gemiddelde huurprijzen · april 2026 · bron: buert.nl database
Gemeente
De gemiddelde huurprijs per m² in Castricum is €19,54. Dat is 35.9% lager dan het landelijk gemiddelde van €30,50.
Regio
De gemiddelde huurprijs per m² in IJmond is €21,50. Dat is 29.5% 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 Uitgeest (gem. € 13,62/m² ), de duurste in Beverwijk (gem. € 28,36/m² ).
Regio oppervlakte
De grootste huurwoningen in de regio staan in Castricum (gem. 106 m² ), de kleinste in Beverwijk (gem. 34 m² ).
Andere adressen met postcode 1902 AB: Cieweg 24 , Cieweg 26 , Cieweg 28 , Cieweg 30 , Cieweg 32 , Cieweg 34 , Cieweg 36 , Cieweg 38 , Cieweg 40 , Cieweg 42 , Cieweg 44 , Cieweg 46 , Cieweg 48 , Cieweg 50 , Cieweg 52 , Cieweg 54 , Cieweg 56 , Cieweg 58 , Cieweg 60 , Cieweg 62 , Cieweg 64 , Cieweg 66 , Cieweg 68 , Cieweg 70 .
←
Terug naar postcode 1902 AB