import easyIO.*; import java.util.*; /** trekker ut lengde og breddekrad fra fil over postnummer(fil:postnummer.txt) , lager file:kommuneKoordinater.txt*/ class VisVaksinasjonsData { public static void main(String [] args) { Kontroll kf = new Kontroll(); System.out.println("VisVaksinasjonsData Ferdig"); } } class Kommune{ double lat, lon; String navn, fNavn; int vaksineProsent; Kommune(double lat, double lon, String navn, String fNavn) { this.lat =lat; this.lon= lon; this.navn=navn; this.fNavn = fNavn; } } // end Kommune class HTMLSide{ // default String mapType="hybrid", sted1="Nesodden", fylke="Akershus"; int zoomFaktor =14; String markers=""; String hodet; String bildeStart ; String bunn ; void addMarker (double lon, double lat, int prosent) { bildeStart ="20) color = "blue"; if (prosent>40) color = "yellow"; if (prosent>60) color = "green"; if (prosent>80) color = "brown"; prosent = prosent/10; //only first digit markers += "&markers=color:"+color+"|label:"+prosent+"|"+Format.align(lat,10,6).trim()+","+Format.align(lon,10,6).trim(); } // end addMarker void skrivSide(Out fil){ hodet=" SykeData Kart_亚博娱乐官网_亚博pt手机客户端登录
"+ "" + "

Vaksinasjon mot fugleinfluensa for:"+fylke+"

" + "
"; bunn ="&sensor=false" + "&key=ABQIAAAA0o6JxfaYY16TZnSqmiWkZhRBaHFDNbX0x77MpCV2soDiOBxUcRQL4PXKuJk2DDpruAsGCZy_STMmsg\"" + ">

"+ ""; fil.outln(hodet); fil.outln(bildeStart); fil.out(markers); fil.outln(bunn); fil.close(); }// end skrivSide }//end class HTMLSide class Fylke{ String fNavn; HashMap kommuner = new HashMap (25); double getLon(){ double lon =0; for (Kommune k : kommuner.values()) lon += k.lon; return lon/kommuner.size(); } // end getLon double getLat(){ double lat =0; for (Kommune k : kommuner.values()) lat += k.lat; return lat/kommuner.size(); } // end getLat int getProsent(){ int p =0; for (Kommune k : kommuner.values()) p += k.vaksineProsent; return p/kommuner.size(); } // end getLat Fylke(String navn) { fNavn=navn; } } // end class Fylke class Kontroll{ HashMap kom = new HashMap (500); HashMap fylkene = new HashMap(); HTMLSide htmlSide; void addMarkerKommune(String kNavn){ Kommune k= kom.get(kNavn); htmlSide.markers=""; htmlSide.zoomFaktor =10; htmlSide.sted1 =k.navn; htmlSide.fylke =k.navn; htmlSide.addMarker(k.lon, k.lat, k.vaksineProsent); }// end addMarkerKommune void addMarkerFylke(String fNavn){ Fylke f = fylkene.get(fNavn); htmlSide.markers=""; htmlSide.zoomFaktor =8; htmlSide.fylke =f.fNavn; htmlSide.sted1 =f.fNavn; for(Kommune k : f.kommuner.values()) htmlSide.addMarker(k.lon, k.lat, k.vaksineProsent); }// end addMarkerFylke void addMarkerNorge(){ htmlSide.zoomFaktor =4; htmlSide.markers=""; htmlSide.sted1 ="Namsos"; htmlSide.fylke ="Norway"; for(Fylke f : fylkene.values()) htmlSide.addMarker(f.getLon(), f.getLat(), f.getProsent()); }// end addMarkerNorge int skrivMeny(Out skjerm, In tast){ skjerm.out("Gi 1-kommune, 2- Fylke eller 3- Norge, 0= avslutt:"); int valg = tast.inInt(); skjerm.outln("\n\n"); return valg; }// end skrivMeny(); String pad(String s, int len) { int k = len - s.length(); String t=""; while (k-- >0) t+=" "; return s + t; }// end pad Kontroll() { int knum, knumMax =0,antKnum; double lat,lon; String kNavn, fNavn,pNavn,s; char skille ; Kommune k; Fylke f; In kommuner = new In("KommuneKoordinater.txt"); // les kommune, fylke, koordinater In vaksine = new In("VaksinasjonsData.txt"); // led vaksinasjonsprosenter // kommuner. readLine(); // skip heading while (! kommuner.lastItem()) { // read next line kNavn = kommuner.inWord(",").trim(); // stopp p? komma fNavn = kommuner.inWord(",").trim(); //skip blanke og stopp p? komma lat = kommuner.inDouble(" ,");//skip blanke og stopp p? komma lon = kommuner.inDouble(" ,");//skip blanke og stopp p? komma k = new Kommune(lat,lon,kNavn, fNavn); if (! fylkene.containsKey(fNavn)){ f = new Fylke(fNavn); fylkene.put(fNavn,f); } else f = fylkene.get(fNavn); kom.put(kNavn,k); // bare kommune f.kommuner.put(kNavn,k); // legg kommunen i riktig fylke } // end les kommunedata while (! vaksine.lastItem()) { kNavn = vaksine.inWord(",").trim(); // stopp p? komma int pct = vaksine.inInt(); kom.get(kNavn).vaksineProsent = pct; // finn kommune og sett prosent } // opppdatert vaskinasjonsprosenter kommuner.close(); vaksine.close(); // les kommado (tegn Norge, Fylket eller Kommune) In tast = new In(); // ?pne tastaturet Out skjerm= new Out(); int i =0; int valg = 1; while (valg !=0) { htmlSide= new HTMLSide(); valg = skrivMeny(skjerm, tast); switch (valg) { case 0: break; case 1: skjerm.out("Gi bare en kommune:"); addMarkerKommune(tast.inWord().trim()); break; case 2: skjerm.out("Gi et fylke:"); addMarkerFylke(tast.inWord().trim()); break; case 3: skjerm.outln("Du valgte Norge"); addMarkerNorge(); break; default: skjerm.outln("Feil: velg:0,1,2 eller 3"); } if(valg!=0) htmlSide.skrivSide(new Out("TestOblig"+(i++)+".html")); } }// end Kontroll-konstruktor }// end class Kontroll