Country + Origin + RegionView modify
[Persons_Comparator.git] / src / Country.java
CommitLineData
e16e3b15
JB
1import javax.swing.*;
2
3ae9566e
JB
3public class Country {
4 private String name;
3ae9566e 5 private String region;
f56708fa
SP
6 private double lat;
7 private double lng;
e16e3b15 8 private ImageIcon flag;
3ae9566e 9
f56708fa
SP
10 public Country(String name, String region, double lat, double lng) {
11 setName(name);
12 setRegion(region);
13 setLat(lat);
14 setLng(lng);
3ae9566e
JB
15 }
16
3ae9566e
JB
17 public void setName(String name) {
18 this.name = name;
19 }
20
822afd4f
SP
21 public String getName() {
22 return name;
23 }
24
3ae9566e
JB
25 public void setRegion(String region) {
26 this.region = region;
27 }
28
f56708fa
SP
29 public void setLat(double lat) {
30 this.lat = lat;
3ae9566e
JB
31 }
32
d8b03ca8
SP
33 public double getLat() {
34 return lat;
35 }
36
f56708fa
SP
37 public void setLng(double lng) {
38 this.lng = lng;
3ae9566e
JB
39 }
40
d8b03ca8
SP
41 public double getLng() {
42 return lng;
43 }
44
e16e3b15
JB
45 public int distanceTo(Country country) {
46 if ((this.lat == country.lat) && (this.lng == country.lng)) {
47 return 0;
48 } else {
49 double theta = this.lng - country.lng;
50 Double dist = Math.sin(Math.toRadians(this.lat)) * Math.sin(Math.toRadians(country.lat)) + Math.cos(Math.toRadians(this.lat)) * Math.cos(Math.toRadians(country.lat)) * Math.cos(Math.toRadians(theta));
51 dist = Math.acos(dist);
52 dist = Math.toDegrees(dist);
53 dist = dist * 60 * 1.1515;
54 // Kilometers
55 dist = dist * 1.609344;
56 return dist.intValue();
57 }
58 }
59
f56708fa
SP
60 @Override
61 public String toString() {
62 return "Country{" +
63 "name='" + name + '\'' +
64 ", region='" + region + '\'' +
65 ", lat=" + lat +
66 ", lng=" + lng +
67 '}';
3ae9566e
JB
68 }
69}