Pre-AlphaV7
This commit is contained in:
parent
48d53ca1d9
commit
d3a1380658
@ -6,6 +6,7 @@ import android.hardware.SensorEventListener;
|
|||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.CountDownTimer;
|
import android.os.CountDownTimer;
|
||||||
|
import android.provider.ContactsContract;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@ -31,6 +32,7 @@ import com.google.firebase.database.FirebaseDatabase;
|
|||||||
import de.edotzlaff.detection.detektion.Detektionssignal;
|
import de.edotzlaff.detection.detektion.Detektionssignal;
|
||||||
import de.edotzlaff.detection.detektion.Epizentrum;
|
import de.edotzlaff.detection.detektion.Epizentrum;
|
||||||
import de.edotzlaff.detection.detektion.Erdbeben;
|
import de.edotzlaff.detection.detektion.Erdbeben;
|
||||||
|
import de.edotzlaff.detection.detektion.berechnung.mathObjekte.Koordinaten;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
@ -42,11 +44,15 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
private GoogleMap mMap;
|
private GoogleMap mMap;
|
||||||
private static final String TAGEPIZENTRUM = "Epizentrum";
|
private static final String TAGEPIZENTRUM = "Epizentrum";
|
||||||
private DatabaseReference mDatenbank;
|
private DatabaseReference mDatenbank;
|
||||||
|
private double latitudeD1, latitudeD2, latitudeD3, latitudeD4;
|
||||||
|
private double longitudeD1, longitudeD2, longitudeD3, longitudeD4;
|
||||||
|
private String dev1, dev2, dev3, dev4;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_earthquake_location);
|
setContentView(R.layout.activity_earthquake_location);
|
||||||
|
getLocationInfo();
|
||||||
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
|
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
|
||||||
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
|
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
|
||||||
mapFragment.getMapAsync(this);
|
mapFragment.getMapAsync(this);
|
||||||
@ -56,7 +62,7 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
//################################################################## vvv DB Code vvv #####################################################################################
|
//################################################################## vvv DB Code vvv #####################################################################################
|
||||||
|
|
||||||
|
|
||||||
public void getDataBaseInfo(int k)
|
public void getLocationInfo()
|
||||||
{
|
{
|
||||||
mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewdetection");
|
mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewdetection");
|
||||||
mDatenbank.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
|
mDatenbank.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
|
||||||
@ -66,31 +72,48 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
if (!task.isSuccessful()) {
|
if (!task.isSuccessful()) {
|
||||||
System.out.println("Datenbank Fehler in getDataBaseValuesNoListener");
|
System.out.println("Datenbank Fehler in getDataBaseValuesNoListener");
|
||||||
}
|
}
|
||||||
else {
|
else{
|
||||||
mapToDetektionssignale(task.getResult());
|
defineGPSforMapping(task.getResult());
|
||||||
|
//ermittleEpizentrum(task.getResult());
|
||||||
|
//mapToDetektionssignale(task.getResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getLocationInfo(String specific,int index)
|
public void defineGPSforMapping(DataSnapshot data)
|
||||||
{
|
{
|
||||||
double kp = 5;
|
String breitengradString;
|
||||||
mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewdetection");
|
String laengengradString;
|
||||||
mDatenbank.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
|
String androidID;
|
||||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
for(int i =1; i<=3; i++)
|
||||||
@Override
|
{
|
||||||
public void onComplete(@NonNull Task<DataSnapshot> task) {
|
breitengradString = data.child("IDG" + i).child("d_breitengrad").getValue().toString();
|
||||||
if (!task.isSuccessful()) {
|
laengengradString = data.child("IDG" + i).child("e_laengengrad").getValue().toString();
|
||||||
System.out.println("Datenbank Fehler in getDataBaseValuesNoListener");
|
androidID = data.child("IDG" + i).child("a_androidid").getValue().toString();
|
||||||
}
|
double breitengrad = Double.parseDouble(breitengradString);
|
||||||
else {
|
double laengengrad = Double.parseDouble(laengengradString);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
switch (i){
|
||||||
|
case 1:
|
||||||
return kp;
|
latitudeD1 = breitengrad;
|
||||||
|
longitudeD1 = laengengrad;
|
||||||
|
dev1 = androidID;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
latitudeD2 = breitengrad;
|
||||||
|
longitudeD2 = laengengrad;
|
||||||
|
dev2 = androidID;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
latitudeD3 = breitengrad;
|
||||||
|
longitudeD3 = laengengrad;
|
||||||
|
dev3 = androidID;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -103,6 +126,7 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||||
public Epizentrum ermittleEpizentrum(DataSnapshot data)
|
public Epizentrum ermittleEpizentrum(DataSnapshot data)
|
||||||
{
|
{
|
||||||
|
System.out.println("############## EPIZENTRUM ###############");
|
||||||
Erdbeben erdbeben = new Erdbeben();
|
Erdbeben erdbeben = new Erdbeben();
|
||||||
erdbeben.addDetektionssignalList(mapToDetektionssignale(data));
|
erdbeben.addDetektionssignalList(mapToDetektionssignale(data));
|
||||||
|
|
||||||
@ -121,10 +145,10 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||||
public ArrayList<Detektionssignal> mapToDetektionssignale(DataSnapshot data)
|
public ArrayList<Detektionssignal> mapToDetektionssignale(DataSnapshot data)
|
||||||
{
|
{
|
||||||
|
System.out.println("################# ARRAYLIST ####################");
|
||||||
ArrayList<Detektionssignal> detektionssignale = new ArrayList<>();
|
ArrayList<Detektionssignal> detektionssignale = new ArrayList<>();
|
||||||
for(int i=1; i<=3; i++)
|
for(int i=1; i<=3; i++)
|
||||||
{
|
{
|
||||||
@ -139,20 +163,19 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
//ID als String
|
//ID als String
|
||||||
detektionssignal.setDeviceId(data.child("IDG" + i).child("a_androidid").getValue().toString());
|
detektionssignal.setDeviceId(data.child("IDG" + i).child("a_androidid").getValue().toString());
|
||||||
|
|
||||||
//Koordinaten als ???
|
//Koordinaten
|
||||||
String breitengradString = data.child("IDG" + i).child("d_breitengrad").getValue().toString();
|
String breitengradString = data.child("IDG" + i).child("d_breitengrad").getValue().toString();
|
||||||
String laengengradString = data.child("IDG" + i).child("e_laengengrad").getValue().toString();
|
String laengengradString = data.child("IDG" + i).child("e_laengengrad").getValue().toString();
|
||||||
double breitengrad = Double.parseDouble(breitengradString);
|
double breitengrad = Double.parseDouble(breitengradString);
|
||||||
double laengengrad = Double.parseDouble(laengengradString);
|
double laengengrad = Double.parseDouble(laengengradString);
|
||||||
//TODO @Jan In welchem Datenformat muss breitengrad und laengengrad hier rein? Außerdem welche Einheit? m/s oder km/s?
|
Koordinaten koordinaten = new Koordinaten(breitengrad, laengengrad);
|
||||||
//detektionssignal.setKoordinaten(breitengrad, laengengrad);
|
detektionssignal.setKoordinaten(koordinaten);
|
||||||
|
|
||||||
//Wellengeschwindigkeit als int
|
//Welle in m/s
|
||||||
String welle = data.child("IDG" + i).child("w_wellengeschwindigkeit").getValue().toString();
|
String welle = data.child("IDG" + i).child("w_wellengeschwindigkeit").getValue().toString();
|
||||||
int wellengeschwindigkeit = Integer.parseInt(welle);
|
int wellengeschwindigkeit = Integer.parseInt(welle);
|
||||||
detektionssignal.setGeschwErdbeben(wellengeschwindigkeit);
|
detektionssignal.setGeschwErdbeben(wellengeschwindigkeit);
|
||||||
|
|
||||||
//Detektionssignal
|
|
||||||
detektionssignale.add(detektionssignal);
|
detektionssignale.add(detektionssignal);
|
||||||
}
|
}
|
||||||
return detektionssignale;
|
return detektionssignale;
|
||||||
@ -163,6 +186,7 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
//##########################################################################################################################################################################
|
//##########################################################################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//##########################################################################################################################################################################
|
//##########################################################################################################################################################################
|
||||||
//################################################################## vvv Maps Code vvv ###################################################################################
|
//################################################################## vvv Maps Code vvv ###################################################################################
|
||||||
|
|
||||||
@ -172,18 +196,18 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
|||||||
|
|
||||||
//TODO Aron: Daten aus DB in die jeweiligen Devices einsetzten
|
//TODO Aron: Daten aus DB in die jeweiligen Devices einsetzten
|
||||||
//aus DB für Device 1 long lat
|
//aus DB für Device 1 long lat
|
||||||
LatLng divice1 = new LatLng(-34, 152);
|
LatLng device1 = new LatLng(latitudeD1, longitudeD1);
|
||||||
mMap.addMarker(new MarkerOptions().position(divice1).title("Device 1").icon(BitmapDescriptorFactory
|
mMap.addMarker(new MarkerOptions().position(device1).title("Device 1").icon(BitmapDescriptorFactory
|
||||||
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
||||||
|
|
||||||
//aus DB für Device 2 long lat
|
//aus DB für Device 2 long lat
|
||||||
LatLng divice2 = new LatLng(-33, 152);
|
LatLng device2 = new LatLng(latitudeD2, longitudeD2);
|
||||||
mMap.addMarker(new MarkerOptions().position(divice2).title("Device 2").icon(BitmapDescriptorFactory
|
mMap.addMarker(new MarkerOptions().position(device2).title("Device 2").icon(BitmapDescriptorFactory
|
||||||
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
||||||
|
|
||||||
//aus DB für Device 3 long lat
|
//aus DB für Device 3 long lat
|
||||||
LatLng divice3 = new LatLng(-34, 150);
|
LatLng device3 = new LatLng(latitudeD3, longitudeD3);
|
||||||
mMap.addMarker(new MarkerOptions().position(divice3).title("Device 3").icon(BitmapDescriptorFactory
|
mMap.addMarker(new MarkerOptions().position(device3).title("Device 3").icon(BitmapDescriptorFactory
|
||||||
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
||||||
|
|
||||||
//man könnten noch eine IF Abfrage einbauen falls es 4 Devices gibt
|
//man könnten noch eine IF Abfrage einbauen falls es 4 Devices gibt
|
||||||
|
@ -491,33 +491,6 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
//################################################################## ^^^^ DB Code ^^^^ ###################################################################################
|
//################################################################## ^^^^ DB Code ^^^^ ###################################################################################
|
||||||
//##########################################################################################################################################################################
|
//##########################################################################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//##########################################################################################################################################################################
|
|
||||||
//################################################################## vvv Set Text of Device 1/2/3 on MainActivity vvv ####################################################
|
|
||||||
|
|
||||||
private void setText(){
|
|
||||||
TextView txtDevice1 = (TextView) findViewById(R.id.txtdevice1);
|
|
||||||
TextView txtDevice2 = (TextView) findViewById(R.id.txtdevice2);
|
|
||||||
TextView txtDevice3 = (TextView) findViewById(R.id.txtdevice3);
|
|
||||||
TextView txtDevice4 = (TextView) findViewById(R.id.txtdevice4);
|
|
||||||
|
|
||||||
|
|
||||||
txtDevice1.setText("Device 1"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
|
|
||||||
|
|
||||||
txtDevice2.setText("Device 2"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
|
|
||||||
|
|
||||||
txtDevice3.setText("Device 3"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
|
|
||||||
|
|
||||||
txtDevice4.setText("Device 4"+"\n"+"Time Stamp: "+ Calendar.getInstance().getTimeInMillis()+"\n"+"Latitude: "+breitengrad+"\n"+ "Longitude: "+ laengengrad+"\n");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//################################################################## ^^^^ Set Text of Device 1/2/3 on MainActivity ^^^^ ##################################################
|
|
||||||
//##########################################################################################################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//##########################################################################################################################################################################
|
//##########################################################################################################################################################################
|
||||||
//################################################################## vvv Maps Code vvv ###################################################################################
|
//################################################################## vvv Maps Code vvv ###################################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package de.edotzlaff.detection.detektion.berechnung;
|
package de.edotzlaff.detection.detektion.berechnung;
|
||||||
|
|
||||||
|
|
||||||
|
import android.location.Location;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
@ -163,7 +164,7 @@ public class EpizentrumRechnung {
|
|||||||
public LocalDateTime berechneEntstehungsZeitpunktLongLatt(Detektionssignal detektionssignal, Koordinaten koordEpi)
|
public LocalDateTime berechneEntstehungsZeitpunktLongLatt(Detektionssignal detektionssignal, Koordinaten koordEpi)
|
||||||
{
|
{
|
||||||
float[] results = new float[1];
|
float[] results = new float[1];
|
||||||
LocalDateTime.distanceBetween(detektionssignal.getKoordinaten().getX(), detektionssignal.getKoordinaten().getY(), koordEpi.getX(), koordEpi.getY());
|
Location.distanceBetween(detektionssignal.getKoordinaten().getX(), detektionssignal.getKoordinaten().getY(), koordEpi.getX(), koordEpi.getY(), results);
|
||||||
float distanceInMeters = results[0];
|
float distanceInMeters = results[0];
|
||||||
int sec = (int) distanceInMeters/ detektionssignal.geschwErdbeben;
|
int sec = (int) distanceInMeters/ detektionssignal.geschwErdbeben;
|
||||||
return detektionssignal.getAnkunftsZeit().minusSeconds(sec);
|
return detektionssignal.getAnkunftsZeit().minusSeconds(sec);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user