プロジェクト

全般

プロフィール

« | » 

リビジョン 04f0d3d7

高徹 高橋 徹 さんが約9年前に追加

モデルクラスとデータクラスの追加、テストパターン表示

差分を表示:

src/com/torutk/tinymap/TinyMapModel.java
/*
* © 2016 Toru Takahashi
*/
package com.torutk.tinymap;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/**
*
* @author Toru Takahashi
*/
public class TinyMapModel {
private File mapFile;
private List<TinyMapPolyline> polylines;
public Stream<TinyMapPolyline> stream() {
return polylines.stream();
}
public void loadLines() {
polylines = new ArrayList<>();
loadTestPattern();
}
private void loadTestPattern() {
for (int lat = -90; lat <= 90; lat += 10) {
double[] xs = new double[36];
double[] ys = new double[36];
int lon = -180;
for (int i = 0; i < 36; i++, lon += 10) {
xs[i] = lon;
ys[i] = lat;
}
polylines.add(new TinyMapPolyline(xs, ys));
}
for (int lon = -180; lon < 180; lon += 10) {
double[] xs = new double[19];
double[] ys = new double[19];
int lat = -90;
for (int i = 0; i <= 18; i++, lat += 10) {
xs[i] = lon;
ys[i] = lat;
}
polylines.add(new TinyMapPolyline(xs, ys));
}
}
}
src/com/torutk/tinymap/TinyMapPolyline.java
/*
* © 2016 Toru Takahashi
*/
package com.torutk.tinymap;
/**
*
* @author Toru Takahashi
*/
public class TinyMapPolyline {
private final double[] xArray;
private final double[] yArray;
public TinyMapPolyline(double[] xArray, double[] yArray) {
this.xArray = xArray;
this.yArray = yArray;
}
public double[] getXArray() {
return xArray;
}
public double[] getYArray() {
return yArray;
}
public int size() {
return xArray.length;
}
}
src/com/torutk/tinymap/TinyMapViewController.java
private Canvas mapCanvas;
@FXML
private Pane rootPane;
private TinyMapModel mapModel;
@FXML
private void loadShapefile(ActionEvent event) {
System.out.println("You clicked me!");
mapModel = new TinyMapModel();
mapModel.loadLines();
clearMapCanvas();
drawMapCanvas();
}
/**
......
gc.setFill(Color.MIDNIGHTBLUE);
gc.fillRect(0, 0, mapCanvas.getWidth(), mapCanvas.getHeight());
}
private void drawMapCanvas() {
mapModel.stream().forEach(polyline -> {
GraphicsContext gc = mapCanvas.getGraphicsContext2D();
gc.setStroke(Color.LIGHTGREEN);
gc.strokePolyline(polyline.getXArray(), polyline.getYArray(), polyline.size());
});
}
@Override
public void initialize(URL url, ResourceBundle rb) {

他の形式にエクスポート: Unified diff