Add tools to create postal code boundaries

This commit is contained in:
pietervdvn 2021-12-09 18:01:11 +01:00
parent 7be5493284
commit 98d92e763a
6 changed files with 1080 additions and 3 deletions

View file

@ -51,7 +51,7 @@ Minimap.createMiniMap = _ => {
const dummyLayout = new LayoutConfig({
language: ["en"],
id: "<theme>",
id: "&gt;theme&lt;",
maintainer: "pietervdvn",
version: "0",
title: "<theme>",
@ -63,7 +63,7 @@ const dummyLayout = new LayoutConfig({
layers: [
{
name: "<layer>",
id: "<layer>",
id: "&lt;layer&gt;",
source: {
osmTags: "id~*"
},
@ -75,7 +75,7 @@ const dummyLayout = new LayoutConfig({
new FeatureSwitchState(dummyLayout)
QueryParameters.GetQueryParameter("layer-<layer-id>", "true", "Wether or not the layer with id <layer-id> is shown")
QueryParameters.GetQueryParameter("layer-&lt;layer-id&gt;", "true", "Wether or not the layer with id <layer-id> is shown")
WriteFile("./Docs/URL_Parameters.md", QueryParameterDocumentation.GenerateQueryParameterDocs(), ["QueryParameters"])

30
scripts/makeConvex.ts Normal file
View file

@ -0,0 +1,30 @@
import fs from "fs";
import {GeoOperations} from "../Logic/GeoOperations";
import ScriptUtils from "./ScriptUtils";
/**
* Given one of more files, calculates a somewhat convex hull for them
* @param file
*/
function makeConvex(file) {
ScriptUtils.erasableLog("Handling", file)
const geoJson = JSON.parse(fs.readFileSync(file, "UTF8"))
const convex = GeoOperations.convexHull(geoJson, {concavity: 2})
if (convex.properties === undefined) {
convex.properties = {}
}
fs.writeFileSync(file + ".convex.geojson", JSON.stringify(convex))
}
let args = [...process.argv]
args.splice(0, 2)
args.forEach(file => {
try {
makeConvex(file)
} catch (e) {
console.error("Could not handle file ", file, " due to ", e)
}
})

View file

@ -0,0 +1,4 @@
#! /bin/bash
npm run generate:layeroverview
ts-node scripts/generateCache.ts postal_codes 8 /home/pietervdvn/Downloads/postal_codes 49.69606181911566 2.373046875 51.754240074033525 6.459960937499999 --generate-point-overview '*' --force-zoom-level 1

View file

@ -0,0 +1,865 @@
relation/3132739,9000
relation/3139053,9042
relation/3360497,2812
relation/3362712,2840
relation/3362870,2880
relation/3363489,2550
relation/3363494,2570
relation/3363502,2850
relation/3363503,2820
relation/3363507,2845
relation/3363508,2630
relation/3363512,2610
relation/3363513,2650
relation/3363518,2600
relation/3363519,2640
relation/3363541,2620
relation/3363542,2627
relation/3363543,2660
relation/3363545,2830
relation/3363546,2870
relation/3363558,2150
relation/3363559,2160
relation/3363560,2530
relation/3363561,2531
relation/3363578,2540
relation/3363579,2547
relation/3363583,2520
relation/3363592,2970
relation/3363595,2100
relation/3363596,2110
relation/3363734,2040
relation/3363834,2940
relation/3363845,2910
relation/3363847,2990
relation/3363868,2980
relation/3363869,2330
relation/3363873,2370
relation/3363878,2470
relation/3363879,2480
relation/3363881,2400
relation/3363885,2340
relation/3363886,2350
relation/3363890,2275
relation/3363892,2290
relation/3363893,2200
relation/3363894,2250
relation/3363897,2260
relation/3364558,2320
relation/3364559,2321
relation/3364560,2322
relation/3364561,2323
relation/3364562,2328
relation/3364725,2280
relation/3364726,2288
relation/3364735,2270
relation/3364739,2235
relation/3364741,2230
relation/3364742,2440
relation/3364743,2460
relation/3364745,2450
relation/3364748,3560
relation/3364754,3920
relation/3364759,3900
relation/3364761,3930
relation/3364762,3910
relation/3364768,3960
relation/3364769,3950
relation/3364771,3990
relation/3364772,3670
relation/3364789,3660
relation/3364795,3640
relation/3364804,3680
relation/3364806,3550
relation/3364812,3520
relation/3364813,3600
relation/3364815,3590
relation/3364821,3690
relation/3364825,3770
relation/3364826,3700
relation/3364827,3840
relation/3364829,3870
relation/3364833,3440
relation/3364835,3350
relation/3364836,3300
relation/3364838,4287
relation/3364841,1357
relation/3364842,3540
relation/3364845,3570
relation/3364847,3980
relation/3364848,3370
relation/3364851,3360
relation/3364852,3040
relation/3365424,2030
relation/3365426,2170
relation/3365439,2950
relation/3365440,2180
relation/3365441,2930
relation/3365442,2920
relation/3365443,2900
relation/3365444,2960
relation/3365445,2390
relation/3365447,2310
relation/3365684,2050
relation/3365779,2020
relation/3365990,2500
relation/3366032,2060
relation/3366102,2000
relation/3366103,2018
relation/3366216,2590
relation/3366218,2580
relation/3366219,2560
relation/3366245,3140
relation/3366247,3130
relation/3366250,3150
relation/3366251,1910
relation/3366254,1820
relation/3366255,1800
relation/3366258,1880
relation/3366260,1840
relation/3366261,9255
relation/3366264,1780
relation/3366265,1785
relation/3366268,2890
relation/3366269,1745
relation/3366272,9280
relation/3366273,9200
relation/3366275,9220
relation/3366276,9240
relation/3366277,9140
relation/3366282,9150
relation/3366288,2070
relation/3366289,9170
relation/3366292,9190
relation/3366294,9250
relation/3366296,9160
relation/3366298,9080
relation/3366299,9180
relation/3366301,9060
relation/3366302,9290
relation/3366305,9260
relation/3366308,9340
relation/3366309,9420
relation/3366312,9230
relation/3366318,9270
relation/3366320,9070
relation/3366321,9090
relation/3366325,9860
relation/3366344,9185
relation/3366347,9940
relation/3366348,9900
relation/3366355,9910
relation/3366358,8340
relation/3366360,8730
relation/3366362,8377
relation/3366364,8490
relation/3366366,8370
relation/3366383,2140
relation/3366390,8300
relation/3366392,8301
relation/3366396,8380
relation/3366400,8310
relation/3366410,8200
relation/3366411,8000
relation/3366414,8470
relation/3366415,8400
relation/3366421,8450
relation/3366423,8620
relation/3366426,8670
relation/3366427,8660
relation/3366428,8630
relation/3366433,8600
relation/3366434,8820
relation/3366435,8480
relation/3366436,8680
relation/3366442,8430
relation/3366446,8431
relation/3366454,8432
relation/3366457,8434
relation/3366462,8433
relation/3366463,3000
relation/3366464,3001
relation/3366465,3010
relation/3366466,3012
relation/3366467,3018
relation/3366516,3020
relation/3366517,3118
relation/3366561,3110
relation/3366562,3111
relation/3366812,8020
relation/3366814,8211
relation/3366818,8210
relation/3366820,8750
relation/3366822,8830
relation/3366823,8840
relation/3366829,8690
relation/3366830,8691
relation/3366874,8647
relation/3366876,8640
relation/3366879,8978
relation/3366883,8970
relation/3366888,8972
relation/3367188,8908
relation/3367195,8906
relation/3367200,8904
relation/3367229,8902
relation/3367235,8900
relation/3367255,8952
relation/3367260,8953
relation/3367485,8950
relation/3367488,8951
relation/3367525,8954
relation/3367526,8956
relation/3367528,8958
relation/3367534,8957
relation/3367536,8980
relation/3367990,8880
relation/3367991,8890
relation/3367995,8920
relation/3367997,8650
relation/3368005,8610
relation/3368013,8810
relation/3368014,8850
relation/3368033,8851
relation/3368036,8740
relation/3368038,8800
relation/3368047,8870
relation/3368056,8770
relation/3368057,8700
relation/3368059,8755
relation/3368064,8760
relation/3368066,8860
relation/3368070,8940
relation/3368084,8930
relation/3368087,8560
relation/3368088,8511
relation/3368096,8720
relation/3368099,8780
relation/3368101,8710
relation/3368108,8531
relation/3368115,8792
relation/3368119,8791
relation/3368120,8193
relation/3368124,8790
relation/3368132,8540
relation/3368143,8530
relation/3368151,8520
relation/3368162,8501
relation/3368167,8510
relation/3368549,8500
relation/3368551,8550
relation/3368552,8551
relation/3368553,8552
relation/3368866,8554
relation/3368867,8587
relation/3368870,8580
relation/3368872,8581
relation/3368875,8582
relation/3368878,8583
relation/3368879,8553
relation/3368881,8572
relation/3368884,8573
relation/3368890,8570
relation/3368898,9790
relation/3368899,9750
relation/3368903,9870
relation/3368904,9700
relation/3368906,9690
relation/3368908,9600
relation/3368920,9661
relation/3368951,9660
relation/3369135,2240
relation/3369136,2242
relation/3369137,2243
relation/3369141,2300
relation/3369143,2360
relation/3369202,2380
relation/3369203,2381
relation/3369204,2382
relation/3369409,2220
relation/3369410,2221
relation/3369411,2222
relation/3369412,2223
relation/3369532,2800
relation/3369533,2801
relation/3369534,2811
relation/3369670,2430
relation/3369671,2431
relation/3369708,2490
relation/3369709,2491
relation/3373522,9120
relation/3373523,9130
relation/3376627,9112
relation/3376836,9100
relation/3376837,9111
relation/3379410,1000
relation/3379411,1020
relation/3379412,1030
relation/3379413,1040
relation/3379414,1050
relation/3379415,1060
relation/3379416,1070
relation/3379417,1080
relation/3379418,1081
relation/3379419,1082
relation/3379420,1083
relation/3379421,1090
relation/3379422,1120
relation/3379423,1130
relation/3379424,1140
relation/3379425,1150
relation/3379426,1160
relation/3379427,1170
relation/3379428,1180
relation/3379429,1190
relation/3379430,1200
relation/3379431,1210
relation/3382866,1730
relation/3382867,1731
relation/3388165,2860
relation/3388166,2861
relation/3388219,9960
relation/3388220,9961
relation/3388221,9968
relation/3388426,9320
relation/3389084,9300
relation/3389085,9308
relation/3389086,9310
relation/3389796,9450
relation/3389797,9451
relation/3389820,9403
relation/3389821,9406
relation/3390349,9400
relation/3390350,9401
relation/3390351,9402
relation/3390352,9404
relation/3390505,9470
relation/3390506,9472
relation/3390507,9473
relation/3395144,9040
relation/3395438,9500
relation/3395439,9506
relation/3395501,9550
relation/3395502,9551
relation/3395503,9552
relation/3395517,9620
relation/3395616,9570
relation/3395617,9571
relation/3395618,9572
relation/3396269,9520
relation/3396270,9521
relation/3401812,9680
relation/3401813,9681
relation/3401814,9688
relation/3402433,9630
relation/3402434,9636
relation/3402455,9890
relation/3402463,9820
relation/3402467,9667
relation/3402498,9770
relation/3402499,9771
relation/3402512,9810
relation/3402518,9840
relation/3402538,9830
relation/3402539,9831
relation/3402546,9800
relation/3402556,9920
relation/3402557,9921
relation/3402566,9950
relation/3402584,9772
relation/3464939,9990
relation/3464940,9991
relation/3464941,9992
relation/3465067,9980
relation/3465068,9988
relation/3465069,9981
relation/3465070,9982
relation/3465093,9970
relation/3465094,9971
relation/3465186,9930
relation/3465187,9931
relation/3465188,9932
relation/3465267,9850
relation/3465316,9880
relation/3465317,9881
relation/3465327,8421
relation/3465330,8420
relation/3465348,8460
relation/3465364,1860
relation/3465365,1861
relation/3479470,3190
relation/3479471,3191
relation/3479494,1980
relation/3479495,1981
relation/3479536,1850
relation/3479537,1851
relation/3479538,1852
relation/3479539,1853
relation/3479592,1830
relation/3479593,1831
relation/3479621,3070
relation/3479622,3071
relation/3479623,3078
relation/3479665,1930
relation/3479666,1932
relation/3479667,1933
relation/3479696,3080
relation/3479742,1970
relation/3479744,1950
relation/3479747,3090
relation/3479750,1560
relation/3479798,3060
relation/3479799,3061
relation/3479847,3050
relation/3479848,3051
relation/3479849,3052
relation/3479850,3053
relation/3479851,3054
relation/3479860,1982
relation/3754121,9050
relation/3754122,9051
relation/3867174,3120
relation/3867175,3128
relation/3891769,3945
relation/3891778,3545
relation/3895654,3970
relation/3895655,3971
relation/3929631,3940
relation/3929632,3941
relation/3930000,3581
relation/3930143,3583
relation/3931049,3580
relation/3931050,3582
relation/3939002,3530
relation/3942151,3850
relation/3942525,3210
relation/3942526,3211
relation/3942527,3212
relation/3942584,1790
relation/3942585,1770
relation/3942600,1547
relation/3942703,1570
relation/3942876,1755
relation/3942878,1750
relation/3942890,1620
relation/3942912,1630
relation/3942913,1640
relation/3943013,9032
relation/3943014,9041
relation/3943048,9030
relation/3943055,9031
relation/3943102,9052
relation/3945536,3220
relation/3945537,3221
relation/3950158,1740
relation/3950159,1741
relation/3950160,1742
relation/3953991,1761
relation/3954045,1760
relation/3962684,1702
relation/3964740,3320
relation/3964741,3321
relation/3977259,3717
relation/4011593,1703
relation/4012641,1700
relation/4012642,1701
relation/4017007,7730
relation/4017128,7760
relation/4017129,7750
relation/4017304,7611
relation/4017305,7610
relation/4017306,7618
relation/4017348,7624
relation/4017358,7623
relation/4017376,7621
relation/4017450,7620
relation/4017452,7622
relation/4017512,7643
relation/4017569,7642
relation/4017570,7641
relation/4017582,7640
relation/4017842,7350
relation/4017852,7382
relation/4017853,7380
relation/4018917,7370
relation/4062084,7600
relation/4062085,7601
relation/4069650,7340
relation/4069687,7080
relation/4072281,7390
relation/4072445,7050
relation/4072459,7870
relation/4072510,7830
relation/4072511,7850
relation/4072560,1430
relation/4072656,7090
relation/4072686,7070
relation/4103968,1650
relation/4103969,1651
relation/4103970,1652
relation/4103971,1653
relation/4103972,1654
relation/4104019,1601
relation/4104200,1600
relation/4104201,1602
relation/4105502,1501
relation/4105926,1500
relation/4105927,1502
relation/4108139,1671
relation/4109781,1670
relation/4109782,1673
relation/4109783,1674
relation/4109911,1540
relation/4109912,1541
relation/4186134,3501
relation/4189269,3500
relation/4193628,3512
relation/4196096,3510
relation/4196328,3650
relation/4198359,3511
relation/4203185,7170
relation/4203186,7160
relation/4215710,3665
relation/4215711,3668
relation/4218236,7120
relation/4218237,6560
relation/4218238,6567
relation/4220905,6470
relation/4235983,6000
relation/4236044,6001
relation/4236045,6010
relation/4236122,6020
relation/4236123,6030
relation/4236155,6031
relation/4236156,6032
relation/4236191,6040
relation/4236198,6041
relation/4236232,6042
relation/4236233,6043
relation/4236263,6044
relation/4236299,6060
relation/4236300,6061
relation/4238953,6120
relation/4238988,6150
relation/4239031,6200
relation/4239038,6211
relation/4239165,6210
relation/4240188,6224
relation/4240192,6223
relation/4240196,6222
relation/4240197,6221
relation/4240223,6220
relation/4253515,6230
relation/4253516,6238
relation/4253571,6240
relation/4253578,6250
relation/4253589,6280
relation/4253627,7180
relation/4253628,7181
relation/4253646,6500
relation/4253647,6511
relation/4253781,1480
relation/4473118,3830
relation/4476408,3730
relation/4478844,3200
relation/4478891,3201
relation/4478892,3202
relation/4479876,3831
relation/4479877,3832
relation/4479929,3720
relation/4479930,3721
relation/4479931,3722
relation/4479932,3723
relation/4479933,3724
relation/4479946,3732
relation/4480724,3293
relation/4480743,3290
relation/4480744,3294
relation/4482775,3746
relation/4492492,3270
relation/4493465,3742
relation/4494368,3271
relation/4494369,3272
relation/4497124,3798
relation/4497188,3792
relation/4497356,3790
relation/4497379,3791
relation/4497380,3793
relation/4635621,3390
relation/4635622,3391
relation/4636469,3460
relation/4636470,3461
relation/4641362,3450
relation/4641363,3454
relation/4642674,3380
relation/4642675,3381
relation/4642676,3384
relation/4644584,3473
relation/4644666,3472
relation/4644681,3470
relation/4644682,3471
relation/4677616,3401
relation/4677870,3404
relation/4678417,3400
relation/4681897,3800
relation/4681898,3803
relation/4681899,3806
relation/4713840,3740
relation/4714602,3621
relation/4714658,3620
relation/4717645,3631
relation/4717688,3630
relation/4720905,3890
relation/4720907,3891
relation/4727591,1315
relation/4727592,1320
relation/4727593,1350
relation/4727594,1360
relation/4727595,1367
relation/4727596,1370
relation/4727602,1390
relation/4727606,1325
relation/4727607,1457
relation/4727631,1310
relation/4727632,1331
relation/4727641,1330
relation/4727642,1332
relation/4727648,1410
relation/4727654,1380
relation/4727658,1440
relation/4727668,1420
relation/4727671,1421
relation/4727712,1460
relation/4727713,1461
relation/4727724,1435
relation/4727727,1450
relation/4727732,1495
relation/4727733,1490
relation/4727759,1342
relation/4727761,1341
relation/4728040,7608
relation/5720163,1428
relation/5721127,1401
relation/5721133,1404
relation/5724081,1402
relation/5724100,1400
relation/5724109,1476
relation/5724114,1473
relation/5724115,1471
relation/5724131,1474
relation/5724280,1472
relation/5724305,1470
relation/5726870,5140
relation/6343119,1300
relation/6517171,59150
relation/8345160,1340
relation/8345161,1348
relation/9520110,7940
relation/9622112,6724
relation/9706199,4970
relation/9706200,4960
relation/9708979,4790
relation/9721913,4760
relation/9721914,4750
relation/9721915,4770
relation/9721916,4950
relation/9721917,4780
relation/9724931,5150
relation/9730734,4987
relation/9792735,4990
relation/9938886,4837
relation/9970249,4820
relation/9970250,4821
relation/10143396,4877
relation/10184618,4870
relation/10184619,4861
relation/10184620,4860
relation/10284874,4845
relation/10284875,4910
relation/10284876,4900
relation/10308690,6700
relation/10308691,6704
relation/10308692,6706
relation/10312732,6721
relation/10312733,6720
relation/10312734,6723
relation/10619232,6792
relation/10626187,6630
relation/10626251,6840
relation/10626571,6717
relation/10632750,6747
relation/10707212,6780
relation/10893681,4920
relation/10953767,6890
relation/10973142,4141
relation/10973143,4140
relation/11074457,4190
relation/11133193,4180
relation/11133194,4181
relation/11152476,6990
relation/11152477,6997
relation/11152478,6960
relation/11230847,6637
relation/11278663,6987
relation/11294782,6860
relation/11331902,6640
relation/11384736,6600
relation/11485371,6687
relation/11583045,7783
relation/11583046,7782
relation/11583047,7784
relation/11583048,7780
relation/11583049,7781
relation/11584131,7711
relation/11584132,7712
relation/11584133,7700
relation/11599903,7880
relation/11599904,7890
relation/11611417,4130
relation/11611430,7860
relation/11726320,4653
relation/11726410,4654
relation/11736448,4651
relation/11736449,4652
relation/11736450,4650
relation/11798622,4890
relation/11820267,4880
relation/11866085,6343
relation/11965721,4841
relation/11965722,4840
relation/12006674,6760
relation/12009767,6769
relation/12009804,6730
relation/12077869,6782
relation/12077908,6781
relation/12077926,6741
relation/12077964,6813
relation/12077971,6740
relation/12078017,6742
relation/12095656,4721
relation/12095657,4720
relation/12095658,4728
relation/12108800,6812
relation/12108822,6811
relation/12108981,6810
relation/12109042,6823
relation/12115031,6820
relation/12142985,4731
relation/12142986,4730
relation/12192340,4701
relation/12192341,4700
relation/12192342,4710
relation/12192343,4711
relation/12215466,6887
relation/12215660,6824
relation/12215687,6821
relation/12215831,6831
relation/12215896,6836
relation/12247586,4590
relation/12265101,4161
relation/12265102,4162
relation/12265103,4163
relation/12265104,4160
relation/12431129,4560
relation/12452305,4577
relation/12472225,4570
relation/12476593,4520
relation/12476594,4500
relation/12481068,4550
relation/12481069,4557
relation/12553251,4217
relation/12553252,4210
relation/12575264,4218
relation/12593511,4480
relation/12593512,4537
relation/12593513,4470
relation/12593514,4540
relation/12612191,4530
relation/12616025,6800
relation/12616487,6830
relation/12616501,6832
relation/12616681,6880
relation/12751422,4260
relation/12751423,4280
relation/12751424,4357
relation/12751425,4350
relation/12751426,4360
relation/12751427,4367
relation/12751428,4300
relation/12751429,4250
relation/12751430,4257
relation/12818751,6681
relation/12818787,6680
relation/12888344,6661
relation/12888355,6666
relation/12888356,6663
relation/12888358,6660
relation/12888379,6662
relation/12888625,6688
relation/12888627,6686
relation/12901768,6673
relation/12901769,6674
relation/12901770,6670
relation/12901772,6672
relation/12901773,6671
relation/12901778,6692
relation/12901817,6690
relation/12901819,6698
relation/12904655,6984
relation/12904664,6983
relation/12904688,6986
relation/12904710,6972
relation/12904847,6982
relation/12904861,6980
relation/12904877,6971
relation/12904949,6970
relation/12910224,6870
relation/12911159,6927
relation/12911189,6852
relation/12911214,6856
relation/12911238,6850
relation/12911239,6851
relation/12911525,6924
relation/12911552,6920
relation/12911560,6922
relation/12911593,6921
relation/12911603,6853
relation/12911813,6838
relation/12911859,6834
relation/12911863,6833
relation/12922472,6929
relation/13006513,4219
relation/13017440,4261
relation/13017441,4263
relation/13072253,6940
relation/13072279,6941
relation/13075685,6951
relation/13075686,6952
relation/13075687,6900
relation/13075718,6950
relation/13075724,6953
relation/13163556,4347
relation/13219312,4351
relation/13238973,4317
relation/13241165,4252
relation/13241166,4253
relation/13241167,4254
relation/13281285,4420
relation/13281286,4400
relation/13281287,4460
relation/13330444,4610
relation/13330601,4608
relation/13330602,4606
relation/13330603,4607
relation/13375800,4672
relation/13375801,4671
relation/13375802,4670
relation/13435478,4624
relation/13435479,4623
relation/13435480,4621
relation/13435481,4620
relation/13436023,4631
relation/13436024,4632
relation/13436025,4633
relation/13436026,4630
relation/13529276,4791
1 relation/3132739 9000
2 relation/3139053 9042
3 relation/3360497 2812
4 relation/3362712 2840
5 relation/3362870 2880
6 relation/3363489 2550
7 relation/3363494 2570
8 relation/3363502 2850
9 relation/3363503 2820
10 relation/3363507 2845
11 relation/3363508 2630
12 relation/3363512 2610
13 relation/3363513 2650
14 relation/3363518 2600
15 relation/3363519 2640
16 relation/3363541 2620
17 relation/3363542 2627
18 relation/3363543 2660
19 relation/3363545 2830
20 relation/3363546 2870
21 relation/3363558 2150
22 relation/3363559 2160
23 relation/3363560 2530
24 relation/3363561 2531
25 relation/3363578 2540
26 relation/3363579 2547
27 relation/3363583 2520
28 relation/3363592 2970
29 relation/3363595 2100
30 relation/3363596 2110
31 relation/3363734 2040
32 relation/3363834 2940
33 relation/3363845 2910
34 relation/3363847 2990
35 relation/3363868 2980
36 relation/3363869 2330
37 relation/3363873 2370
38 relation/3363878 2470
39 relation/3363879 2480
40 relation/3363881 2400
41 relation/3363885 2340
42 relation/3363886 2350
43 relation/3363890 2275
44 relation/3363892 2290
45 relation/3363893 2200
46 relation/3363894 2250
47 relation/3363897 2260
48 relation/3364558 2320
49 relation/3364559 2321
50 relation/3364560 2322
51 relation/3364561 2323
52 relation/3364562 2328
53 relation/3364725 2280
54 relation/3364726 2288
55 relation/3364735 2270
56 relation/3364739 2235
57 relation/3364741 2230
58 relation/3364742 2440
59 relation/3364743 2460
60 relation/3364745 2450
61 relation/3364748 3560
62 relation/3364754 3920
63 relation/3364759 3900
64 relation/3364761 3930
65 relation/3364762 3910
66 relation/3364768 3960
67 relation/3364769 3950
68 relation/3364771 3990
69 relation/3364772 3670
70 relation/3364789 3660
71 relation/3364795 3640
72 relation/3364804 3680
73 relation/3364806 3550
74 relation/3364812 3520
75 relation/3364813 3600
76 relation/3364815 3590
77 relation/3364821 3690
78 relation/3364825 3770
79 relation/3364826 3700
80 relation/3364827 3840
81 relation/3364829 3870
82 relation/3364833 3440
83 relation/3364835 3350
84 relation/3364836 3300
85 relation/3364838 4287
86 relation/3364841 1357
87 relation/3364842 3540
88 relation/3364845 3570
89 relation/3364847 3980
90 relation/3364848 3370
91 relation/3364851 3360
92 relation/3364852 3040
93 relation/3365424 2030
94 relation/3365426 2170
95 relation/3365439 2950
96 relation/3365440 2180
97 relation/3365441 2930
98 relation/3365442 2920
99 relation/3365443 2900
100 relation/3365444 2960
101 relation/3365445 2390
102 relation/3365447 2310
103 relation/3365684 2050
104 relation/3365779 2020
105 relation/3365990 2500
106 relation/3366032 2060
107 relation/3366102 2000
108 relation/3366103 2018
109 relation/3366216 2590
110 relation/3366218 2580
111 relation/3366219 2560
112 relation/3366245 3140
113 relation/3366247 3130
114 relation/3366250 3150
115 relation/3366251 1910
116 relation/3366254 1820
117 relation/3366255 1800
118 relation/3366258 1880
119 relation/3366260 1840
120 relation/3366261 9255
121 relation/3366264 1780
122 relation/3366265 1785
123 relation/3366268 2890
124 relation/3366269 1745
125 relation/3366272 9280
126 relation/3366273 9200
127 relation/3366275 9220
128 relation/3366276 9240
129 relation/3366277 9140
130 relation/3366282 9150
131 relation/3366288 2070
132 relation/3366289 9170
133 relation/3366292 9190
134 relation/3366294 9250
135 relation/3366296 9160
136 relation/3366298 9080
137 relation/3366299 9180
138 relation/3366301 9060
139 relation/3366302 9290
140 relation/3366305 9260
141 relation/3366308 9340
142 relation/3366309 9420
143 relation/3366312 9230
144 relation/3366318 9270
145 relation/3366320 9070
146 relation/3366321 9090
147 relation/3366325 9860
148 relation/3366344 9185
149 relation/3366347 9940
150 relation/3366348 9900
151 relation/3366355 9910
152 relation/3366358 8340
153 relation/3366360 8730
154 relation/3366362 8377
155 relation/3366364 8490
156 relation/3366366 8370
157 relation/3366383 2140
158 relation/3366390 8300
159 relation/3366392 8301
160 relation/3366396 8380
161 relation/3366400 8310
162 relation/3366410 8200
163 relation/3366411 8000
164 relation/3366414 8470
165 relation/3366415 8400
166 relation/3366421 8450
167 relation/3366423 8620
168 relation/3366426 8670
169 relation/3366427 8660
170 relation/3366428 8630
171 relation/3366433 8600
172 relation/3366434 8820
173 relation/3366435 8480
174 relation/3366436 8680
175 relation/3366442 8430
176 relation/3366446 8431
177 relation/3366454 8432
178 relation/3366457 8434
179 relation/3366462 8433
180 relation/3366463 3000
181 relation/3366464 3001
182 relation/3366465 3010
183 relation/3366466 3012
184 relation/3366467 3018
185 relation/3366516 3020
186 relation/3366517 3118
187 relation/3366561 3110
188 relation/3366562 3111
189 relation/3366812 8020
190 relation/3366814 8211
191 relation/3366818 8210
192 relation/3366820 8750
193 relation/3366822 8830
194 relation/3366823 8840
195 relation/3366829 8690
196 relation/3366830 8691
197 relation/3366874 8647
198 relation/3366876 8640
199 relation/3366879 8978
200 relation/3366883 8970
201 relation/3366888 8972
202 relation/3367188 8908
203 relation/3367195 8906
204 relation/3367200 8904
205 relation/3367229 8902
206 relation/3367235 8900
207 relation/3367255 8952
208 relation/3367260 8953
209 relation/3367485 8950
210 relation/3367488 8951
211 relation/3367525 8954
212 relation/3367526 8956
213 relation/3367528 8958
214 relation/3367534 8957
215 relation/3367536 8980
216 relation/3367990 8880
217 relation/3367991 8890
218 relation/3367995 8920
219 relation/3367997 8650
220 relation/3368005 8610
221 relation/3368013 8810
222 relation/3368014 8850
223 relation/3368033 8851
224 relation/3368036 8740
225 relation/3368038 8800
226 relation/3368047 8870
227 relation/3368056 8770
228 relation/3368057 8700
229 relation/3368059 8755
230 relation/3368064 8760
231 relation/3368066 8860
232 relation/3368070 8940
233 relation/3368084 8930
234 relation/3368087 8560
235 relation/3368088 8511
236 relation/3368096 8720
237 relation/3368099 8780
238 relation/3368101 8710
239 relation/3368108 8531
240 relation/3368115 8792
241 relation/3368119 8791
242 relation/3368120 8193
243 relation/3368124 8790
244 relation/3368132 8540
245 relation/3368143 8530
246 relation/3368151 8520
247 relation/3368162 8501
248 relation/3368167 8510
249 relation/3368549 8500
250 relation/3368551 8550
251 relation/3368552 8551
252 relation/3368553 8552
253 relation/3368866 8554
254 relation/3368867 8587
255 relation/3368870 8580
256 relation/3368872 8581
257 relation/3368875 8582
258 relation/3368878 8583
259 relation/3368879 8553
260 relation/3368881 8572
261 relation/3368884 8573
262 relation/3368890 8570
263 relation/3368898 9790
264 relation/3368899 9750
265 relation/3368903 9870
266 relation/3368904 9700
267 relation/3368906 9690
268 relation/3368908 9600
269 relation/3368920 9661
270 relation/3368951 9660
271 relation/3369135 2240
272 relation/3369136 2242
273 relation/3369137 2243
274 relation/3369141 2300
275 relation/3369143 2360
276 relation/3369202 2380
277 relation/3369203 2381
278 relation/3369204 2382
279 relation/3369409 2220
280 relation/3369410 2221
281 relation/3369411 2222
282 relation/3369412 2223
283 relation/3369532 2800
284 relation/3369533 2801
285 relation/3369534 2811
286 relation/3369670 2430
287 relation/3369671 2431
288 relation/3369708 2490
289 relation/3369709 2491
290 relation/3373522 9120
291 relation/3373523 9130
292 relation/3376627 9112
293 relation/3376836 9100
294 relation/3376837 9111
295 relation/3379410 1000
296 relation/3379411 1020
297 relation/3379412 1030
298 relation/3379413 1040
299 relation/3379414 1050
300 relation/3379415 1060
301 relation/3379416 1070
302 relation/3379417 1080
303 relation/3379418 1081
304 relation/3379419 1082
305 relation/3379420 1083
306 relation/3379421 1090
307 relation/3379422 1120
308 relation/3379423 1130
309 relation/3379424 1140
310 relation/3379425 1150
311 relation/3379426 1160
312 relation/3379427 1170
313 relation/3379428 1180
314 relation/3379429 1190
315 relation/3379430 1200
316 relation/3379431 1210
317 relation/3382866 1730
318 relation/3382867 1731
319 relation/3388165 2860
320 relation/3388166 2861
321 relation/3388219 9960
322 relation/3388220 9961
323 relation/3388221 9968
324 relation/3388426 9320
325 relation/3389084 9300
326 relation/3389085 9308
327 relation/3389086 9310
328 relation/3389796 9450
329 relation/3389797 9451
330 relation/3389820 9403
331 relation/3389821 9406
332 relation/3390349 9400
333 relation/3390350 9401
334 relation/3390351 9402
335 relation/3390352 9404
336 relation/3390505 9470
337 relation/3390506 9472
338 relation/3390507 9473
339 relation/3395144 9040
340 relation/3395438 9500
341 relation/3395439 9506
342 relation/3395501 9550
343 relation/3395502 9551
344 relation/3395503 9552
345 relation/3395517 9620
346 relation/3395616 9570
347 relation/3395617 9571
348 relation/3395618 9572
349 relation/3396269 9520
350 relation/3396270 9521
351 relation/3401812 9680
352 relation/3401813 9681
353 relation/3401814 9688
354 relation/3402433 9630
355 relation/3402434 9636
356 relation/3402455 9890
357 relation/3402463 9820
358 relation/3402467 9667
359 relation/3402498 9770
360 relation/3402499 9771
361 relation/3402512 9810
362 relation/3402518 9840
363 relation/3402538 9830
364 relation/3402539 9831
365 relation/3402546 9800
366 relation/3402556 9920
367 relation/3402557 9921
368 relation/3402566 9950
369 relation/3402584 9772
370 relation/3464939 9990
371 relation/3464940 9991
372 relation/3464941 9992
373 relation/3465067 9980
374 relation/3465068 9988
375 relation/3465069 9981
376 relation/3465070 9982
377 relation/3465093 9970
378 relation/3465094 9971
379 relation/3465186 9930
380 relation/3465187 9931
381 relation/3465188 9932
382 relation/3465267 9850
383 relation/3465316 9880
384 relation/3465317 9881
385 relation/3465327 8421
386 relation/3465330 8420
387 relation/3465348 8460
388 relation/3465364 1860
389 relation/3465365 1861
390 relation/3479470 3190
391 relation/3479471 3191
392 relation/3479494 1980
393 relation/3479495 1981
394 relation/3479536 1850
395 relation/3479537 1851
396 relation/3479538 1852
397 relation/3479539 1853
398 relation/3479592 1830
399 relation/3479593 1831
400 relation/3479621 3070
401 relation/3479622 3071
402 relation/3479623 3078
403 relation/3479665 1930
404 relation/3479666 1932
405 relation/3479667 1933
406 relation/3479696 3080
407 relation/3479742 1970
408 relation/3479744 1950
409 relation/3479747 3090
410 relation/3479750 1560
411 relation/3479798 3060
412 relation/3479799 3061
413 relation/3479847 3050
414 relation/3479848 3051
415 relation/3479849 3052
416 relation/3479850 3053
417 relation/3479851 3054
418 relation/3479860 1982
419 relation/3754121 9050
420 relation/3754122 9051
421 relation/3867174 3120
422 relation/3867175 3128
423 relation/3891769 3945
424 relation/3891778 3545
425 relation/3895654 3970
426 relation/3895655 3971
427 relation/3929631 3940
428 relation/3929632 3941
429 relation/3930000 3581
430 relation/3930143 3583
431 relation/3931049 3580
432 relation/3931050 3582
433 relation/3939002 3530
434 relation/3942151 3850
435 relation/3942525 3210
436 relation/3942526 3211
437 relation/3942527 3212
438 relation/3942584 1790
439 relation/3942585 1770
440 relation/3942600 1547
441 relation/3942703 1570
442 relation/3942876 1755
443 relation/3942878 1750
444 relation/3942890 1620
445 relation/3942912 1630
446 relation/3942913 1640
447 relation/3943013 9032
448 relation/3943014 9041
449 relation/3943048 9030
450 relation/3943055 9031
451 relation/3943102 9052
452 relation/3945536 3220
453 relation/3945537 3221
454 relation/3950158 1740
455 relation/3950159 1741
456 relation/3950160 1742
457 relation/3953991 1761
458 relation/3954045 1760
459 relation/3962684 1702
460 relation/3964740 3320
461 relation/3964741 3321
462 relation/3977259 3717
463 relation/4011593 1703
464 relation/4012641 1700
465 relation/4012642 1701
466 relation/4017007 7730
467 relation/4017128 7760
468 relation/4017129 7750
469 relation/4017304 7611
470 relation/4017305 7610
471 relation/4017306 7618
472 relation/4017348 7624
473 relation/4017358 7623
474 relation/4017376 7621
475 relation/4017450 7620
476 relation/4017452 7622
477 relation/4017512 7643
478 relation/4017569 7642
479 relation/4017570 7641
480 relation/4017582 7640
481 relation/4017842 7350
482 relation/4017852 7382
483 relation/4017853 7380
484 relation/4018917 7370
485 relation/4062084 7600
486 relation/4062085 7601
487 relation/4069650 7340
488 relation/4069687 7080
489 relation/4072281 7390
490 relation/4072445 7050
491 relation/4072459 7870
492 relation/4072510 7830
493 relation/4072511 7850
494 relation/4072560 1430
495 relation/4072656 7090
496 relation/4072686 7070
497 relation/4103968 1650
498 relation/4103969 1651
499 relation/4103970 1652
500 relation/4103971 1653
501 relation/4103972 1654
502 relation/4104019 1601
503 relation/4104200 1600
504 relation/4104201 1602
505 relation/4105502 1501
506 relation/4105926 1500
507 relation/4105927 1502
508 relation/4108139 1671
509 relation/4109781 1670
510 relation/4109782 1673
511 relation/4109783 1674
512 relation/4109911 1540
513 relation/4109912 1541
514 relation/4186134 3501
515 relation/4189269 3500
516 relation/4193628 3512
517 relation/4196096 3510
518 relation/4196328 3650
519 relation/4198359 3511
520 relation/4203185 7170
521 relation/4203186 7160
522 relation/4215710 3665
523 relation/4215711 3668
524 relation/4218236 7120
525 relation/4218237 6560
526 relation/4218238 6567
527 relation/4220905 6470
528 relation/4235983 6000
529 relation/4236044 6001
530 relation/4236045 6010
531 relation/4236122 6020
532 relation/4236123 6030
533 relation/4236155 6031
534 relation/4236156 6032
535 relation/4236191 6040
536 relation/4236198 6041
537 relation/4236232 6042
538 relation/4236233 6043
539 relation/4236263 6044
540 relation/4236299 6060
541 relation/4236300 6061
542 relation/4238953 6120
543 relation/4238988 6150
544 relation/4239031 6200
545 relation/4239038 6211
546 relation/4239165 6210
547 relation/4240188 6224
548 relation/4240192 6223
549 relation/4240196 6222
550 relation/4240197 6221
551 relation/4240223 6220
552 relation/4253515 6230
553 relation/4253516 6238
554 relation/4253571 6240
555 relation/4253578 6250
556 relation/4253589 6280
557 relation/4253627 7180
558 relation/4253628 7181
559 relation/4253646 6500
560 relation/4253647 6511
561 relation/4253781 1480
562 relation/4473118 3830
563 relation/4476408 3730
564 relation/4478844 3200
565 relation/4478891 3201
566 relation/4478892 3202
567 relation/4479876 3831
568 relation/4479877 3832
569 relation/4479929 3720
570 relation/4479930 3721
571 relation/4479931 3722
572 relation/4479932 3723
573 relation/4479933 3724
574 relation/4479946 3732
575 relation/4480724 3293
576 relation/4480743 3290
577 relation/4480744 3294
578 relation/4482775 3746
579 relation/4492492 3270
580 relation/4493465 3742
581 relation/4494368 3271
582 relation/4494369 3272
583 relation/4497124 3798
584 relation/4497188 3792
585 relation/4497356 3790
586 relation/4497379 3791
587 relation/4497380 3793
588 relation/4635621 3390
589 relation/4635622 3391
590 relation/4636469 3460
591 relation/4636470 3461
592 relation/4641362 3450
593 relation/4641363 3454
594 relation/4642674 3380
595 relation/4642675 3381
596 relation/4642676 3384
597 relation/4644584 3473
598 relation/4644666 3472
599 relation/4644681 3470
600 relation/4644682 3471
601 relation/4677616 3401
602 relation/4677870 3404
603 relation/4678417 3400
604 relation/4681897 3800
605 relation/4681898 3803
606 relation/4681899 3806
607 relation/4713840 3740
608 relation/4714602 3621
609 relation/4714658 3620
610 relation/4717645 3631
611 relation/4717688 3630
612 relation/4720905 3890
613 relation/4720907 3891
614 relation/4727591 1315
615 relation/4727592 1320
616 relation/4727593 1350
617 relation/4727594 1360
618 relation/4727595 1367
619 relation/4727596 1370
620 relation/4727602 1390
621 relation/4727606 1325
622 relation/4727607 1457
623 relation/4727631 1310
624 relation/4727632 1331
625 relation/4727641 1330
626 relation/4727642 1332
627 relation/4727648 1410
628 relation/4727654 1380
629 relation/4727658 1440
630 relation/4727668 1420
631 relation/4727671 1421
632 relation/4727712 1460
633 relation/4727713 1461
634 relation/4727724 1435
635 relation/4727727 1450
636 relation/4727732 1495
637 relation/4727733 1490
638 relation/4727759 1342
639 relation/4727761 1341
640 relation/4728040 7608
641 relation/5720163 1428
642 relation/5721127 1401
643 relation/5721133 1404
644 relation/5724081 1402
645 relation/5724100 1400
646 relation/5724109 1476
647 relation/5724114 1473
648 relation/5724115 1471
649 relation/5724131 1474
650 relation/5724280 1472
651 relation/5724305 1470
652 relation/5726870 5140
653 relation/6343119 1300
654 relation/6517171 59150
655 relation/8345160 1340
656 relation/8345161 1348
657 relation/9520110 7940
658 relation/9622112 6724
659 relation/9706199 4970
660 relation/9706200 4960
661 relation/9708979 4790
662 relation/9721913 4760
663 relation/9721914 4750
664 relation/9721915 4770
665 relation/9721916 4950
666 relation/9721917 4780
667 relation/9724931 5150
668 relation/9730734 4987
669 relation/9792735 4990
670 relation/9938886 4837
671 relation/9970249 4820
672 relation/9970250 4821
673 relation/10143396 4877
674 relation/10184618 4870
675 relation/10184619 4861
676 relation/10184620 4860
677 relation/10284874 4845
678 relation/10284875 4910
679 relation/10284876 4900
680 relation/10308690 6700
681 relation/10308691 6704
682 relation/10308692 6706
683 relation/10312732 6721
684 relation/10312733 6720
685 relation/10312734 6723
686 relation/10619232 6792
687 relation/10626187 6630
688 relation/10626251 6840
689 relation/10626571 6717
690 relation/10632750 6747
691 relation/10707212 6780
692 relation/10893681 4920
693 relation/10953767 6890
694 relation/10973142 4141
695 relation/10973143 4140
696 relation/11074457 4190
697 relation/11133193 4180
698 relation/11133194 4181
699 relation/11152476 6990
700 relation/11152477 6997
701 relation/11152478 6960
702 relation/11230847 6637
703 relation/11278663 6987
704 relation/11294782 6860
705 relation/11331902 6640
706 relation/11384736 6600
707 relation/11485371 6687
708 relation/11583045 7783
709 relation/11583046 7782
710 relation/11583047 7784
711 relation/11583048 7780
712 relation/11583049 7781
713 relation/11584131 7711
714 relation/11584132 7712
715 relation/11584133 7700
716 relation/11599903 7880
717 relation/11599904 7890
718 relation/11611417 4130
719 relation/11611430 7860
720 relation/11726320 4653
721 relation/11726410 4654
722 relation/11736448 4651
723 relation/11736449 4652
724 relation/11736450 4650
725 relation/11798622 4890
726 relation/11820267 4880
727 relation/11866085 6343
728 relation/11965721 4841
729 relation/11965722 4840
730 relation/12006674 6760
731 relation/12009767 6769
732 relation/12009804 6730
733 relation/12077869 6782
734 relation/12077908 6781
735 relation/12077926 6741
736 relation/12077964 6813
737 relation/12077971 6740
738 relation/12078017 6742
739 relation/12095656 4721
740 relation/12095657 4720
741 relation/12095658 4728
742 relation/12108800 6812
743 relation/12108822 6811
744 relation/12108981 6810
745 relation/12109042 6823
746 relation/12115031 6820
747 relation/12142985 4731
748 relation/12142986 4730
749 relation/12192340 4701
750 relation/12192341 4700
751 relation/12192342 4710
752 relation/12192343 4711
753 relation/12215466 6887
754 relation/12215660 6824
755 relation/12215687 6821
756 relation/12215831 6831
757 relation/12215896 6836
758 relation/12247586 4590
759 relation/12265101 4161
760 relation/12265102 4162
761 relation/12265103 4163
762 relation/12265104 4160
763 relation/12431129 4560
764 relation/12452305 4577
765 relation/12472225 4570
766 relation/12476593 4520
767 relation/12476594 4500
768 relation/12481068 4550
769 relation/12481069 4557
770 relation/12553251 4217
771 relation/12553252 4210
772 relation/12575264 4218
773 relation/12593511 4480
774 relation/12593512 4537
775 relation/12593513 4470
776 relation/12593514 4540
777 relation/12612191 4530
778 relation/12616025 6800
779 relation/12616487 6830
780 relation/12616501 6832
781 relation/12616681 6880
782 relation/12751422 4260
783 relation/12751423 4280
784 relation/12751424 4357
785 relation/12751425 4350
786 relation/12751426 4360
787 relation/12751427 4367
788 relation/12751428 4300
789 relation/12751429 4250
790 relation/12751430 4257
791 relation/12818751 6681
792 relation/12818787 6680
793 relation/12888344 6661
794 relation/12888355 6666
795 relation/12888356 6663
796 relation/12888358 6660
797 relation/12888379 6662
798 relation/12888625 6688
799 relation/12888627 6686
800 relation/12901768 6673
801 relation/12901769 6674
802 relation/12901770 6670
803 relation/12901772 6672
804 relation/12901773 6671
805 relation/12901778 6692
806 relation/12901817 6690
807 relation/12901819 6698
808 relation/12904655 6984
809 relation/12904664 6983
810 relation/12904688 6986
811 relation/12904710 6972
812 relation/12904847 6982
813 relation/12904861 6980
814 relation/12904877 6971
815 relation/12904949 6970
816 relation/12910224 6870
817 relation/12911159 6927
818 relation/12911189 6852
819 relation/12911214 6856
820 relation/12911238 6850
821 relation/12911239 6851
822 relation/12911525 6924
823 relation/12911552 6920
824 relation/12911560 6922
825 relation/12911593 6921
826 relation/12911603 6853
827 relation/12911813 6838
828 relation/12911859 6834
829 relation/12911863 6833
830 relation/12922472 6929
831 relation/13006513 4219
832 relation/13017440 4261
833 relation/13017441 4263
834 relation/13072253 6940
835 relation/13072279 6941
836 relation/13075685 6951
837 relation/13075686 6952
838 relation/13075687 6900
839 relation/13075718 6950
840 relation/13075724 6953
841 relation/13163556 4347
842 relation/13219312 4351
843 relation/13238973 4317
844 relation/13241165 4252
845 relation/13241166 4253
846 relation/13241167 4254
847 relation/13281285 4420
848 relation/13281286 4400
849 relation/13281287 4460
850 relation/13330444 4610
851 relation/13330601 4608
852 relation/13330602 4606
853 relation/13330603 4607
854 relation/13375800 4672
855 relation/13375801 4671
856 relation/13375802 4670
857 relation/13435478 4624
858 relation/13435479 4623
859 relation/13435480 4621
860 relation/13435481 4620
861 relation/13436023 4631
862 relation/13436024 4632
863 relation/13436025 4633
864 relation/13436026 4630
865 relation/13529276 4791

View file

@ -0,0 +1,123 @@
import * as fs from "fs";
import * as readline from "readline";
import ScriptUtils from "./ScriptUtils";
import {existsSync, writeFileSync} from "fs";
import {GeoOperations} from "../Logic/GeoOperations";
import {Utils} from "../Utils";
import {post} from "jquery";
import {createECDH} from "crypto";
/**
* Converts an open-address CSV file into a big geojson file
*/
async function main(args: string[]) {
const inputFile = args[0]
const outputFile = args[1]
const fileStream = fs.createReadStream(inputFile);
const perPostalCode = args[2] == "--per-postal-code"
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
// Note: we use the crlfDelay option to recognize all instances of CR LF
// ('\r\n') in input.txt as a single line break.
const fields = [
"EPSG:31370_x", "EPSG:31370_y", "EPSG:4326_lat", "EPSG:4326_lon",
"address_id", "box_number",
"house_number", "municipality_id", "municipality_name_de", "municipality_name_fr", "municipality_name_nl", "postcode", "postname_fr",
"postname_nl", "street_id", "streetname_de", "streetname_fr", "streetname_nl", "region_code", "status"
]
let i = 0;
let failed = 0
let createdFiles : string [] = []
fs.writeFileSync(outputFile, "")
// @ts-ignore
for await (const line of rl) {
i++;
if (i % 10000 == 0) {
ScriptUtils.erasableLog("Converted ", i, "features (of which ", failed, "features don't have a coordinate)")
}
const data = line.split(",")
const parsed: any = {}
for (let i = 0; i < fields.length; i++) {
const field = fields[i];
parsed[field] = data[i]
}
const lat = Number(parsed["EPSG:4326_lat"])
const lon = Number(parsed["EPSG:4326_lon"])
if (parsed["EPSG:31370_x"] === "0.0") {
failed++
continue
}
delete parsed["EPSG:4326_lat"]
delete parsed["EPSG:4326_lon"]
delete parsed["EPSG:31370_x"]
delete parsed["EPSG:31370_y"]
delete parsed["EPSG:4326_lat"]
delete parsed["EPSG:4326_lat"]
let targetFile = outputFile
if (perPostalCode) {
targetFile = outputFile + "-" + parsed["postcode"] + ".geojson"
let isFirst = false
if(!existsSync(targetFile)){
writeFileSync(targetFile, '{ "type":"FeatureCollection", "features":[')
createdFiles.push(targetFile)
isFirst = true
}
if(!isFirst){
fs.appendFileSync(targetFile, ",\n")
}
fs.appendFileSync(targetFile, JSON.stringify({
type: "Feature",
properties: parsed,
geometry: {
type: "Point",
coordinates: [lon, lat]
}
}))
}else{
fs.appendFileSync(outputFile, JSON.stringify({
type: "Feature",
properties: parsed,
geometry: {
type: "Point",
coordinates: [lon, lat]
}
}) + "\n")
}
}
console.log("Closing files...")
createdFiles.sort()
for (const createdFile of createdFiles) {
ScriptUtils.erasableLog("Closing ", createdFile, "and creating convex hull")
fs.appendFileSync(createdFile, "]}")
}
console.log("Done! Converted ", i, "features (of which ", failed, "features don't have a coordinate)")
}
let args = [...process.argv]
args.splice(0, 2)
if (args.length == 0) {
console.log("USAGE: input-csv-file output.newline-delimited-geojson.json [--per-postal-code]")
} else {
main(args).catch(e => console.error(e))
}

View file

@ -0,0 +1,55 @@
import * as fs from "fs";
import ScriptUtils from "./ScriptUtils";
import {post} from "jquery";
import {writeFileSync} from "fs";
function handleFile(file: string, postalCode: number) {
const geojson = JSON.parse(fs.readFileSync(file, "UTF8"))
geojson.properties = {
type: "boundary",
"boundary": "postal_code",
"postal_code": postalCode + ""
}
return geojson
}
function getKnownPostalCodes(): number[] {
return fs.readFileSync("./scripts/postal_code_tools/knownPostalCodes.csv", "UTF8").split("\n")
.map(line => Number(line.split(",")[1]))
}
function main(args: string[]) {
const dir = args[0]
const knownPostals = new Set<number>(getKnownPostalCodes())
const files = ScriptUtils.readDirRecSync(dir, 1)
const allFiles = []
const skipped = []
for (const file of files) {
const nameParts = file.split("-")
const postalCodeStr = nameParts[nameParts.length - 1]
const postalCode = Number(postalCodeStr.substr(0, postalCodeStr.length - ".geojson.convex.geojson".length))
if (isNaN(postalCode)) {
console.error("Not a number: ", postalCodeStr)
continue
}
if (knownPostals.has(postalCode)) {
skipped.push(postalCode)
ScriptUtils.erasableLog("Skipping boundary for ", postalCode, "as it is already known - skipped ", skipped.length, "already")
continue
}
allFiles.push(handleFile(file, postalCode))
}
writeFileSync("all_postal_codes_filtered.geojson", JSON.stringify({
type: "FeatureCollection",
features: allFiles
}))
}
let args = [...process.argv]
args.splice(0, 2)
main(args)