private void getLocalStations() { foreach (CityGroup cg in citygroups) { StationGroup sg = new StationGroup(); sg.name = cg.city.name; //point as geocoord lat lon var cityCoord = new GeoCoordinate(cg.city.location[1], cg.city.location[0]); double dist = 0; double eleDiff = 0; foreach (Result res in stationResults) { //find within radius altitude var resCoord = new GeoCoordinate(res.location[1], res.location[0]); dist = cityCoord.GetDistanceTo(resCoord); eleDiff = cg.city.elevation - res.elevation; if (dist < 50000 && Math.Abs(eleDiff) < 100) { sg.stations.Add(res); } } cg.localStations = sg; } }
public StationReader() { getStationList(); readResults(); regions = MapTools.readRegions(); JSONout.regionsToGEOJSON(regions); //set up regional groups StationGroup sg = new StationGroup(); foreach (Region r in regions) { sg = new StationGroup(); sg.name = r.name; stationsByRegion.Add(sg); } sg = new StationGroup(); sg.name = "outside"; stationsByRegion.Add(sg); groupStationsByRegion(); cities = MapTools.readCities(); //set up city groups foreach (City city in cities) { CityGroup cg = new CityGroup(); cg.city = city; citygroups.Add(cg); } addRegionGroup(); getLocalStations(); outputNumeric(); outputRegionalGroups(); JSONout.writeRegional(stationsByRegion); JSONout.writeCityGroups(citygroups); }
public CityGroup() { localStations = new StationGroup(); }