public void TagImage(Waypoint waypoint, string imagePath) { UTMCoordinate utmCoordinate = georeferencing.MapUnityToUTM(waypoint.dronePosition); LatLngUTMConverter.LatLng latlng = LatLngUTMConverter.ConvertUtmToLatLng(utmCoordinate.Easting, utmCoordinate.Northing, georeferencing.utmZone, georeferencing.hemisphere.Value); string latitudeRef = georeferencing.hemisphere.Value; string longitudeRef = georeferencing.utmZone <= 30 ? "W" : "E"; LongLatCoordidnates longLatCoord = new LongLatCoordidnates(latlng.Lng, latlng.Lat, utmCoordinate.Altitude, latitudeRef, longitudeRef); GeoTagImage(longLatCoord, imagePath); }
private void loadFile() { if (geoTiffFilename.Text.Length > 0) { GeoTIFFReader.GeoTIFF geoTiff = new GeoTIFFReader.GeoTIFF(geoTiffFilename.Text); double rangeW = geoTiff.NWidth * geoTiff.DW; double rangeH = geoTiff.NHeight * geoTiff.DH; rangeW /= 2; rangeH /= 2; double centerW = (geoTiff.StartW + rangeW); double centerH = (geoTiff.StartH + rangeH); LatLngUTMConverter converter = new LatLngUTMConverter("EUREF89"); LatLngUTMConverter.LatLng center = converter.convertUtmToLatLng((geoTiff.StartW + rangeW), (geoTiff.StartH + rangeH), Int32.Parse(textBox1.Text), "N"); geoTiffCenterLabel.Text = "E: " + centerW.ToString() + " m N: " + centerH.ToString() + " m" + " ( " + center.Lat.ToString() + ", " + center.Lng.ToString() + " )"; centerHeightLabel.Text = geoTiff.HeightMap[(int)(geoTiff.NWidth / 2.0), (int)(geoTiff.NHeight / 2.0)].ToString() + " m"; heightResolutionLabel.Text = "E: " + geoTiff.DH.ToString() + "m N: " + geoTiff.DW.ToString() + "m"; } else { MessageBox.Show("No valid filename selected, cannot load file !"); } }