Commit 2ab29b85 by Amir Aharon

update configuration at cloud

parent 3b9136b1
[
{
"_direction": "EB",
"_lit_lon": "-87.639487",
"_tost": "Canal",
"_lif_lat": "41.874238",
"_traffic": "R:I:0:55",
"_fromst": "Halsted",
"start_lon": "-87.647125",
"_lit_lat": "41.874238",
"street": "Harrison",
"segmentid": "1304",
"_last_updt": "R:T:S:300",
"_length": "0.4",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.646305",
"_tost": "Cermak",
"_lif_lat": "41.847196",
"_traffic": "R:I:0:55",
"_fromst": "Archer",
"start_lon": "-87.646297",
"_lit_lat": "41.852646",
"street": "Halsted",
"segmentid": "1217",
"_last_updt": "R:T:S:300",
"_length": "0.4",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.628076",
"_tost": "Wacker",
"_lif_lat": "41.896677",
"_traffic": "R:I:0:55",
"_fromst": "Chicago",
"start_lon": "-87.628298",
"_lit_lat": "41.886813",
"street": "State",
"segmentid": "1297",
"_last_updt": "R:T:S:300",
"_length": "0.68",
"_strheading": "N"
},
{
"_direction": "EB",
"_lit_lon": "-87.6370264614",
"_tost": "Wacker",
"_lif_lat": "41.883031561",
"_traffic": "R:I:0:55",
"_fromst": "Halsted",
"start_lon": "-87.647404773",
"_lit_lat": "41.883144306",
"street": "Washington",
"segmentid": "1053",
"_last_updt": "R:T:S:300",
"_length": "0.53",
"_strheading": "W"
},
{
"_direction": "WB",
"_lit_lon": "-87.655452",
"_tost": "Milwaukee",
"_lif_lat": "41.896497",
"_traffic": "R:I:0:55",
"_fromst": "Halsted",
"start_lon": "-87.647745",
"_lit_lat": "41.896367",
"street": "Chicago",
"segmentid": "1290",
"_last_updt": "R:T:S:300",
"_length": "0.4",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6492",
"_tost": "Diversey",
"_lif_lat": "41.939979",
"_traffic": "R:I:0:55",
"_fromst": "Belmont",
"start_lon": "-87.649457",
"_lit_lat": "41.932719",
"street": "Halsted",
"segmentid": "1265",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.646677",
"_tost": "Archer",
"_lif_lat": "41.852646",
"_traffic": "R:I:0:55",
"_fromst": "Cermak",
"start_lon": "-87.646685",
"_lit_lat": "41.847196",
"street": "Halsted",
"segmentid": "1253",
"_last_updt": "R:T:S:300",
"_length": "0.4",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.6244239148",
"_tost": "Michigan",
"_lif_lat": "41.883144306",
"_traffic": "R:I:0:55",
"_fromst": "Wacker",
"start_lon": "-87.6370264614",
"_lit_lat": "41.8831986058",
"street": "Washington",
"segmentid": "1054",
"_last_updt": "R:T:S:300",
"_length": "0.64",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.647427",
"_tost": "Grand",
"_lif_lat": "41.881776",
"_traffic": "R:I:0:55",
"_fromst": "Madison",
"start_lon": "-87.647171",
"_lit_lat": "41.891185",
"street": "Halsted",
"segmentid": "1222",
"_last_updt": "R:T:S:300",
"_length": "0.65",
"_strheading": "N"
},
{
"_direction": "EB",
"_lit_lon": "-87.568873148",
"_tost": "Chicago Skyway",
"_lif_lat": "41.7367762597",
"_traffic": "R:I:0:55",
"_fromst": "Stony Island",
"start_lon": "-87.5856381753",
"_lit_lat": "41.7370163155",
"street": "87th",
"segmentid": "263",
"_last_updt": "R:T:S:300",
"_length": "0.87",
"_strheading": "E"
},
{
"_direction": "NW",
"_lit_lon": "-87.7675546457",
"_tost": "Foster",
"_lif_lat": "41.9678434988",
"_traffic": "R:I:0:55",
"_fromst": "Lawrence",
"start_lon": "-87.7605911887",
"_lit_lat": "41.975654244",
"street": "Milwaukee",
"segmentid": "825",
"_last_updt": "R:T:S:300",
"_length": "0.65",
"_strheading": "N"
},
{
"_direction": "WB",
"_lit_lon": "-87.6205312155",
"_tost": "Michigan",
"_lif_lat": "41.7220217125",
"_traffic": "R:I:0:55",
"_fromst": "Dr Martin L King Jr",
"start_lon": "-87.6140911627",
"_lit_lat": "41.7219106219",
"street": "95th",
"segmentid": "469",
"_last_updt": "R:T:S:300",
"_length": "0.33",
"_strheading": "E"
},
{
"_direction": "EB",
"_lit_lon": "-87.647361",
"_tost": "Halsted",
"_lif_lat": "41.881515",
"_traffic": "R:I:0:55",
"_fromst": "Racine",
"start_lon": "-87.657142",
"_lit_lat": "41.881676",
"street": "Madison",
"segmentid": "1272",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "E"
},
{
"_direction": "EB",
"_lit_lon": "-87.6465225077",
"_tost": "Halsted",
"_lif_lat": "41.8375620822",
"_traffic": "R:I:0:55",
"_fromst": "Ashland",
"start_lon": "-87.6657812595",
"_lit_lat": "41.8470464552",
"street": "Archer",
"segmentid": "505",
"_last_updt": "R:T:S:300",
"_length": "1.19",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.675372871",
"_tost": "Damen",
"_lif_lat": "41.8258789119",
"_traffic": "R:I:0:55",
"_fromst": "Western",
"start_lon": "-87.6848960158",
"_lit_lat": "41.831689289",
"street": "Archer",
"segmentid": "503",
"_last_updt": "R:T:S:300",
"_length": "0.63",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.7424812354",
"_tost": "63rd",
"_lif_lat": "41.784318968",
"_traffic": "R:I:0:55",
"_fromst": "59th",
"start_lon": "-87.7415926253",
"_lit_lat": "41.7784116409",
"street": "Cicero",
"segmentid": "635",
"_last_updt": "R:T:S:300",
"_length": "0.41",
"_strheading": "S"
},
{
"_direction": "SE",
"_lit_lon": "-87.7609588782",
"_tost": "Lawrence",
"_lif_lat": "41.9756560558",
"_traffic": "R:I:0:55",
"_fromst": "Foster",
"start_lon": "-87.7679223953",
"_lit_lat": "41.9678453326",
"street": "Milwaukee",
"segmentid": "944",
"_last_updt": "R:T:S:300",
"_length": "0.65",
"_strheading": "N"
},
{
"_direction": "WB",
"_lit_lon": "-87.647361",
"_tost": "Halsted",
"_lif_lat": "41.882014",
"_traffic": "R:I:0:55",
"_fromst": "Wacker",
"start_lon": "-87.636891",
"_lit_lat": "41.881876",
"street": "Madison",
"segmentid": "1270",
"_last_updt": "R:T:S:300",
"_length": "0.54",
"_strheading": "W"
},
{
"_direction": "WB",
"_lit_lon": "-87.6140911627",
"_tost": "Dr Martin L King Jr",
"_lif_lat": "41.7222259181",
"_traffic": "R:I:0:55",
"_fromst": "Cottage Grove",
"start_lon": "-87.6045012673",
"_lit_lat": "41.7220217125",
"street": "95th",
"segmentid": "470",
"_last_updt": "R:T:S:300",
"_length": "0.49",
"_strheading": "E"
},
{
"_direction": "EB",
"_lit_lon": "-87.6048243845",
"_tost": "Cottage Grove",
"_lif_lat": "41.7363658213",
"_traffic": "R:I:0:55",
"_fromst": "Dr Martin L King Jr",
"start_lon": "-87.6145294906",
"_lit_lat": "41.7365122036",
"street": "87th",
"segmentid": "261",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "E"
},
{
"_direction": "WB",
"_lit_lon": "-87.67537005",
"_tost": "Damen",
"_lif_lat": "41.83783649",
"_traffic": "R:I:0:55",
"_fromst": "Ashland",
"start_lon": "-87.66577839",
"_lit_lat": "41.8319637",
"street": "Archer",
"segmentid": "519",
"_last_updt": "R:T:S:300",
"_length": "0.63",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.636891",
"_tost": "Wacker",
"_lif_lat": "41.882109",
"_comments": "Oneway WB",
"_traffic": "R:I:0:55",
"_fromst": "Michigan",
"start_lon": "-87.624366",
"_lit_lat": "41.882014",
"street": "Madison",
"segmentid": "1269",
"_last_updt": "R:T:S:300",
"_length": "0.64",
"_strheading": "W"
},
{
"_direction": "WB",
"_lit_lon": "-87.66577839",
"_tost": "Ashland",
"_lif_lat": "41.84732087",
"_traffic": "R:I:0:55",
"_fromst": "Halsted",
"start_lon": "-87.64651959",
"_lit_lat": "41.83783649",
"street": "Archer",
"segmentid": "520",
"_last_updt": "R:T:S:300",
"_length": "1.19",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.6657812595",
"_tost": "Ashland",
"_lif_lat": "41.831689289",
"_traffic": "R:I:0:55",
"_fromst": "Damen",
"start_lon": "-87.675372871",
"_lit_lat": "41.8375620822",
"street": "Archer",
"segmentid": "504",
"_last_updt": "R:T:S:300",
"_length": "0.63",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.5856381753",
"_tost": "Stony Island",
"_lif_lat": "41.7365122036",
"_traffic": "R:I:0:55",
"_fromst": "Cottage Grove",
"start_lon": "-87.6048243845",
"_lit_lat": "41.7367762597",
"street": "87th",
"segmentid": "262",
"_last_updt": "R:T:S:300",
"_length": "1.0",
"_strheading": "E"
},
{
"_direction": "WB",
"_lit_lon": "-87.6286359347",
"_tost": "Wentworth",
"_lif_lat": "41.7219106219",
"_traffic": "R:I:0:55",
"_fromst": "Michigan",
"start_lon": "-87.6205312155",
"_lit_lat": "41.721847197",
"street": "95th",
"segmentid": "468",
"_last_updt": "R:T:S:300",
"_length": "0.41",
"_strheading": "E"
},
{
"_direction": "EB",
"_lit_lon": "-87.727618462",
"_tost": "Pulaski",
"_lif_lat": "41.9533921986",
"_traffic": "R:I:0:55",
"_fromst": "Kostner",
"start_lon": "-87.7380652196",
"_lit_lat": "41.9535105845",
"street": "Irving Park",
"segmentid": "288",
"_last_updt": "R:T:S:300",
"_length": "0.53",
"_strheading": "W"
},
{
"_direction": "EB",
"_lit_lon": "-87.6529452354",
"_tost": "Racine",
"_lif_lat": "41.7210579504",
"_traffic": "R:I:0:55",
"_fromst": "Ashland",
"start_lon": "-87.6626346092",
"_lit_lat": "41.7211522049",
"street": "95th",
"segmentid": "426",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6875724135",
"_tost": "Milwaukee",
"_lif_lat": "41.9249017152",
"_traffic": "R:I:0:55",
"_fromst": "Fullerton",
"start_lon": "-87.6878256352",
"_lit_lat": "41.9168064565",
"street": "Western",
"segmentid": "398",
"_last_updt": "R:T:S:300",
"_length": "0.55",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.6872104227",
"_tost": "Division",
"_lif_lat": "41.9103219014",
"_traffic": "R:I:0:55",
"_fromst": "North Ave",
"start_lon": "-87.6874043778",
"_lit_lat": "41.9030171606",
"street": "Western",
"segmentid": "396",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.7281185167",
"_tost": "Foster",
"_lif_lat": "41.9682413338",
"_traffic": "R:I:0:55",
"_fromst": "Lawrence",
"start_lon": "-87.727843711",
"_lit_lat": "41.9755310394",
"street": "Pulaski",
"segmentid": "55",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6872050148",
"_tost": "Milwaukee",
"_lif_lat": "41.9103198343",
"_traffic": "R:I:0:55",
"_fromst": "North Ave",
"start_lon": "-87.6870370163",
"_lit_lat": "41.9168043897",
"street": "Western",
"segmentid": "356",
"_last_updt": "R:T:S:300",
"_length": "0.45",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6647891274",
"_tost": "47th",
"_lif_lat": "41.8013171472",
"_traffic": "R:I:0:55",
"_fromst": "51st",
"start_lon": "-87.6645931099",
"_lit_lat": "41.8086033737",
"street": "Ashland",
"segmentid": "108",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.6834560431",
"_tost": "63rd",
"_lif_lat": "41.7719765782",
"_traffic": "R:I:0:55",
"_fromst": "67th",
"start_lon": "-87.6832609507",
"_lit_lat": "41.7792149771",
"street": "Western",
"segmentid": "338",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.7257294016",
"_tost": "Van Buren",
"_lif_lat": "41.8819403523",
"_traffic": "R:I:0:55",
"_fromst": "Washington",
"start_lon": "-87.7259576089",
"_lit_lat": "41.8752792694",
"street": "Pulaski",
"segmentid": "82",
"_last_updt": "R:T:S:300",
"_length": "0.46",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6642111674",
"_tost": "59th",
"_lif_lat": "41.7794635041",
"_traffic": "R:I:0:55",
"_fromst": "63rd",
"start_lon": "-87.6640374592",
"_lit_lat": "41.7867457704",
"street": "Ashland",
"segmentid": "105",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.663612718",
"_tost": "71st",
"_lif_lat": "41.7503560091",
"_traffic": "R:I:0:55",
"_fromst": "79th",
"start_lon": "-87.6632541367",
"_lit_lat": "41.7649079607",
"street": "Ashland",
"segmentid": "102",
"_last_updt": "R:T:S:300",
"_length": "1.0",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.7259576089",
"_tost": "Washington",
"_lif_lat": "41.8854697391",
"_traffic": "R:I:0:55",
"_fromst": "Lake",
"start_lon": "-87.7260556696",
"_lit_lat": "41.8819403523",
"street": "Pulaski",
"segmentid": "83",
"_last_updt": "R:T:S:300",
"_length": "0.24",
"_strheading": "N"
},
{
"_direction": "SE",
"_lit_lon": "-87.6005593398",
"_tost": "Oakwood",
"_lif_lat": "41.8385740621",
"_traffic": "R:I:0:55",
"_fromst": "31st",
"start_lon": "-87.6085348206",
"_lit_lat": "41.8252995274",
"street": "Lake Shore Dr",
"segmentid": "609",
"_last_updt": "R:T:S:300",
"_length": "1.0",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.6651248281",
"_tost": "Pershing",
"_lif_lat": "41.8158697299",
"_traffic": "R:I:0:55",
"_fromst": "43rd",
"start_lon": "-87.6649647832",
"_lit_lat": "41.8231508628",
"street": "Ashland",
"segmentid": "110",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.6149102436",
"_tost": "Dr Martin L King Jr",
"_lif_lat": "41.7513900229",
"_traffic": "R:I:0:55",
"_fromst": "Cottage Grove",
"start_lon": "-87.6051881522",
"_lit_lat": "41.7512885566",
"street": "79th",
"segmentid": "421",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "E"
},
{
"_direction": "NB",
"_lit_lon": "-87.6887227326",
"_tost": "Lawrence",
"_lif_lat": "41.9613118159",
"_traffic": "R:I:0:55",
"_fromst": "Montrose",
"start_lon": "-87.6884991671",
"_lit_lat": "41.9686138926",
"street": "Western",
"segmentid": "364",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6659546034",
"_tost": "18th",
"_lif_lat": "41.8523299896",
"_traffic": "R:I:0:55",
"_fromst": "Cermak",
"start_lon": "-87.6658407141",
"_lit_lat": "41.8577926807",
"street": "Ashland",
"segmentid": "114",
"_last_updt": "R:T:S:300",
"_length": "0.4",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.6730852477",
"_tost": "Damen",
"_lif_lat": "41.7499136183",
"_traffic": "R:I:0:55",
"_fromst": "Western",
"start_lon": "-87.6827540461",
"_lit_lat": "41.7501431365",
"street": "79th",
"segmentid": "445",
"_last_updt": "R:T:S:300",
"_length": "0.49",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6829192318",
"_tost": "Columbus Ave",
"_lif_lat": "41.7501017847",
"_traffic": "R:I:0:55",
"_fromst": "79th",
"start_lon": "-87.6826639338",
"_lit_lat": "41.7592310843",
"street": "Western",
"segmentid": "335",
"_last_updt": "R:T:S:300",
"_length": "0.63",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.6659402856",
"_tost": "Ashland",
"_lif_lat": "41.8526797855",
"_traffic": "R:I:0:55",
"_fromst": "Racine",
"start_lon": "-87.6561800466",
"_lit_lat": "41.8524897709",
"street": "Cermak",
"segmentid": "555",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6832609507",
"_tost": "67th",
"_lif_lat": "41.764701176",
"_traffic": "R:I:0:55",
"_fromst": "71st",
"start_lon": "-87.6830594183",
"_lit_lat": "41.7719765782",
"street": "Western",
"segmentid": "337",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "NW",
"_lit_lon": "-87.6081678831",
"_tost": "31st",
"_lif_lat": "41.8252971863",
"_traffic": "R:I:0:55",
"_fromst": "Oakwood",
"start_lon": "-87.6001924641",
"_lit_lat": "41.838571746",
"street": "Lake Shore Dr",
"segmentid": "580",
"_last_updt": "R:T:S:300",
"_length": "1.0",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.6341938681",
"_tost": "Vincennes",
"_lif_lat": "41.7511042672",
"_traffic": "R:I:0:55",
"_fromst": "State",
"start_lon": "-87.6245246027",
"_lit_lat": "41.7508788394",
"street": "79th",
"segmentid": "419",
"_last_updt": "R:T:S:300",
"_length": "0.49",
"_strheading": "E"
},
{
"_direction": "NB",
"_lit_lon": "-87.6666877975",
"_tost": "Washington",
"_lif_lat": "41.8741993673",
"_traffic": "R:I:0:55",
"_fromst": "Harrison",
"start_lon": "-87.6664153537",
"_lit_lat": "41.8832979102",
"street": "Ashland",
"segmentid": "117",
"_last_updt": "R:T:S:300",
"_length": "0.6",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.6889668295",
"_tost": "Foster",
"_lif_lat": "41.9686138926",
"_traffic": "R:I:0:55",
"_fromst": "Lawrence",
"start_lon": "-87.6887227326",
"_lit_lat": "41.97589051",
"street": "Western",
"segmentid": "365",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.7276617396",
"_tost": "Elston",
"_lif_lat": "41.9536468185",
"_traffic": "R:I:0:55",
"_fromst": "Irving Park",
"start_lon": "-87.7274333564",
"_lit_lat": "41.9596128313",
"street": "Pulaski",
"segmentid": "53",
"_last_updt": "R:T:S:300",
"_length": "0.4",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.72749796560001",
"_tost": "Milwaukee",
"_lif_lat": "41.9536506962",
"_traffic": "R:I:0:55",
"_fromst": "Irving Park",
"start_lon": "-87.72786858250001",
"_lit_lat": "41.9411707218",
"street": "Pulaski",
"segmentid": "92",
"_last_updt": "R:T:S:300",
"_length": "0.85",
"_strheading": "N"
},
{
"_direction": "EB",
"_lit_lon": "-87.6205342482",
"_tost": "Michigan",
"_lif_lat": "41.7215727836",
"_traffic": "R:I:0:55",
"_fromst": "Wentworth",
"start_lon": "-87.628638933",
"_lit_lat": "41.721636209",
"street": "95th",
"segmentid": "429",
"_last_updt": "R:T:S:300",
"_length": "0.41",
"_strheading": "W"
},
{
"_direction": "EB",
"_lit_lon": "-87.6536959041",
"_tost": "Racine",
"_lif_lat": "41.7502908262",
"_traffic": "R:I:0:55",
"_fromst": "Ashland",
"start_lon": "-87.6634715402",
"_lit_lat": "41.7503147501",
"street": "79th",
"segmentid": "447",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.686843103",
"_tost": "Division",
"_lif_lat": "41.8957422115",
"_traffic": "R:I:0:55",
"_fromst": "Chicago",
"start_lon": "-87.6866589587",
"_lit_lat": "41.9030150932",
"street": "Western",
"segmentid": "354",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "WB",
"_lit_lon": "-87.6051881522",
"_tost": "Cottage Grove",
"_lif_lat": "41.7514496528",
"_traffic": "R:I:0:55",
"_fromst": "Woodlawn",
"start_lon": "-87.595412204",
"_lit_lat": "41.7513900229",
"street": "79th",
"segmentid": "422",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "E"
},
{
"_direction": "WB",
"_lit_lon": "-87.6758591402",
"_tost": "Damen",
"_lif_lat": "41.8524897709",
"_traffic": "R:I:0:55",
"_fromst": "Ashland",
"start_lon": "-87.6659402856",
"_lit_lat": "41.852299832",
"street": "Cermak",
"segmentid": "554",
"_last_updt": "R:T:S:300",
"_length": "0.51",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6632541367",
"_tost": "79th",
"_lif_lat": "41.7430756949",
"_traffic": "R:I:0:55",
"_fromst": "83rd",
"start_lon": "-87.6630683582",
"_lit_lat": "41.7503560091",
"street": "Ashland",
"segmentid": "101",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.7254211571",
"_tost": "Roosevelt",
"_lif_lat": "41.8752792694",
"_traffic": "R:I:0:55",
"_fromst": "Van Buren",
"start_lon": "-87.7257294016",
"_lit_lat": "41.8661750444",
"street": "Pulaski",
"segmentid": "81",
"_last_updt": "R:T:S:300",
"_length": "0.62",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.6159826042",
"_tost": "Dr Martin L King Jr",
"_lif_lat": "41.7945059819",
"_traffic": "R:I:0:55",
"_fromst": "State",
"start_lon": "-87.625702556",
"_lit_lat": "41.7946636061",
"street": "Garfield",
"segmentid": "11",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "E"
},
{
"_direction": "NB",
"_lit_lon": "-87.6638378447",
"_tost": "67th",
"_lif_lat": "41.7649079607",
"_traffic": "R:I:0:55",
"_fromst": "71st",
"start_lon": "-87.663612718",
"_lit_lat": "41.7721909488",
"street": "Ashland",
"segmentid": "103",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.7271516758",
"_tost": "Milwaukee",
"_lif_lat": "41.9317893922",
"_traffic": "R:I:0:55",
"_fromst": "Diversey",
"start_lon": "-87.726794963",
"_lit_lat": "41.9411668426",
"street": "Pulaski",
"segmentid": "51",
"_last_updt": "R:T:S:300",
"_length": "0.65",
"_strheading": "N"
},
{
"_direction": "EB",
"_lit_lon": "-87.693799302",
"_tost": "California",
"_lif_lat": "41.7933767009",
"_traffic": "R:I:0:55",
"_fromst": "Kedzie",
"start_lon": "-87.7035554211",
"_lit_lat": "41.7935536023",
"street": "55th",
"segmentid": "3",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6653847992",
"_tost": "35th",
"_lif_lat": "41.8231508628",
"_traffic": "R:I:0:55",
"_fromst": "Pershing",
"start_lon": "-87.6651248281",
"_lit_lat": "41.8305002878",
"street": "Ashland",
"segmentid": "111",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.6439701738",
"_tost": "Halsted",
"_lif_lat": "41.7508788394",
"_traffic": "R:I:0:55",
"_fromst": "Vincennes",
"start_lon": "-87.6341938681",
"_lit_lat": "41.7507752434",
"street": "79th",
"segmentid": "455",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6655581444",
"_tost": "Archer",
"_lif_lat": "41.8305002878",
"_traffic": "R:I:0:55",
"_fromst": "35th",
"start_lon": "-87.6653847992",
"_lit_lat": "41.8376827898",
"street": "Ashland",
"segmentid": "112",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.6432247623",
"_tost": "Halsted",
"_lif_lat": "41.7211522049",
"_traffic": "R:I:0:55",
"_fromst": "Racine",
"start_lon": "-87.6529452354",
"_lit_lat": "41.7213210669",
"street": "95th",
"segmentid": "427",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "EB",
"_lit_lon": "-87.6341968458",
"_tost": "Vincennes",
"_lif_lat": "41.7505008306",
"_traffic": "20",
"_fromst": "Halsted",
"start_lon": "-87.6439731098",
"_lit_lat": "41.7506044271",
"street": "79th",
"segmentid": "409",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "EB",
"_lit_lon": "-87.6634715402",
"_tost": "Ashland",
"_lif_lat": "41.7501431365",
"_traffic": "R:I:0:55",
"_fromst": "Damen",
"start_lon": "-87.6730852477",
"_lit_lat": "41.7502908262",
"street": "79th",
"segmentid": "446",
"_last_updt": "R:T:S:300",
"_length": "0.49",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.7260556696",
"_tost": "Lake",
"_lif_lat": "41.8953705621",
"_traffic": "R:I:0:55",
"_fromst": "Chicago",
"start_lon": "-87.72633140960001",
"_lit_lat": "41.8854697391",
"street": "Pulaski",
"segmentid": "84",
"_last_updt": "R:T:S:300",
"_length": "0.68",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6658407141",
"_tost": "Cermak",
"_lif_lat": "41.8376827898",
"_traffic": "R:I:0:55",
"_fromst": "Archer",
"start_lon": "-87.6655581444",
"_lit_lat": "41.8523299896",
"street": "Ashland",
"segmentid": "113",
"_last_updt": "R:T:S:300",
"_length": "1.0",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.628638933",
"_tost": "Wentworth",
"_lif_lat": "41.7213210669",
"_traffic": "R:I:0:55",
"_fromst": "Halsted",
"start_lon": "-87.6432247623",
"_lit_lat": "41.7215727836",
"street": "95th",
"segmentid": "428",
"_last_updt": "R:T:S:300",
"_length": "0.75",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6830594183",
"_tost": "71st",
"_lif_lat": "41.7592310843",
"_traffic": "R:I:0:55",
"_fromst": "Columbus Ave",
"start_lon": "-87.6829192318",
"_lit_lat": "41.764701176",
"street": "Western",
"segmentid": "336",
"_last_updt": "R:T:S:300",
"_length": "0.37",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.6439731098",
"_tost": "Halsted",
"_lif_lat": "41.7503147501",
"_traffic": "R:I:0:55",
"_fromst": "Racine",
"start_lon": "-87.6536959041",
"_lit_lat": "41.7505008306",
"street": "79th",
"segmentid": "448",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6640374592",
"_tost": "63rd",
"_lif_lat": "41.7721909488",
"_traffic": "R:I:0:55",
"_fromst": "67th",
"start_lon": "-87.6638378447",
"_lit_lat": "41.7794635041",
"street": "Ashland",
"segmentid": "104",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.7279253868",
"_tost": "Lawrence",
"_lif_lat": "41.9596128313",
"_traffic": "R:I:0:55",
"_fromst": "Elston",
"start_lon": "-87.7276052579",
"_lit_lat": "41.9682413338",
"street": "Pulaski",
"segmentid": "54",
"_last_updt": "R:T:S:300",
"_length": "0.6",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6866589587",
"_tost": "Chicago",
"_lif_lat": "41.8906470248",
"_traffic": "R:I:0:55",
"_fromst": "Grand",
"start_lon": "-87.6865108851",
"_lit_lat": "41.8957422115",
"street": "Western",
"segmentid": "353",
"_last_updt": "R:T:S:300",
"_length": "0.35",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6870370163",
"_tost": "North Ave",
"_lif_lat": "41.9030150932",
"_traffic": "R:I:0:55",
"_fromst": "Division",
"start_lon": "-87.686843103",
"_lit_lat": "41.9103198343",
"street": "Western",
"segmentid": "355",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6649647832",
"_tost": "43rd",
"_lif_lat": "41.8086033737",
"_traffic": "R:I:0:55",
"_fromst": "47th",
"start_lon": "-87.6647891274",
"_lit_lat": "41.8158697299",
"street": "Ashland",
"segmentid": "109",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.727551496",
"_tost": "Irving Park",
"_lif_lat": "41.9411668426",
"_traffic": "R:I:0:55",
"_fromst": "Milwaukee",
"start_lon": "-87.7270628829",
"_lit_lat": "41.9536468185",
"street": "Pulaski",
"segmentid": "52",
"_last_updt": "R:T:S:300",
"_length": "0.85",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6865108851",
"_tost": "Grand",
"_lif_lat": "41.8829951691",
"_traffic": "R:I:0:55",
"_fromst": "Washington",
"start_lon": "-87.6863009624",
"_lit_lat": "41.8906470248",
"street": "Western",
"segmentid": "352",
"_last_updt": "R:T:S:300",
"_length": "0.52",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.6874043778",
"_tost": "North Ave",
"_lif_lat": "41.9168064565",
"_traffic": "R:I:0:55",
"_fromst": "Milwaukee",
"start_lon": "-87.6875724135",
"_lit_lat": "41.9103219014",
"street": "Western",
"segmentid": "397",
"_last_updt": "R:T:S:300",
"_length": "0.45",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6892644434",
"_tost": "Bryn Mawr",
"_lif_lat": "41.97589051",
"_traffic": "R:I:0:55",
"_fromst": "Foster",
"start_lon": "-87.6889668295",
"_lit_lat": "41.9831666552",
"street": "Western",
"segmentid": "366",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6863009624",
"_tost": "Washington",
"_lif_lat": "41.8760825857",
"_traffic": "R:I:0:55",
"_fromst": "Van Buren",
"start_lon": "-87.6860859175",
"_lit_lat": "41.8829951691",
"street": "Western",
"segmentid": "351",
"_last_updt": "R:T:S:300",
"_length": "0.47",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.6661999959",
"_tost": "Roosevelt",
"_lif_lat": "41.8577926807",
"_traffic": "R:I:0:55",
"_fromst": "18th",
"start_lon": "-87.6659546034",
"_lit_lat": "41.8668604234",
"street": "Ashland",
"segmentid": "115",
"_last_updt": "R:T:S:300",
"_length": "0.6",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.7250091595",
"_tost": "Cermak",
"_lif_lat": "41.858871241",
"_traffic": "R:I:0:55",
"_fromst": "16th",
"start_lon": "-87.7252056371",
"_lit_lat": "41.8515494772",
"street": "Pulaski",
"segmentid": "79",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.7252056371",
"_tost": "16th",
"_lif_lat": "41.8661750444",
"_traffic": "R:I:0:55",
"_fromst": "Roosevelt",
"start_lon": "-87.7254211571",
"_lit_lat": "41.858871241",
"street": "Pulaski",
"segmentid": "80",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.6536930095",
"_tost": "Racine",
"_lif_lat": "41.7507752434",
"_traffic": "R:I:0:55",
"_fromst": "Halsted",
"start_lon": "-87.6439701738",
"_lit_lat": "41.7505891635",
"street": "79th",
"segmentid": "454",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6870262366",
"_tost": "Chicago",
"_lif_lat": "41.9030171606",
"_traffic": "R:I:0:55",
"_fromst": "Division",
"start_lon": "-87.6872104227",
"_lit_lat": "41.8957442792",
"street": "Western",
"segmentid": "395",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "WB",
"_lit_lon": "-87.6245246027",
"_tost": "State",
"_lif_lat": "41.7512885566",
"_traffic": "R:I:0:55",
"_fromst": "Dr Martin L King Jr",
"start_lon": "-87.6149102436",
"_lit_lat": "41.7511042672",
"street": "79th",
"segmentid": "420",
"_last_updt": "R:T:S:300",
"_length": "0.49",
"_strheading": "E"
},
{
"_direction": "NB",
"_lit_lon": "-87.6664153537",
"_tost": "Harrison",
"_lif_lat": "41.8668604234",
"_traffic": "R:I:0:55",
"_fromst": "Roosevelt",
"start_lon": "-87.6661999959",
"_lit_lat": "41.8741993673",
"street": "Ashland",
"segmentid": "116",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.7136045062",
"_tost": "Central Park",
"_lif_lat": "41.793651115",
"_traffic": "R:I:0:55",
"_fromst": "Kedzie",
"start_lon": "-87.7035527348",
"_lit_lat": "41.7934149656",
"street": "55th",
"segmentid": "172",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6673262617",
"_tost": "Grand",
"_lif_lat": "41.8960747044",
"_traffic": "R:I:0:55",
"_fromst": "Chicago",
"start_lon": "-87.6674751541",
"_lit_lat": "41.8909784616",
"street": "Ashland",
"segmentid": "154",
"_last_updt": "R:T:S:300",
"_length": "0.35",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.6628665545",
"_tost": "95th",
"_lif_lat": "41.7284832358",
"_traffic": "R:I:0:55",
"_fromst": "91st",
"start_lon": "-87.6630347385",
"_lit_lat": "41.7212162434",
"street": "Ashland",
"segmentid": "133",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.6674751541",
"_tost": "Chicago",
"_lif_lat": "41.904018258",
"_traffic": "R:I:0:55",
"_fromst": "Milwaukee",
"start_lon": "-87.6676967823",
"_lit_lat": "41.8960747044",
"street": "Ashland",
"segmentid": "155",
"_last_updt": "R:T:S:300",
"_length": "0.55",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.6653316028",
"_tost": "43rd",
"_lif_lat": "41.8231529963",
"_traffic": "R:I:0:55",
"_fromst": "Pershing",
"start_lon": "-87.6654916893",
"_lit_lat": "41.8158718637",
"street": "Ashland",
"segmentid": "145",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.6937965741",
"_tost": "California",
"_lif_lat": "41.7940137889",
"_traffic": "R:I:0:55",
"_fromst": "Western",
"start_lon": "-87.684040386",
"_lit_lat": "41.7938280159",
"street": "55th",
"segmentid": "174",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6651559056",
"_tost": "47th",
"_lif_lat": "41.8158718637",
"_traffic": "R:I:0:55",
"_fromst": "43rd",
"start_lon": "-87.6653316028",
"_lit_lat": "41.8086055077",
"street": "Ashland",
"segmentid": "144",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.6657517025",
"_tost": "35th",
"_lif_lat": "41.8376849226",
"_traffic": "R:I:0:55",
"_fromst": "Archer",
"start_lon": "-87.6659250887",
"_lit_lat": "41.8305024208",
"street": "Ashland",
"segmentid": "147",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.6654916893",
"_tost": "Pershing",
"_lif_lat": "41.8305024208",
"_traffic": "R:I:0:55",
"_fromst": "35th",
"start_lon": "-87.6657517025",
"_lit_lat": "41.8231529963",
"street": "Ashland",
"segmentid": "146",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.6670550027",
"_tost": "Washington",
"_lif_lat": "41.8909784616",
"_traffic": "R:I:0:55",
"_fromst": "Grand",
"start_lon": "-87.6673262617",
"_lit_lat": "41.8833000413",
"street": "Ashland",
"segmentid": "153",
"_last_updt": "R:T:S:300",
"_length": "0.53",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.6649598466",
"_tost": "51st",
"_lif_lat": "41.8086055077",
"_traffic": "R:I:0:55",
"_fromst": "47th",
"start_lon": "-87.6651559056",
"_lit_lat": "41.8013192816",
"street": "Ashland",
"segmentid": "143",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "WB",
"_lit_lon": "-87.7035527348",
"_tost": "Kedzie",
"_lif_lat": "41.7938280159",
"_traffic": "R:I:0:55",
"_fromst": "California",
"start_lon": "-87.6937965741",
"_lit_lat": "41.793651115",
"street": "55th",
"segmentid": "173",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "WB",
"_lit_lon": "-87.684040386",
"_tost": "Western",
"_lif_lat": "41.7940535229",
"_traffic": "R:I:0:55",
"_fromst": "Damen",
"start_lon": "-87.6742991606",
"_lit_lat": "41.7940137889",
"street": "Garfield",
"segmentid": "175",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "EB",
"_lit_lon": "-87.6970362251",
"_tost": "California",
"_lif_lat": "41.909978124",
"_traffic": "R:I:0:55",
"_fromst": "Kedzie",
"start_lon": "-87.7069618067",
"_lit_lat": "41.9100801383",
"street": "North",
"segmentid": "189",
"_last_updt": "R:T:S:300",
"_length": "0.51",
"_strheading": "W"
},
{
"_direction": "EB",
"_lit_lon": "-87.7069618067",
"_tost": "Kedzie",
"_lif_lat": "41.9098569484",
"_traffic": "R:I:0:55",
"_fromst": "Central Park",
"start_lon": "-87.7167020015",
"_lit_lat": "41.909978124",
"street": "North",
"segmentid": "188",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6632483146",
"_tost": "87th",
"_lif_lat": "41.7430778317",
"_traffic": "R:I:0:55",
"_fromst": "83rd",
"start_lon": "-87.6634347632",
"_lit_lat": "41.7357908525",
"street": "Ashland",
"segmentid": "135",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.7035554211",
"_tost": "Kedzie",
"_lif_lat": "41.793140551",
"_traffic": "R:I:0:55",
"_fromst": "Central Park",
"start_lon": "-87.7136071496",
"_lit_lat": "41.7933767009",
"street": "55th",
"segmentid": "2",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "W"
},
{
"_direction": "WB",
"_lit_lon": "-87.6676901941",
"_tost": "Ashland",
"_lif_lat": "41.910843339",
"_traffic": "R:I:0:55",
"_fromst": "Elston",
"start_lon": "-87.6621596195",
"_lit_lat": "41.9107674921",
"street": "North",
"segmentid": "210",
"_last_updt": "R:T:S:300",
"_length": "0.28",
"_strheading": "W"
},
{
"_direction": "EB",
"_lit_lon": "-87.6331523771",
"_tost": "LaSalle",
"_lif_lat": "41.9107824177",
"_traffic": "R:I:0:55",
"_fromst": "Halsted",
"start_lon": "-87.6482730398",
"_lit_lat": "41.9110250802",
"street": "North",
"segmentid": "195",
"_last_updt": "R:T:S:300",
"_length": "0.78",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6630347385",
"_tost": "91st",
"_lif_lat": "41.7357908525",
"_traffic": "R:I:0:55",
"_fromst": "87th",
"start_lon": "-87.6632483146",
"_lit_lat": "41.7284832358",
"street": "Ashland",
"segmentid": "134",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "SB",
"_lit_lon": "-87.6659250887",
"_tost": "Archer",
"_lif_lat": "41.8523321221",
"_traffic": "R:I:0:55",
"_fromst": "Cermak",
"start_lon": "-87.6662077421",
"_lit_lat": "41.8376849226",
"street": "Ashland",
"segmentid": "148",
"_last_updt": "R:T:S:300",
"_length": "1.0",
"_strheading": "S"
},
{
"_direction": "EB",
"_lit_lon": "-87.7167020015",
"_tost": "Central Park",
"_lif_lat": "41.9097494848",
"_traffic": "R:I:0:55",
"_fromst": "Pulaski",
"start_lon": "-87.7263320051",
"_lit_lat": "41.9098569484",
"street": "North",
"segmentid": "187",
"_last_updt": "R:T:S:300",
"_length": "0.49",
"_strheading": "W"
},
{
"_direction": "SB",
"_lit_lon": "-87.6676967823",
"_tost": "Milwaukee",
"_lif_lat": "41.9106313534",
"_traffic": "R:I:0:55",
"_fromst": "North Ave",
"start_lon": "-87.6678753006",
"_lit_lat": "41.904018258",
"street": "Ashland",
"segmentid": "156",
"_last_updt": "R:T:S:300",
"_length": "0.45",
"_strheading": "N"
},
{
"_direction": "EB",
"_lit_lon": "-87.794804754",
"_tost": "Oak Park",
"_lif_lat": "41.9087289094",
"_comments": "IDOT Signals Possible",
"_traffic": "R:I:0:55",
"_fromst": "Harlem",
"start_lon": "-87.8057602459",
"_lit_lat": "41.9088985252",
"street": "North",
"segmentid": "320",
"_last_updt": "R:T:S:300",
"_length": "0.56",
"_strheading": "W"
},
{
"_direction": "NB",
"_lit_lon": "-87.6812046376",
"_tost": "107th",
"_lif_lat": "41.6917781183",
"_traffic": "R:I:0:55",
"_fromst": "111th",
"start_lon": "-87.6809720935",
"_lit_lat": "41.6990779218",
"street": "Western",
"segmentid": "327",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "S"
},
{
"_direction": "NB",
"_lit_lon": "-87.6690743088",
"_tost": "Montrose",
"_lif_lat": "41.9542892901",
"_traffic": "R:I:0:55",
"_fromst": "Irving Park",
"start_lon": "-87.6688650541",
"_lit_lat": "41.9615905019",
"street": "Ashland",
"segmentid": "128",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "NB",
"_lit_lon": "-87.6694299012",
"_tost": "Foster",
"_lif_lat": "41.9688759177",
"_traffic": "R:I:0:55",
"_fromst": "Lawrence",
"start_lon": "-87.6692552405",
"_lit_lat": "41.9761710709",
"street": "Ashland",
"segmentid": "130",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.6692326667",
"_tost": "Irving Park",
"_lif_lat": "41.9615926286",
"_traffic": "R:I:0:40",
"_fromst": "Montrose",
"start_lon": "-87.6694419633",
"_lit_lat": "41.9542914171",
"street": "Ashland",
"segmentid": "163",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
},
{
"_direction": "SB",
"_lit_lon": "-87.669622937",
"_tost": "Lawrence",
"_lif_lat": "41.976173197",
"_traffic": "R:I:0:44",
"_fromst": "Foster",
"start_lon": "-87.6697976396",
"_lit_lat": "41.9688780441",
"street": "Ashland",
"segmentid": "165",
"_last_updt": "R:T:S:300",
"_length": "0.5",
"_strheading": "N"
}
]
\ No newline at end of file
upstream ui_server { server ui-api:8080; }
upstream ws_server { server srg:7681; }
upstream ps_server { server public-safety:50005; }
upstream ic_ps_server { server public-safety-ic:50004; }
upstream otp_server { server ipgallery-mcz.com:8099; }
upstream kibana_server { server elk:5601; }
upstream camera_stream { server 62.90.201.74:9081; }
upstream camera_api { server 62.90.201.74:9090; }
upstream public_safety_camera { server 24.172.188.211:16000; }
upstream transportation_server { server transportation:50035; }
upstream parking_server { server parking:50055; }
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# client_max_body_size 0;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# List of application servers
#upstream ui_server {
# server 172.16.1.151:8080;
#}
#upstream ws_server {
# server 172.16.1.97:7681;
#}
#upstream ps_server {
# server 172.16.1.97:7681;
#}
server {
listen 443 ssl default_server;
# root /config/www;
# index index.html index.htm index.php;
server_name _;
# all ssl related config moved to ssl.conf
include /config/nginx/ssl.conf;
client_max_body_size 128m;
# SSL configuration
#
#listen 443 ssl default_server;
#listen [::]:443 ssl default_server;
#ssl_certificate /config/keys/letsencrypt/fullchain.pem;
#ssl_certificate_key /config/letsencrypt//keys/privkey.pem;
#ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
#ssl_prefer_server_ciphers on;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
proxy_pass http://ws_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 400s;
if ($http_origin) {
set $cors "true";
}
if ($request_method = 'OPTIONS') {
set $cors "${cors}options";
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'GET') {
set $cors "${cors}get";
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
}
if ($request_method = 'POST') {
set $cors "${cors}post";
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
}
if ($cors = "trueget") {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' 'true';
}
if ($cors = "truepost") {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' 'true';
}
if ($cors = "trueoptions") {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain charset=UTF-8';
return 204;
}
}
# Client
location = /app {
root /usr/share/nginx/html/app;
#return 301 /$scheme://localhost/app/index.html;
}
location /mcweb/ {
alias /opt/mcz/;
}
# SRG
location /srg {
proxy_pass http://ws_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# mqtt
location /mqtt {
rewrite /mqtt / break;
proxy_pass http://mqtt:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# UI Server
location ~ ^/control/app/(.*)\.htm$ {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/app/api/async/ {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/app/Profiles {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/app/PushRegistration {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ ^/control/app/user_images/* {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/ui/ {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://ui_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/publicSafety {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://ps_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ ^/control/ic-public-safety {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://ic_ps_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/public-safety {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://ps_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Open Trip Planner Server
location ~ ^/client/otp/routers {
rewrite ^/client/(.*) /$1 break;
proxy_pass http://otp_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Kibana Server
location ~ (/app/kibana|^/bundles/|/kibana4|/status|^/plugins|^/elasticsearch|^/api/xpack|^/api/monitoring|^/api/reporting|^/api/security) {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://kibana_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header Authorization "Basic ZWxhc3RpYzpjaGFuZ2VtZQ==";
rewrite /kibana/#/(.*)$ /$1 break;
}
# Kibana Server - cont.
location ~ (^/ui/fonts|^/control/api/timelion|^/control/api/console|^/es_admin) {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://kibana_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header Authorization "Basic ZWxhc3RpYzpjaGFuZ2VtZQ==";
rewrite /kibana/#/(.*)$ /$1 break;
}
# Grafana Server
location /grafana/ {
proxy_pass http://grafana:3000/;
}
# predictions
location /predictions/ {
proxy_pass http://predictions:50065/;
}
# activities
location /activities/ {
proxy_pass http://activities:50070/;
}
# Camera Stream
location ~ /streetCamera {
rewrite ^/(.*) /videostream.cgi?user=admin&pwd=giptmgr break;
proxy_pass http://camera_stream;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Camera API
location ~ ^/api/cam/ {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://camera_api;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Public Safety Camera
location ~ /polCamera {
rewrite ^/(.*) /control/faststream.jpg?stream=full&stream=MxPEG&fps=10 break;
proxy_pass https://public_safety_camera;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
# return 301 http://24.172.188.211:16000/control/faststream.jpg?stream=full&stream=MxPEG&fps=10;
}
# Trafice Lanes
location ~ ^/control/transportation/ {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://transportation_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Parking Spots
location ~ ^/control/parking/ {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://parking_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Web Control Center
location ~ ^/control {
rewrite /control/(.*)$ /$1 break;
proxy_pass http://ui-web-control;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Web Client
location ~ ^/client/transportation/ {
rewrite ^/client/(.*) /$1 break;
proxy_pass http://transportation_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ ^/client {
rewrite ^/client/(.*)$ /$1 break;
proxy_pass http://ui-web-client;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Web Driver
location ~ ^/driver {
rewrite ^/driver/(.*)$ /$1 break;
proxy_pass http://ui-web-driver;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI - old images
location ~ ^/ui {
proxy_pass http://ui_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
}
...@@ -13,14 +13,20 @@ services: ...@@ -13,14 +13,20 @@ services:
-Ddao.use.cache=false#\ -Ddao.use.cache=false#\
-Ddao.es.activity.url=activityidx/activity#\ -Ddao.es.activity.url=activityidx/activity#\
-Ddao.es.activity.bulk.hostport=elk:9300#\ -Ddao.es.activity.bulk.hostport=elk:9300#\
-Ddao.es.activity.hostport=elk:9200" -Ddao.es.activity.hostport=elk:9200#\
-Dactivities.search.engine=elasticsearch#\
-Dsap.jdbc.conn.url=jdbc:sap://172.16.1.160:39015/?databaseName=HXE#\
-Dsap.hana.user=DEVUSER#\
-Dsap.hana.password=Giptmgr1"
# -Dactivities.big.data.engine=bighana#\
# -Dactivities.activity.use.mongodb=true#\ # -Dactivities.activity.use.mongodb=true#\
# -Dactivities.big.data.engine=mongodb#\ # -Dactivities.big.data.engine=mongodb#\
# -Dactivities.analytics.engine=hanalytics#\ # -Dactivities.analytics.engine=hanalytics#\
# -Dds.sap.hana.url=35.156.55.64:8000#\ # -Dds.sap.hana.url=35.156.55.64:8000#\
# -Dhystrix.command.default.execution.isolation.thread.timeoutInMilliseconactivities=10000#\ # -Dhystrix.command.default.execution.isolation.thread.timeoutInMilliseconactivities=10000#\
USE_DEBUG: "yes" USE_DEBUG: "yes"
image: municipalitybank.com:5050/mcx/activities:26-c5521ab image: municipalitybank.com:5050/mcx/activities/sap-hana:2-7d2b5df
# image: municipalitybank.com:5050/mcx/activities:26-c5521ab
#image: municipalitybank.com:5050/mcx/activities:23-808af6e #image: municipalitybank.com:5050/mcx/activities:23-808af6e
# image: municipalitybank.com:5050/mcx/activities # image: municipalitybank.com:5050/mcx/activities
ports: ports:
...@@ -74,7 +80,8 @@ services: ...@@ -74,7 +80,8 @@ services:
-Dpubsub.host=mqtt#\ -Dpubsub.host=mqtt#\
-Dpubsub.port=1883" -Dpubsub.port=1883"
USE_DEBUG: "yes" USE_DEBUG: "yes"
image: municipalitybank.com:5050/mcx/transportation:19-ecce348 image: municipalitybank.com:5050/mcx/transportation:20-1a4580b
# image: municipalitybank.com:5050/mcx/transportation:19-ecce348
# image: municipalitybank.com:5050/mcx/transportation:18-2da1950 # image: municipalitybank.com:5050/mcx/transportation:18-2da1950
# image: municipalitybank.com:5050/mcx/transportation:17-ec4f801 # image: municipalitybank.com:5050/mcx/transportation:17-ec4f801
# image: municipalitybank.com:5050/mcx/transportation:16-a1ecc08 # image: municipalitybank.com:5050/mcx/transportation:16-a1ecc08
...@@ -86,6 +93,8 @@ services: ...@@ -86,6 +93,8 @@ services:
ports: ports:
- "8300:8000" - "8300:8000"
- "50035:50035" - "50035:50035"
extra_hosts:
- "data.cityofchicago.org:172.16.1.244"
####### parking ################### ####### parking ###################
parking: parking:
environment: environment:
...@@ -134,7 +143,8 @@ services: ...@@ -134,7 +143,8 @@ services:
-DpublicSafety.mdeServer.address=mde:50040#\ -DpublicSafety.mdeServer.address=mde:50040#\
-DpublicSafety.mde2Server.address=mde2:50041" -DpublicSafety.mde2Server.address=mde2:50041"
USE_DEBUG: "yes" USE_DEBUG: "yes"
image: municipalitybank.com:5050/mcx/public-safety:35-bb9469d image: municipalitybank.com:5050/mcx/public-safety:38-4b8fd57
# image: municipalitybank.com:5050/mcx/public-safety:35-bb9469d
# image: municipalitybank.com:5050/mcx/public-safety:23-2f0a378 # image: municipalitybank.com:5050/mcx/public-safety:23-2f0a378
# image: municipalitybank.com:5050/mcx/public-safety:22-0f6abc1 # image: municipalitybank.com:5050/mcx/public-safety:22-0f6abc1
# image: municipalitybank.com:5050/mcx/public-safety:21-c14ead7 # image: municipalitybank.com:5050/mcx/public-safety:21-c14ead7
...@@ -163,9 +173,9 @@ services: ...@@ -163,9 +173,9 @@ services:
-Dpush.server.url=push-server:50000#\ -Dpush.server.url=push-server:50000#\
-Duse.schedular=true#\ -Duse.schedular=true#\
-Dcity.reports=san-diego,chicago#\ -Dcity.reports=san-diego,chicago#\
-Dconfig.public.address=safeyme.com#\ -Dconfig.public.address=ipgallery-mcz.com#\
-Drcs.send.message.url=http://srg/srg/chat/v1/standalone/sendmessage#\ -Drcs.send.message.url=http://srg/srg/chat/v1/standalone/sendmessage#\
-Dpubsub.url=wss://safeyme.com/mqtt#\ -Dpubsub.url=wss://ipgallery-mcz.com/mqtt#\
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080" -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080"
image: municipalitybank.com:5050/mcx/ui:13-a788e7f image: municipalitybank.com:5050/mcx/ui:13-a788e7f
ports: ports:
...@@ -303,7 +313,7 @@ services: ...@@ -303,7 +313,7 @@ services:
mde2: mde2:
environment: environment:
ENV_PARAMS_COMMON: "-Dredis.host=redis#\ ENV_PARAMS_COMMON: "-Dredis.host=redis#\
-Dhystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=30000" -Dhystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000"
ENV_PARAMS_apiHandler: "-DconfigFile.location=/opt/mcx/config/apiHandler/config.properties#\ ENV_PARAMS_apiHandler: "-DconfigFile.location=/opt/mcx/config/apiHandler/config.properties#\
-DconfigLocation=/opt/mcx/config/apiHandler" -DconfigLocation=/opt/mcx/config/apiHandler"
...@@ -313,21 +323,25 @@ services: ...@@ -313,21 +323,25 @@ services:
ENV_PARAMS_httpAdapter: "-DconfigFile.location=/opt/mcx/config/httpAdapter/config.properties#\ ENV_PARAMS_httpAdapter: "-DconfigFile.location=/opt/mcx/config/httpAdapter/config.properties#\
-DconfigLocation=/opt/mcx/config/httpAdapter#\ -DconfigLocation=/opt/mcx/config/httpAdapter#\
-Ddomain_comsrv=comm-service:50060#\ -Ddomain_comsrv=comm-service:50060#\
-Dwebsocket_url=ws://ws-event-simulator:8053/events" -Dhystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=30000#\
-Dwebsocket_url=ws://172.16.1.80:8053/events"
DEBUG_httpAdapter: "yes" DEBUG_httpAdapter: "yes"
ENV_PARAMS_apiService: "-DconfigFile.location=/opt/mcx/config/apiService/config.properties#\ ENV_PARAMS_apiService: "-DconfigFile.location=/opt/mcx/config/apiService/config.properties#\
-DconfigLocation=/opt/mcx/config/apiService/#\ -DconfigLocation=/opt/mcx/config/apiService/#\
-Dhystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=30000#\
-Dredis.host=redis#\ -Dredis.host=redis#\
-DloginUserName=ipgallery#\ -DloginUserName=ipgallery#\
-DloginPassword=1PGall3ry#\ -DloginPassword=1PGall3ry#\
-Dsan-jose_loginUsername=operator22@cdp.com#\ -Dsan-jose_loginUsername=operator24@cdp.com#\
-Dsan-jose_loginPassword=I1dIWjVwSEBo[BASE64]#\ -Dsan-jose_loginPassword=IzhyTmdhc1R6[BASE64]#\
-Dsan-jose_loginClientId=a27b18484c3c4e08a7c193e42c639347#\ -Dsan-jose_loginClientId=a27b18484c3c4e08a7c193e42c639347#\
-Dsan-jose_loginClientSecret=b863de8f453c4a05A88126F45B958CF1" -Dsan-jose_loginClientSecret=b863de8f453c4a05A88126F45B958CF1"
DEBUG_apiService: "yes" DEBUG_apiService: "yes"
image: municipalitybank.com:5050/mcx/mde2:18-7fd3ca4 image: municipalitybank.com:5050/mcx/mde2:20-7571266
#image: municipalitybank.com:5050/mcx/mde2:18-7fd3ca4
#image: municipalitybank.com:5050/mcx/mde2:8-50c28c6 #image: municipalitybank.com:5050/mcx/mde2:8-50c28c6
#image: municipalitybank.com:5050/mcx/mde2:7-2188c62 #image: municipalitybank.com:5050/mcx/mde2:7-2188c62
#image: municipalitybank.com:5050/mcx/mde2:6-1b865d2 #image: municipalitybank.com:5050/mcx/mde2:6-1b865d2
...@@ -349,11 +363,26 @@ services: ...@@ -349,11 +363,26 @@ services:
mqtt: "mqtt:1883" mqtt: "mqtt:1883"
influxdb_hostport: "influxdb:8086" influxdb_hostport: "influxdb:8086"
influxdb_dbname: "mcx_db" influxdb_dbname: "mcx_db"
callbackAddress: "https://safeyme.com/predictions" # callbackAddress: "https://ipgallery-mcz.com/predictions"
providerUrl: "http://localhost:5000/forecast" callbackAddress: "http://localhost:50065"
image: municipalitybank.com:5050/mcx/predictions:10-e27f125 # providerUrl: "http://localhost:50068/forecast"
forecastUrl: "http://localhost:5002/forecast"
forecast_neurons: 50
dbhostport: "172.16.1.160:39015"
databaseName: "HXE"
databaseUser: "DEVUSER"
databasePassword: "Giptmgr1"
pypredict_num: 1
jspredict_num: 0
pyanomaly_num: 1
jssentiment_num: 0
image: municipalitybank.com:5050/mcx/predictions:17-9dea507
# image: municipalitybank.com:5050/mcx/predictions:15-8be7d0e
#image: municipalitybank.com:5050/mcx/predictions:10-e27f125
ports: ports:
- "50065:50065" - "50065:50065"
- "5000:5000"
- "50068:50068"
networks: networks:
- backend - backend
networks: networks:
......
...@@ -123,7 +123,7 @@ services: ...@@ -123,7 +123,7 @@ services:
INFLUXDB_NAME: "mcx_db" INFLUXDB_NAME: "mcx_db"
INFLUXDB_USER: "root" INFLUXDB_USER: "root"
INFLUXDB_PASS: "giptmgrr" INFLUXDB_PASS: "giptmgrr"
image: grafana/grafana image: grafana/grafana:4.6.0
ports: ports:
- "3000:3000" - "3000:3000"
- "8048:80" - "8048:80"
...@@ -134,6 +134,15 @@ services: ...@@ -134,6 +134,15 @@ services:
#user/pass = admin/admin #user/pass = admin/admin
networks: networks:
- backend - backend
ws-event-simulator:
environment:
file: "/tmp/events.json"
delay: 10
image: municipalitybank.com:5050/mcx/devops/ws-event-simulator
ports:
- "8053:8053"
volumes:
- "/opt/mcx/config/ws-event-simulator/events.json:/tmp/events.json"
networks: networks:
backend: backend:
driver: bridge driver: bridge
...@@ -14,7 +14,8 @@ services: ...@@ -14,7 +14,8 @@ services:
UI_SERVER_HOSTPORT: "ui-api:8080" UI_SERVER_HOSTPORT: "ui-api:8080"
PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR: "public-safety-ic" PUBLIC_SAFETY_IC_PORT_50004_TCP_ADDR: "public-safety-ic"
SRG_SERVER_HOSTPORT: "srg:7681" SRG_SERVER_HOSTPORT: "srg:7681"
image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:24-40a7492 image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:28-cc7ec12
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:24-40a7492
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:23-9a34ec0 # image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:23-9a34ec0
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:21-0f94418 # image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:21-0f94418
# image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:20-0347487 # image: municipalitybank.com:5050/mcx/ui-web/control-center-v2:20-0347487
...@@ -53,8 +54,9 @@ services: ...@@ -53,8 +54,9 @@ services:
- backend - backend
### UI-WEB-DRIVER (NGINX + WEB) ### UI-WEB-DRIVER (NGINX + WEB)
ui-web-driver: ui-web-driver:
image: municipalitybank.com:5050/ipgallery.web/driver:2-8af1450
# image: 172.16.1.212:5050/mcx/ui-web:driver-11-0a1f26cdf30b6734909f9c815a0b98c83b1a2c01 # image: 172.16.1.212:5050/mcx/ui-web:driver-11-0a1f26cdf30b6734909f9c815a0b98c83b1a2c01
image: municipalitybank.com:5050/mcx/ui-web:driver-2-963a1f8b75479192f5de29eb797422e67102fdbb # image: municipalitybank.com:5050/mcx/ui-web:driver-2-963a1f8b75479192f5de29eb797422e67102fdbb
environment: environment:
OTP_SERVER: "ipgallery-mcz.com:8099" OTP_SERVER: "ipgallery-mcz.com:8099"
KIBANA_SERVER: "elk:5601" KIBANA_SERVER: "elk:5601"
......
version: '2'
services:
polling-simulator:
environment:
file: "/tmp/polling.json"
p: 80
image: municipalitybank.com:5050/mcx/devops/polling-simulator
command: node app.js -p 80
ports:
- "8054:80"
volumes:
- "/opt/mcx/config/polling-simulator/chicago-polling.json:/tmp/polling.json"
networks:
- backend
networks:
backend:
driver: bridge
upstream ui_server { server ui-api:8080; }
upstream ws_server { server srg:7681; }
upstream ps_server { server public-safety:50005; }
upstream ic_ps_server { server public-safety-ic:50004; }
upstream otp_server { server ipgallery-mcz.com:8099; }
upstream kibana_server { server elk:5601; }
upstream camera_stream { server 62.90.201.74:9081; }
upstream camera_api { server 62.90.201.74:9090; }
upstream public_safety_camera { server 24.172.188.211:16000; }
upstream transportation_server { server transportation:50035; }
upstream parking_server { server parking:50055; }
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# client_max_body_size 0;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# List of application servers
#upstream ui_server {
# server 172.16.1.151:8080;
#}
#upstream ws_server {
# server 172.16.1.97:7681;
#}
#upstream ps_server {
# server 172.16.1.97:7681;
#}
server {
# new configuration for latest lets-encrypt support
# SSL configuration
#
# listen 443 ssl default_server;
# root /config/www;
# index index.html index.htm index.php;
server_name _;
# all ssl related config moved to ssl.conf
#include /config/nginx/ssl.conf;
proxy_max_temp_file_size 0;
# client_max_body_size 0;
client_max_body_size 128m;
# SSL configuration
#
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /config/keys/letsencrypt/fullchain.pem;
ssl_certificate_key /config/letsencrypt//keys/privkey.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
proxy_pass http://ws_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 400s;
client_max_body_size 128m;
if ($http_origin) {
set $cors "true";
}
if ($request_method = 'OPTIONS') {
set $cors "${cors}options";
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'GET') {
set $cors "${cors}get";
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
}
if ($request_method = 'POST') {
set $cors "${cors}post";
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
}
if ($cors = "trueget") {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' 'true';
}
if ($cors = "truepost") {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' 'true';
}
if ($cors = "trueoptions") {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain charset=UTF-8';
return 204;
}
}
# Client
location = /app {
root /usr/share/nginx/html/app;
#return 301 /$scheme://localhost/app/index.html;
}
location /mcweb/ {
alias /opt/mcz/;
}
# SRG
location /srg {
proxy_pass http://ws_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# mqtt
location /mqtt {
rewrite /mqtt / break;
proxy_pass http://mqtt:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# UI Server
location ~ ^/control/app/(.*)\.htm$ {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/app/api/async/ {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/app/Profiles {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/app/PushRegistration {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ ^/control/app/user_images/* {
rewrite ^/control/app/(.*) /ui$1 break;
proxy_pass http://ui_server/ui/$1?$args;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/ui/ {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://ui_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/publicSafety {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://ps_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ ^/control/ic-public-safety {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://ic_ps_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI Server
location ~ ^/control/public-safety {
rewrite ^/control/(.*) /$1 break;
add_header "Access-Control-Allow-Origin" "*";
proxy_pass http://ps_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Open Trip Planner Server
location ~ ^/client/otp/routers {
rewrite ^/client/(.*) /$1 break;
proxy_pass http://otp_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Kibana Server
location ~ (/app/kibana|^/bundles/|/kibana4|/status|^/plugins|^/elasticsearch|^/api/xpack|^/api/monitoring|^/api/reporting|^/api/security) {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://kibana_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header Authorization "Basic ZWxhc3RpYzpjaGFuZ2VtZQ==";
rewrite /kibana/#/(.*)$ /$1 break;
}
# Kibana Server - cont.
location ~ (^/ui/fonts|^/control/api/timelion|^/control/api/console|^/es_admin) {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://kibana_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header Authorization "Basic ZWxhc3RpYzpjaGFuZ2VtZQ==";
rewrite /kibana/#/(.*)$ /$1 break;
}
# Grafana Server
location /grafana/ {
proxy_pass http://grafana:3000/;
}
# predictions
location /predictions/ {
proxy_pass http://predictions:50065/;
}
# activities
location /activities/ {
add_header "Access-Control-Allow-Origin" "*";
proxy_pass http://activities:50070/;
}
# Camera Stream
location ~ /streetCamera {
rewrite ^/(.*) /videostream.cgi?user=admin&pwd=giptmgr break;
proxy_pass http://camera_stream;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Camera API
location ~ ^/api/cam/ {
rewrite ^/control/(.*) /$1 break;
proxy_pass http://camera_api;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Public Safety Camera
location ~ /polCamera {
rewrite ^/(.*) /control/faststream.jpg?stream=full&stream=MxPEG&fps=10 break;
proxy_pass https://public_safety_camera;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
# return 301 http://24.172.188.211:16000/control/faststream.jpg?stream=full&stream=MxPEG&fps=10;
}
# Trafice Lanes
location ~ ^/control/transportation/ {
rewrite ^/control/(.*) /$1 break;
add_header "Access-Control-Allow-Origin" "*";
proxy_pass http://transportation_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Parking Spots
location ~ ^/control/parking/ {
rewrite ^/control/(.*) /$1 break;
add_header "Access-Control-Allow-Origin" "*";
proxy_pass http://parking_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Web Control Center
location ~ ^/control {
rewrite /control/(.*)$ /$1 break;
proxy_pass http://ui-web-control;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Web Client
location ~ ^/client/transportation/ {
rewrite ^/client/(.*) /$1 break;
proxy_pass http://transportation_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ ^/client {
client_max_body_size 128m;
rewrite ^/client/(.*)$ /$1 break;
proxy_pass http://ui-web-client;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# Web Driver
location ~ ^/driver {
rewrite ^/driver/(.*)$ /$1 break;
proxy_pass http://ui-web-driver;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
# UI - old images
location ~ ^/ui {
proxy_pass http://ui_server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment