package pic;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class pro {
String[] data=new String[900000];
int s,datanumber;
int[] lon=new int[900000];
int[] lat=new int[900000];
int[][] point=new int[501][501];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
readx("datax.csv");
for(s=2;s<datanumber+1;s++){
String str=data[s];
String[] x=str.split(",");
String y1=x[0].substring(0,2);
String x1=x[0].substring(2,4);
String y2=x[0].substring(4,5);
String x2=x[0].substring(5,6);
String y3=x[0].substring(6,7);
String x3=x[0].substring(7,8);
lat[s-1]=80*num_int(x1)+10*num_int(x2)+num_int(x3);
lon[s-1]=80*num_int(y1)+10*num_int(y2)+num_int(y3);
}
int maxy=0;
int maxx=0;
for(s=1;s<datanumber;s++){
if(lon[s]>maxy)maxy=lon[s];
if(lat[s]>maxx)maxx=lat[s];
}
System.out.println(maxx+","+maxy);
int miny=maxy;
int minx=maxx;
for(s=1;s<datanumber;s++){
if(lon[s]<miny)miny=lon[s];
if(lat[s]<minx)minx=lat[s];
}
for(s=1;s<datanumber;s++){
int x1=500*(lat[s]-minx)/(maxx-minx);
int y1=500*(lon[s]-miny)/(maxy-miny);
point[y1][x1]=100;
}
graph sub=new graph();
sub.point=point;
sub.makedata("map.jpg");
}
int num_int(String str){
int nx;
nx=0;
try{
nx=Integer.parseInt(str);
}catch (Exception e) {}
return nx;
}
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;
}
}
package pic;
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;
public class graph {
int datanumber;
int[][] point=new int[501][501];
void makedata(String file){
BufferedImage off = new BufferedImage(500, 500, BufferedImage.TYPE_INT_BGR);
Graphics offsc = off.getGraphics();
offsc.setColor(Color.white);
offsc.fillRect(0,0,500,500);
offsc.setColor(Color.BLUE);
int s,sx;
for(s=1;s<501;s++){
for(sx=1;sx<501;sx++){
if(point[s][sx]>50)offsc.fillRect(sx,500-s,1,1);
}}
offsc.dispose();
try {
ImageIO.write(off, "jpeg", new File(file));
} catch (IOException exception) { exception.printStackTrace(); }
}
}
最終更新:2017年02月28日 22:19