アットウィキロゴ

郵便局h

package map;
 
import java.io.*;
 
public class pro {
 
    String[] data=new String[30000];
    int s,datanumber;
 double[] lon=new double[30000];
 double[] lat=new double[30000];
   String[] city=new String[30000];
 int[] point=new int[60000];
 
  String[] code=new String[3000];
    int[] pop=new int[3000];
 
     int[] big=new int[3000];
      String[][] code_big=new String[21][101];
 
  public static void main(String[] args) {
        pro t=new pro();
    }
    pro(){
 
 
big[	1	]=	1100	;
big[	2	]=	4100	;
big[	3	]=	11100	;
big[	4	]=	12100	;
big[	5	]=	14100	;
big[	6	]=	14130	;
big[	7	]=	14150	;
big[	8	]=	15100	;
big[	9	]=	22100	;
big[	10	]=	22130	;
big[	11	]=	23100	;
big[	12	]=	26100	;
big[	13	]=	27100	;
big[	14	]=	27140	;
big[	15	]=	28100	;
big[	16	]=	33100	;
big[	17	]=	34100	;
big[	18	]=	40100	;
big[	19	]=	40130	;
big[	20	]=	43100	;
 
 
for(s=1;s<21;s++){
int c1=big[s];
big[s]=c1;
}
 
int sx;
for(s=1;s<21;s++){
for(sx=0;sx<30;sx++){
int m1=big[s]+sx;
code_big[s][sx]=""+m1;
if(code_big[s][sx].length()==4)code_big[s][sx]="0"+code_big[s][sx];
}   
}
 
 
 
         readx("a.csv");
         for(s=2;s<datanumber+1;s++){
        data[s]=rev_csv(data[s]);
        String[] x=data[s].split(",");
    code[s-1]=x[0];
    pop[s-1]=(int)(num(x[3])/num(x[2]));    
    System.out.println(pop[s-1]);
         }  
 
         int number=datanumber-1;
 
 
 
        readx("map.csv");
    for(s=2;s<datanumber+1;s++){
        data[s]=rev_csv(data[s]);
        String[] x=data[s].split(",");
 
 
    String n1=x[1].replace("\"","");
    lat[s-1]=num(n1);
    n1=x[0].replace("\"","");;
    lon[s-1]=num(n1);
    city[s-1]=x[3];  
    }    
 
 
    datanumber=datanumber-1;
 
 
       for(s=1;s<datanumber+1;s++){
    point[s]=0;
    for(sx=1;sx<number+1;sx++){
    if(city[s].equals(code[sx]))point[s]=pop[sx];    
    }    
    }
 
 
 
 
    for(s=1;s<datanumber+1;s++){
 
    if(point[s]==0){
    int m,mx;
 
    for(m=1;m<21;m++){
 
    int p1=0;
 
    for(sx=1;sx<number+1;sx++){
    if(code[sx].equals(code_big[m][0]))p1=pop[sx];    
    }
 
 
    for(mx=1;mx<30;mx++){
    if(city[s].equals(code_big[m][mx]))point[s]=p1;    
    }    
 
 
    }
    }
    }
 
 
 
 
 
    graph sub=new graph();
    sub.datanumber=datanumber;
    sub.lon=lon;
    sub.lat=lat;
    sub.point=point;
    sub.makedata("map.jpg");
 
System.out.println(datanumber);
 
 
 
 
 
    }
       void readx(String file){
 
String str;
BufferedReader br;  
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"SJIS"));  
while((str = br.readLine()) != null) {  
s=s+1;
data[s]=str;  
}
br.close();
} catch (IOException e) {System.out.println(e);}  
 
datanumber=s;
 
} 
 
    double num(String str){
 
    double nx;
 
    nx=0;
 
 try{
 
    nx=Double.parseDouble(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
     String rev_csv(String str){
 
        String str5=str;
        int px=str5.indexOf("\"");
 
 
 
        while(px>-1){
       str5=rev(str5);
       px=str5.indexOf("\"");   
        }
        return str5;
    }
 
    String rev(String str){
 
        int p1=str.indexOf("\"");
        int p2=str.indexOf("\"",p1+1);
 
     String str1=str.substring(0,p1);   
        String str2=str.substring(p1+1,p2);  
        String str3=str.substring(p2+1,str.length());
        str2=str2.replace(",","");
 
        return str1+str2+str3;
 
    }
}
 
 
 
package map;
 
import java.awt.Polygon;
import java.awt.*; 
import java.awt.Color;   
import java.awt.image.*;   
import java.awt.image.BufferedImage;   
import java.io.*;   
import javax.imageio.ImageIO;   
import java.awt.Polygon;
import java.util.HashMap;
 
class graph{
 
 
       int number_adm;
    int h=700;
    int w=700;
 
 
 
String maxg;  
 
 
 
 
 double z;
 
 int datanumber;
 String[] dic=new String[20000];
  double[] lon=new double[70000];
   double[] lat=new double[70000];
     int[] delta=new int[6000];
 
    int[] point=new int[60000];
 
void makedata(String file){
 
    int w1,h1,mx,nx;
 
 
w1=500;
h1=500;    
BufferedImage off = new BufferedImage(w1, h1, BufferedImage.TYPE_INT_BGR);   
Graphics offsc = off.getGraphics();  
 
offsc.setColor(Color.WHITE);
offsc.fillRect(0,0,500,500);
 
double maxy,maxx,minx,miny;
maxy=0;
maxx=0;
int sx,s;
for(s=1;s<datanumber+1;s++){
if(lon[s]>maxy)maxy=lon[s];
if(lat[s]>maxx)maxx=lat[s];
}
 
minx=999;
miny=999;
for(s=1;s<datanumber+1;s++){
if(lon[s]<miny)miny=lon[s];
if(lat[s]<minx)minx=lat[s];
}
 
int x1,y1;
 
for(s=1;s<datanumber+1;s++){
x1=(int)(500*(lat[s]-minx)/(maxx-minx)); 
y1=(int)(500*(lon[s]-miny)/(maxy-miny)); 
offsc.setColor(Color.GREEN);
if(point[s]>2500)offsc.setColor(Color.YELLOW);
if(point[s]>3000)offsc.setColor(Color.PINK);
if(point[s]>3500)offsc.setColor(Color.RED);
offsc.fillRect(x1,500-y1,1,1);
}
 
offsc.dispose(); 
 
try { 
ImageIO.write(off, "jpeg", new File(file)); 
} catch (IOException exception) { exception.printStackTrace(); }     
}   
 
}
 
最終更新:2016年11月14日 09:51