package map2;
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[] 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<11;sx++){
if(lonx[s][sx]>maxy)maxy=lonx[s][sx];
if(latx[s][sx]>maxx)maxx=latx[s][sx];
}}
minx=99999;
miny=99999;
for(s=1;s<dicnumber+1;s++){
for(sx=1;sx<11;sx++){
if(lonx[s][sx]<miny)miny=lonx[s][sx];
if(latx[s][sx]<minx)minx=latx[s][sx];
}}
int x1,y1;
for(s=1;s<dicnumber+1;s++){
int[] px=new int[600];
int[] py=new int[600];
for(sx=1;sx<11;sx++){
px[sx-1]=(int)(500*(latx[s][sx]-minx)/(maxx-minx));
py[sx-1]=500-(int)((500*(lonx[s][sx]-miny)/(maxy-miny)));
}
offsc.setColor(Color.BLUE);
if(point[s]>100)offsc.setColor(Color.ORANGE);
if(point[s]>1000)offsc.setColor(Color.PINK);
if(point[s]>5000)offsc.setColor(Color.RED);
Polygon po = new Polygon(px,py,10);
offsc.fillPolygon(po);
}
offsc.dispose();
try {
ImageIO.write(off, "jpeg", new File(file));
} catch (IOException exception) { exception.printStackTrace(); }
}
}
package map2;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class pro {
double[][] lon=new double[5000][11];
double[][] lat=new double[5000][11];
String[] city=new String[50000];
String[] code=new String[50000];
int datanumber;
String[] data=new String[50000];
double[] point=new double[5000];
int numberx;
int[] v=new int[5000];
int number;
public static void main(String[] args) {
pro te=new pro();
}
pro(){
readx("map.csv");
number=0;
int s;
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
int n=Integer.parseInt(x[0]);
int m=Integer.parseInt(x[2]);
lon[n][m]=Double.parseDouble(x[3]);
lat[n][m]=Double.parseDouble(x[4]);
city[n]=x[1];
if(city[n].length()<5)city[n]="0"+city[n];
number=n;
}
readx("700.csv");
int delta=1;
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
code[s]=x[0];
if(code[s].length()==4)code[s]="0"+code[s];
point[s]=num(x[10]);
System.out.println(code[s]+","+point[s]);
}
int sx;
for(s=1;s<number+1;s++){
for(sx=2;sx<datanumber+1;sx++){
if(city[s].equals(code[sx]))v[s]=(int)point[sx];
}
}
graph sub=new graph();
sub.lonx=lon;
sub.latx=lat;
sub.dicnumber=number;
sub.point=v;
sub.makedata("ren5.jpg");
}
int numx(String str){
int nx;
nx=0;
try{
nx=Integer.parseInt(str);
}catch (Exception e) {}
return nx;
}
double num(String str){
double nx;
nx=0;
try{
nx=Double.parseDouble(str);
}catch (Exception e) {}
return nx;
}
String clear(String str){
int[] delta=new int[100];
int[] d1=new int[100];
int[] d2=new int[100];
int number_c=0;
int p1=str.indexOf("\"");
if(p1>-1)number_c=number_c+1;
if(p1>-1)delta[number_c]=p1;
int s;
delta[0]=0;
for(s=1;s<51;s++){
p1=delta[number_c];
p1=str.indexOf("\"",p1+1);
if(p1>-1)number_c=number_c+1;
if(p1>-1)delta[number_c]=p1;
}
number_c=number_c/2;
for(s=1;s<number_c+1;s++){
d1[s]=delta[2*s-1];
d2[s]=delta[2*s];
}
String strx="";
strx=str.substring(0,d1[1]);
for(s=1;s<number_c;s++){
String a=str.substring(d1[s]+1,d2[s]);
strx=strx+a.replace(",","");
strx=strx+str.substring(d2[s]+1,d1[s+1]);
}
String a=str.substring(d1[number_c],d2[number_c]);
strx=strx+a.replace(",","");
strx=strx+ str.substring(d2[number_c],str.length());
return strx;
}
void readx(String file){
String str;
BufferedReader br;
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2016年04月29日 00:13