dann umschreibe ich meine Aufgabe die es *näherungsweise *zu löschen geht.
Von einer Maperative-Karte habe ich die Center-Koordianten (lat/lon) und nun möchte ich bei bekanntem Format und Maßstab die lat/lon-Koordianten der vier Blattecken errechnen.
Ich muss also irgendwie (und das ganze wird später in Perl gemacht) die delta-lat und delta-lon für Ecken haben.
ich habe mir auf Basis von http://www.d-mueller.de/blog/umkreissuche-latlong-und-der-radius/ etwas zusammengebaut und möchte es Euch nicht vorenthalten. Sicherlich kann der Algorithmus hinsichtlich der Genauigkeit noch besser sein - aber für meinen Zweck reicht dieser aus.
#!/usr/bin/perl
use strict;
use warnings;
use Math::Trig;
# errechnet näherungsweise die geo-Koordinaten für eine rechteckige Box um einen Centerpunkt
# ACHTUNG: Überschreitungen der Datumsgrenze werden NICHT berücksichtigt
sub get_bbox {
# lon,lat-Koordianten des Mittelpunktes der Box
my $lon = shift;
my $lat = shift;
# Breite der Box in Kilometer
my $delta_lon_km = shift;
# Höhe der Box in Kilometer
my $delta_lat_km = shift;
my $earth_radius_km = 6371;
my $maxLat = $lat + rad2deg(($delta_lat_km / 2) / $earth_radius_km);
my $minLat = $lat - rad2deg(($delta_lat_km / 2) / $earth_radius_km);
my $maxLon = $lon + rad2deg(($delta_lon_km / 2) / $earth_radius_km / cos(deg2rad($lat)));
my $minLon = $lon - rad2deg(($delta_lon_km / 2) / $earth_radius_km / cos(deg2rad($lat)));
print "breite delta_lon_km:= ".$delta_lon_km."\n";
print "hoehe delta_lat_km:= ".$delta_lat_km."\n";
print "maxLon:= ".$maxLon." - maxLat:= ".$maxLat."\n";
print "minLon:= ".$minLon." - minLat:= ".$minLat."\n";
return ($minLon,$minLat,$maxLon,$maxLat);
}#end-get_bbox
@tunnelbauer: auf das Stichwort der BoundaryBox war ich nicht gekommen !