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.os.Build;
|
||||
import android.os.CountDownTimer;
|
||||
import android.provider.ContactsContract;
|
||||
import android.util.Log;
|
||||
|
||||
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.Epizentrum;
|
||||
import de.edotzlaff.detection.detektion.Erdbeben;
|
||||
import de.edotzlaff.detection.detektion.berechnung.mathObjekte.Koordinaten;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
@ -42,11 +44,15 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
||||
private GoogleMap mMap;
|
||||
private static final String TAGEPIZENTRUM = "Epizentrum";
|
||||
private DatabaseReference mDatenbank;
|
||||
private double latitudeD1, latitudeD2, latitudeD3, latitudeD4;
|
||||
private double longitudeD1, longitudeD2, longitudeD3, longitudeD4;
|
||||
private String dev1, dev2, dev3, dev4;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_earthquake_location);
|
||||
getLocationInfo();
|
||||
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
|
||||
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
|
||||
mapFragment.getMapAsync(this);
|
||||
@ -56,7 +62,7 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
||||
//################################################################## vvv DB Code vvv #####################################################################################
|
||||
|
||||
|
||||
public void getDataBaseInfo(int k)
|
||||
public void getLocationInfo()
|
||||
{
|
||||
mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewdetection");
|
||||
mDatenbank.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
|
||||
@ -66,31 +72,48 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
||||
if (!task.isSuccessful()) {
|
||||
System.out.println("Datenbank Fehler in getDataBaseValuesNoListener");
|
||||
}
|
||||
else {
|
||||
mapToDetektionssignale(task.getResult());
|
||||
else{
|
||||
defineGPSforMapping(task.getResult());
|
||||
//ermittleEpizentrum(task.getResult());
|
||||
//mapToDetektionssignale(task.getResult());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public double getLocationInfo(String specific,int index)
|
||||
public void defineGPSforMapping(DataSnapshot data)
|
||||
{
|
||||
double kp = 5;
|
||||
mDatenbank = FirebaseDatabase.getInstance().getReference().child("overviewdetection");
|
||||
mDatenbank.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
|
||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||
@Override
|
||||
public void onComplete(@NonNull Task<DataSnapshot> task) {
|
||||
if (!task.isSuccessful()) {
|
||||
System.out.println("Datenbank Fehler in getDataBaseValuesNoListener");
|
||||
}
|
||||
else {
|
||||
}
|
||||
String breitengradString;
|
||||
String laengengradString;
|
||||
String androidID;
|
||||
for(int i =1; i<=3; i++)
|
||||
{
|
||||
breitengradString = data.child("IDG" + i).child("d_breitengrad").getValue().toString();
|
||||
laengengradString = data.child("IDG" + i).child("e_laengengrad").getValue().toString();
|
||||
androidID = data.child("IDG" + i).child("a_androidid").getValue().toString();
|
||||
double breitengrad = Double.parseDouble(breitengradString);
|
||||
double laengengrad = Double.parseDouble(laengengradString);
|
||||
|
||||
switch (i){
|
||||
case 1:
|
||||
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;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return kp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -103,6 +126,7 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||
public Epizentrum ermittleEpizentrum(DataSnapshot data)
|
||||
{
|
||||
System.out.println("############## EPIZENTRUM ###############");
|
||||
Erdbeben erdbeben = new Erdbeben();
|
||||
erdbeben.addDetektionssignalList(mapToDetektionssignale(data));
|
||||
|
||||
@ -121,10 +145,10 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
||||
}
|
||||
|
||||
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||
public ArrayList<Detektionssignal> mapToDetektionssignale(DataSnapshot data)
|
||||
{
|
||||
System.out.println("################# ARRAYLIST ####################");
|
||||
ArrayList<Detektionssignal> detektionssignale = new ArrayList<>();
|
||||
for(int i=1; i<=3; i++)
|
||||
{
|
||||
@ -139,20 +163,19 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
||||
//ID als String
|
||||
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 laengengradString = data.child("IDG" + i).child("e_laengengrad").getValue().toString();
|
||||
double breitengrad = Double.parseDouble(breitengradString);
|
||||
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?
|
||||
//detektionssignal.setKoordinaten(breitengrad, laengengrad);
|
||||
Koordinaten koordinaten = new Koordinaten(breitengrad, laengengrad);
|
||||
detektionssignal.setKoordinaten(koordinaten);
|
||||
|
||||
//Wellengeschwindigkeit als int
|
||||
//Welle in m/s
|
||||
String welle = data.child("IDG" + i).child("w_wellengeschwindigkeit").getValue().toString();
|
||||
int wellengeschwindigkeit = Integer.parseInt(welle);
|
||||
detektionssignal.setGeschwErdbeben(wellengeschwindigkeit);
|
||||
|
||||
//Detektionssignal
|
||||
detektionssignale.add(detektionssignal);
|
||||
}
|
||||
return detektionssignale;
|
||||
@ -163,6 +186,7 @@ public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCa
|
||||
//##########################################################################################################################################################################
|
||||
|
||||
|
||||
|
||||
//##########################################################################################################################################################################
|
||||
//################################################################## 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
|
||||
//aus DB für Device 1 long lat
|
||||
LatLng divice1 = new LatLng(-34, 152);
|
||||
mMap.addMarker(new MarkerOptions().position(divice1).title("Device 1").icon(BitmapDescriptorFactory
|
||||
LatLng device1 = new LatLng(latitudeD1, longitudeD1);
|
||||
mMap.addMarker(new MarkerOptions().position(device1).title("Device 1").icon(BitmapDescriptorFactory
|
||||
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
||||
|
||||
//aus DB für Device 2 long lat
|
||||
LatLng divice2 = new LatLng(-33, 152);
|
||||
mMap.addMarker(new MarkerOptions().position(divice2).title("Device 2").icon(BitmapDescriptorFactory
|
||||
LatLng device2 = new LatLng(latitudeD2, longitudeD2);
|
||||
mMap.addMarker(new MarkerOptions().position(device2).title("Device 2").icon(BitmapDescriptorFactory
|
||||
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
||||
|
||||
//aus DB für Device 3 long lat
|
||||
LatLng divice3 = new LatLng(-34, 150);
|
||||
mMap.addMarker(new MarkerOptions().position(divice3).title("Device 3").icon(BitmapDescriptorFactory
|
||||
LatLng device3 = new LatLng(latitudeD3, longitudeD3);
|
||||
mMap.addMarker(new MarkerOptions().position(device3).title("Device 3").icon(BitmapDescriptorFactory
|
||||
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
|
||||
|
||||
//man könnten noch eine IF Abfrage einbauen falls es 4 Devices gibt
|
||||
|
@ -491,33 +491,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
//################################################################## ^^^^ 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 ###################################################################################
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package de.edotzlaff.detection.detektion.berechnung;
|
||||
|
||||
|
||||
import android.location.Location;
|
||||
import android.os.Build;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
@ -163,7 +164,7 @@ public class EpizentrumRechnung {
|
||||
public LocalDateTime berechneEntstehungsZeitpunktLongLatt(Detektionssignal detektionssignal, Koordinaten koordEpi)
|
||||
{
|
||||
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];
|
||||
int sec = (int) distanceInMeters/ detektionssignal.geschwErdbeben;
|
||||
return detektionssignal.getAnkunftsZeit().minusSeconds(sec);
|
||||
|
Loading…
x
Reference in New Issue
Block a user