public void TestPanoramaData() { string csv = @"gps_seconds[s] panorama_file_name latitude[deg] longitude[deg] altitude_ellipsoidal[m] roll[deg] pitch[deg] heading[deg] 1178263175.056717 1178263175_056717_0 52.3516092805462 4.84263355846614 44.4415162112564 -0.955654841566599 0.0973349014609538 87.3409739047135 1178263176.196691 1178263176_196691_1 52.3516076631198 4.84248741326708 44.4738408364356 -0.725916665867848 -0.031401407848429 88.5896089189283 1178263177.306679 1178263177_306679_2 52.3516082396404 4.84234135030321 44.5097852116451 -0.708516704927227 -0.108377587284742 90.0325795636947 1178263178.386648 1178263178_386648_3 52.3516118476512 4.8421957188643 44.5319389142096 -1.065234147629 0.242642421605154 92.0613240058035" ; var panoramas = new CsvGeoLocation(csv); Assert.AreEqual(CsvGeoLocation.CsvGeoLocationStatus.FailedNoColumns, panoramas.Status); }
public void TestCsvGeoLocationParse() { var csv = @"Omschrijving;RD X;RD Y;Datum aanvraag;Datum oplevering;3d object Project 'Herziening rotonde 231';150000;350000;11/8/2021;3/2/2022;projects/423_1 Bouwplan 'De Nieuwe Stad'; 178000; 312000; 2 / 1 / 2022; 14/6/2023; projects / 423_2 Overspanning viaduct Laarderweg; 80000; 350000; 3/9/2021; 30/12/2021; projects / 423_3"; var csvgeoloc = new CsvGeoLocation(csv); Assert.AreEqual(3, csvgeoloc.Rows.Count); Assert.AreEqual(2, csvgeoloc.CoordinateColumns.Length); }
public void TestBagLigplaatsen() { string csv = @"identificatie;aanduidingInOnderzoek;geconstateerd;heeftIn:BAG.NAG.identificatieHoofdadres;huisnummerHoofdadres;huisletterHoofdadres;huisnummertoevoegingHoofdadres;postcodeHoofdadres;ligtAan:BAG.ORE.identificatieHoofdadres;ligtAan:BAG.ORE.naamHoofdadres;ligtIn:BAG.WPS.identificatieHoofdadres;ligtIn:BAG.WPS.naamHoofdadres;ligtIn:BRK.GME.identificatie;ligtIn:BRK.GME.naam;heeftIn:BAG.NAG.identificatieNevenadres;status;is:WOZ.WOB.soortObject;beginGeldigheid;eindGeldigheid;documentdatum;documentnummer;ligtIn:GBD.BRT.identificatie;ligtIn:GBD.BRT.code;ligtIn:GBD.BRT.naam;ligtIn:GBD.WIJK.identificatie;ligtIn:GBD.WIJK.code;ligtIn:GBD.WIJK.naam;ligtIn:GBD.GGW.identificatie;ligtIn:GBD.GGW.code;ligtIn:GBD.GGW.naam;ligtIn:GBD.GGP.identificatie;ligtIn:GBD.GGP.code;ligtIn:GBD.GGP.naam;ligtIn:GBD.SDL.identificatie;ligtIn:GBD.SDL.code;ligtIn:GBD.SDL.naam;geometrie 0363020000724414;N;N;0363200000415534;206;;;1019BG;0363300000004167;Levantkade;3594;Amsterdam;0363;Amsterdam;;Plaats aangewezen;;2010-09-09T00:00:00;;2010-09-09;GV00000407;03630000000584;M33d;KNSM-eiland;03630012052076;M33;Oostelijk Havengebied;03630950000013;DX14;Indische Buurt, Oostelijk Havengebied;03630940000015;PX17;Oostelijk Havengebied;03630011872039;M;Oost;POLYGON ((124925.138 487680.771, 124926.262 487676.629, 124928.765 487676.792, 124929.671 487681.174, 124928.765 487701.625, 124928.545 487702.044, 124928.275 487702.432, 124927.96 487702.785, 124927.604 487703.097, 124927.212 487703.362, 124926.791 487703.578, 124926.347 487703.741, 124925.903 487703.552, 124925.488 487703.305, 124925.11 487703.004, 124924.777 487702.655, 124924.495 487702.264, 124924.268 487701.838, 124924.1 487701.386, 124923.996 487700.914, 124925.138 487680.771)) 0363020000939758;N;N;0363200000386615;19;;;1081KE;0363300000002966;Boeierspad;3594;Amsterdam;0363;Amsterdam;;Plaats aangewezen;;2010-09-09T00:00:00;;2010-09-09;GV00000407;03630000000849;K90e;Amsterdamse Bos;03630012052010;K90;Buitenveldert-West;03630950000010;DX11;Buitenveldert, Zuidas;03630940000010;PX12;Buitenveldert, Zuidas;03630011872038;K;Zuid;POLYGON ((118435.143 482883.381, 118435.563 482888.364, 118419.349 482889.73, 118418.929 482884.747, 118435.143 482883.381)) 0363020001002578;N;N;0363200000486734;34;;;1096CR;0363300000004774;Ouderkerkerdijk;3594;Amsterdam;0363;Amsterdam;;Plaats aangewezen;;2010-09-09T00:00:00;;2010-09-09;GV00000407;03630000000781;M58e;Amstelglorie;03630012052009;M58;Omval/Overamstel;03630950000014;DX15;Watergraafsmeer;03630940000017;PX19;Watergraafsmeer;03630011872039;M;Oost;POLYGON ((122082.563 482912.175, 122097.917 482916.632, 122095.85 482923.754, 122080.496 482919.296, 122082.563 482912.175)) 0363020012061174;N;N;0363200012063218;24;A;;1081KG;0363300000004022;Koenenkade;3594;Amsterdam;0363;Amsterdam;;Plaats aangewezen;;2011-06-22T00:00:00;;2011-06-22;SK00000653;03630000000849;K90e;Amsterdamse Bos;03630012052010;K90;Buitenveldert-West;03630950000010;DX11;Buitenveldert, Zuidas;03630940000010;PX12;Buitenveldert, Zuidas;03630011872038;K;Zuid;POLYGON ((117912.506 482707.925, 117912.381 482708.05, 117904.486 482720.581, 117900.852 482721.584, 117900.1 482718.201, 117907.619 482705.043, 117912.506 482707.925)) 0363020001027084;N;N;0363200000515068;120;G;;1018VZ;0363300000003920;Nieuwe Prinsengracht;3594;Amsterdam;0363;Amsterdam;;Plaats aangewezen;;2010-09-09T00:00:00;;2010-09-09;GV00000407;03630000000516;A08a;Weesperbuurt;03630012052031;A08;Weesperbuurt/Plantage;03630950000001;DX02;Centrum-Oost;03630940000001;PX02;Centrum-Oost;03630000000018;A;Centrum;POLYGON ((122508.275 486350.327, 122508.527 486350.053, 122509.492 486349.574, 122510.012 486349.508, 122511.188 486349.569, 122512.612 486349.838, 122526.48 486353.827, 122525.443 486357.431, 122511.575 486353.442, 122510.226 486352.914, 122509.197 486352.341, 122508.792 486352.01, 122508.229 486351.091, 122508.162 486350.72, 122508.275 486350.327))"; var bagligplaatsen = new CsvGeoLocation(csv); Assert.AreEqual(bagligplaatsen.Status, CsvGeoLocation.CsvGeoLocationStatus.FailedNoCoordinates); }
public void TestPanoramaSemicolon() { string csv = @"gps_seconds[s];panorama_file_name;latitude[deg];longitude[deg];altitude_ellipsoidal[m];roll[deg];pitch[deg];heading[deg] 1178263175.05672;1178263175_056717_0;52.3516092805;4.8426335585;44.4415162113;-0.9556548416;0.0973349015;87.3409739047 1178263176.19669;1178263176_196691_1;52.3516076631;4.8424874133;44.4738408364;-0.7259166659;-0.0314014078;88.5896089189 1178263177.30668;1178263177_306679_2;52.3516082396;4.8423413503;44.5097852116;-0.7085167049;-0.1083775873;90.0325795637 1178263178.38665;1178263178_386648_3;52.3516118477;4.8421957189;44.5319389142;-1.0652341476;0.2426424216;92.0613240058 1178263179.52664;1178263179_526641_4;52.3516184611;4.8420511209;44.5627396507;-1.5071903225;0.398587759;93.8898811884 1178263181.03681;1178263181_036811_5;52.3516244602;4.8419080467;44.611617892;-1.7137684824;0.6385912069;91.6988523355 1178263196.78151;1178263196_781509_6;52.3516072083;4.8417661974;45.2869139686;-1.4987202908;-0.0137625108;88.9704470561"; var panoramas = new CsvGeoLocation(csv); Assert.AreEqual(2, panoramas.CoordinateColumns.Length); }
public void TestIsCoordinate() { //Netherlands bounding box RD //sw x/y 7000, 289000 //ne x/y 280000, 629000 //range x = 7000 - 280000 //range y = 289000 - 629000 //Netherlands bounding box lat/lon //sw lat/lon 50.57222, 3.29804 //ne lat/lon 53.62702, 7.57893 //range lat 50.57222 - 53.62702 //range lon 3.29804 - 7.57893 bool iscoordinate1 = CsvGeoLocation.IsCoordinate("title"); Assert.AreEqual(false, iscoordinate1, "IsCoordinate title"); bool iscoordinate2 = CsvGeoLocation.IsCoordinate("2343"); Assert.AreEqual(false, iscoordinate2, "IsCoordinate 2343"); bool iscoordinate3 = CsvGeoLocation.IsCoordinate("7500"); Assert.AreEqual(true, iscoordinate3, "IsCoordinate 7500"); bool iscoordinate4 = CsvGeoLocation.IsCoordinate("4"); Assert.AreEqual(true, iscoordinate4, "IsCoordinate 4"); bool iscoordinate5 = CsvGeoLocation.IsCoordinate("9"); Assert.AreEqual(false, iscoordinate5, "IsCoordinate 9"); bool iscoordinate6 = CsvGeoLocation.IsCoordinate("284000"); Assert.AreEqual(false, iscoordinate6, "IsCoordinate 284000"); bool iscoordinate7 = CsvGeoLocation.IsCoordinate("650000"); Assert.AreEqual(false, iscoordinate7, "IsCoordinate 650000"); bool iscoordinate8 = CsvGeoLocation.IsCoordinate("450000"); Assert.AreEqual(true, iscoordinate8, "IsCoordinate 450000"); }
public void TestMultiLine() { var csv = @"U_ID;Wijk;Prj_naam;Ontw;Omschr;Soort_proj;Type_proj;Fase;Tot_prod;Start;Oplevering;LAT;LONG;X_RD;Y_RD 359;West;Ravellaan 205-209;ReShape Properties BV;Nieuwbouw van woningen;Particulier Initiatief;Nieuwbouw;Uitvoering;31;2019;2020;52.083123;5.090972;134694.8139;455025.4800 437;West;Thomas a Kempisplantsoen;Mitros en Portaal;""Het slopen van 178 gestapelde sociale huurwoningen, 9 winkels, een garage en 6 opslagruimtes en nieuwbouwen van ongeveer 400 woningen Het slopen van 178 gestapelde sociale huurwoningen, 9 winkels, een garage en 6 opslagruimtes en nieuwbouwen van ongeveer 400 woningen Het slopen van 178 gestapelde sociale huurwoningen, 9 winkels, een garage en 6 opslagruimtes en nieuwbouwen van ongeveer 400 woningen Het slopen van 178 gestapelde sociale huurwoningen, 9 winkels, een garage en 6 opslagruimtes en nieuwbouwen van ongeveer 400 woningen "";Particulier Initiatief;Nieuwbouw;Definitie;400;2022;2024;52.0964235021;5.084729408;134273.0759;456507.0160 165;West;Vlampijpzone;Gemeente & meerdere partijen;Herinrichting openbare ruimte;Openbare Ruimte;Openbare Ruimte;Uitvoering;0;2017;2020;52.1053533697;5.0847081297;134275.7563;457500.5473"; var projects = new CsvGeoLocation(csv); Assert.AreEqual(15, projects.Columns.Length); Assert.AreEqual(2, projects.Rows.Count); foreach (var row in projects.Rows) { Assert.AreEqual(15, row.Length); } }
public void ParseCsv(string csv) { if (LocationMarkersParent == null) { LocationMarkersParent = new GameObject("LocationMarkers"); } else { ClearLocationMarkers(); Reset(); } PropertiesPanel.Instance.SetDynamicFieldsTargetContainer(GeneratedFieldsContainer); PropertiesPanel.Instance.ClearGeneratedFields(UIClearIgnoreObject); csvGeoLocation = new CsvGeoLocation(csv); if (csvGeoLocation.Status != CsvGeoLocation.CsvGeoLocationStatus.Success) { PropertiesPanel.Instance.AddSpacer(20); foreach (var line in csvGeoLocation.StatusMessageLines) { PropertiesPanel.Instance.AddTextfieldColor(line, Color.red, FontStyle.Normal); } return; } PropertiesPanel.Instance.AddLabel("Label"); PropertiesPanel.Instance.AddActionDropdown(csvGeoLocation.ColumnsExceptCoordinates, (action) => { csvGeoLocation.LabelColumnName = action; csvGeoLocation.SetlabelIndex(action); }, ""); PropertiesPanel.Instance.AddSpacer(10); PropertiesPanel.Instance.AddLabel("Welke informatie wilt u zichtbaar maken als er op een label geklikt wordt?"); PropertiesPanel.Instance.AddSpacer(10); foreach (var column in csvGeoLocation.Columns) { if (csvGeoLocation.CoordinateColumns.Contains(column)) { continue; } selectedColumnsToDisplay.Add(column, true); PropertiesPanel.Instance.AddActionCheckbox(column, true, (action) => { selectedColumnsToDisplay[column] = action; }); } PropertiesPanel.Instance.AddActionButtonBig("Toon data", (action) => { MapAndShow(); }); }