package delya;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class pro {
int s,datanumber;
String[] data=new String[50000];
String[] subdata=new String[50000];
double[] lat=new double[60000];
double[] lon=new double[60000];
int[][] point=new int[101][101];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
readx("line.csv");
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
lat[s-1]=num_double(x[3]);
lon[s-1]=num_double(x[4]);
}
datanumber=datanumber-1;
double maxx=lat[1];
double minx=lat[1];
for(s=1;s<datanumber+1;s++){
if(lat[s]<5)lat[s]=lat[1];
if(lat[s]>maxx)maxx=lat[s];
if(lat[s]<minx)minx=lat[s];
}
double maxy=lon[1];
double miny=lon[1];
for(s=1;s<datanumber+1;s++){
if(lon[s]<5)lon[s]=lon[1];
if(lon[s]>maxy)maxy=lon[s];
if(lon[s]<miny)miny=lon[s];
}
for(s=1;s<datanumber+1;s++){
int x1=(int)(100*(lat[s]-minx)/(maxx-minx));
int y1=(int)(100*(lon[s]-miny)/(maxy-miny));
int h=0;
if(y1<100)h=h+1;
if(x1<100)h=h+1;
if(y1>0)h=h+1;
if(x1>0)h=h+1;
if(h==4)point[y1][x1]=100;
}
System.out.println(minx+","+maxx);
graph sub=new graph();
sub.point=point;
sub.makedata("map.jpg");
}
double num_double(String str){
double nx;
nx=0;
try{
nx=Double.parseDouble(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 delya;
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[][] point=new int[105][105];
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);
int s,sx;
offsc.setColor(Color.RED);
for(s=1;s<101;s++){
for(sx=1;sx<101;sx++){
if(point[s][sx]>50)offsc.fillRect(5*sx,500-5*s,5,5);
}}
offsc.dispose();
try {
ImageIO.write(off, "jpeg", new File(file));
} catch (IOException exception) { exception.printStackTrace(); }
}
}
最終更新:2016年11月23日 07:46