アットウィキロゴ

ppp777hhh

package map;
 
import java.io.*;
 
public class pro {
 
 
    int datanumber;
String[] data=new String[50000];
    String[] code=new String[50000];
   double[] lon=new double[50000];
   double[] lat=new double[50000];
     String[] city=new String[50000];
     int[] num=new int[60000];
     double[][] lonx=new double[5000][501];
   double[][] latx=new double[5000][501];
     int[] delta=new int[6000];
 String[] code_city=new String[5000];
 int number;   
 int[] point=new int[6000];
 String[] cc=new String[5000];
 
    public static void main(String[] args) {
        pro t=new pro();
    }
 
pro(){
 
 
    catchdata sub6=new catchdata();
    sub6.makedata();
    cc=sub6.city;
    point=sub6.point;
    number=sub6.number;
    int s;
    for(s=1;s<11;s++){
    System.out.println(cc[s]+","+point[s]);
    }
 
 
    readx("map.csv");
        for(s=1;s<datanumber+1;s++){
    String[] x=data[s].split(",");    
        lon[s]=Double.parseDouble(x[3]);
        lat[s]=Double.parseDouble(x[4]);
        city[s]="";
        if(x.length>5)city[s]=x[5];
        code[s]=x[1];
        num[s]=Integer.parseInt(x[2]);
        }
 
        int sx,dicnumber;
        String[] dic=new String[5000];
        dicnumber=0;
 
 
        for(s=1;s<datanumber+1;s++){
        int h=0;
        for(sx=1;sx<dicnumber+1;sx++){
        if(code[s].equals(dic[sx]))h=100;    
        }
        if(h<60)dicnumber=dicnumber+1;
        if(h<60)dic[dicnumber]=code[s];
        if(h<60)code_city[dicnumber]=city[s];
        }
 
        int[] px=new int[600];
 
        for(s=1;s<dicnumber+1;s++){
        px[s]=0;
        for(sx=1;sx<number+1;sx++){
        if(code_city[s].equals(cc[sx]))px[s]=point[sx];    
        }
        System.out.println(code_city[s]+","+px[s]);
        }
 
 
 
         for(s=1;s<datanumber+1;s++){
         int sxs=0;
         for(sx=1;sx<dicnumber+1;sx++){
        if(code[s].equals(dic[sx]))sxs=sx;    
        }    
         int n=num[s];
         delta[sxs]=n;
         lonx[sxs][n]=lon[s];
         latx[sxs][n]=lat[s];
         }
 
 
 
 
        graph sub=new graph();
        sub.lonx=lonx;
        sub.latx=latx;
        sub.dicnumber=dicnumber;
        sub.delta=delta;
        sub.code_city=code_city;
        sub.point=px;
        sub.makedata("r9.jpg");
 
 
 
 
 
    }
 
 
     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) {  
String[] k=str.split(",");
 if(k[0].equals("p41"))s=s+1;
if(k[0].equals("p41"))data[s]=str;  
}
br.close();
} catch (IOException e) {System.out.println(e);}  
 
datanumber=s;
 
} 
 
 
}
 
 
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 dicnumber;
 String[] dic=new String[20000];
  double[][] lonx=new double[5000][501];
   double[][] latx=new double[5000][501];
     int[] delta=new int[6000];
  String[] code_city=new String[5000];
 
   int[] point=new int[6000];
 
void makedata(String file){
 
    int w1,h1,mx,nx;
 
 
 
w1=700;
h1=700;    
BufferedImage off = new BufferedImage(w1, h1, BufferedImage.TYPE_INT_BGR);   
Graphics offsc = off.getGraphics();  
 
offsc.setColor(Color.WHITE);
offsc.fillRect(0,0,700,700);
 
double maxy,maxx,minx,miny;
maxy=0;
maxx=0;
int sx,s;
for(s=1;s<dicnumber+1;s++){
for(sx=1;sx<delta[s]+1;sx++){
if(lonx[s][sx]>maxy)maxy=lonx[s][sx];
if(latx[s][sx]>maxx)maxx=latx[s][sx];
}}
 
minx=999;
miny=999;
for(s=1;s<dicnumber+1;s++){
for(sx=1;sx<delta[s]+1;sx++){
if(lonx[s][sx]<miny)miny=lonx[s][sx];
if(latx[s][sx]<minx)minx=latx[s][sx];
}}
 
int x1,y1;
offsc.setColor(Color.RED);
for(s=1;s<dicnumber+1;s++){
int[] px=new int[600];
int[] py=new int[600];
 offsc.setColor(Color.BLUE);
if(point[s]>10000)offsc.setColor(Color.ORANGE);
if(point[s]>50000)offsc.setColor(Color.PINK);
if(point[s]>100000)offsc.setColor(Color.RED);
for(sx=1;sx<delta[s]+1;sx++){
px[sx-1]=(int)(500*(latx[s][sx]-minx)/(maxx-minx));
py[sx-1]=500-(int)((500*(lonx[s][sx]-miny)/(maxy-miny)));
}
Polygon po = new Polygon(px,py,delta[s]);
offsc.fillPolygon(po);
}
 
offsc.dispose(); 
 
try { 
ImageIO.write(off, "jpeg", new File(file)); 
} catch (IOException exception) { exception.printStackTrace(); }     
}   
 
}
 
 
 
package map;
 
import tool.*;
 
public class catchdata {
 
    int datanumber;
String[] data=new String[50000];
String[] city=new String[600];
int[] point=new int[600];
int number;
 
void makedata(){
 
    readfile sub=new readfile();
    sub.makedata("data.csv","UTF-8");
    data=sub.data;
    datanumber=sub.datanumber;
 
    int s,sx;
    sx=0;
    for(s=1;s<datanumber+1;s++){
    String[] x=data[s].split(",");
    if(x[1].equals("41"))sx=sx+1;
    if(x[1].equals("41"))city[sx]=x[3];
    if(x[1].equals("41"))point[sx]=Integer.parseInt(x[5]);
    }
 
    number=sx;
 
 
 
 
 
}
 
 
}
 
最終更新:2016年04月11日 14:26