Druckbare Version des Themas
Hier klicken um das Thema im Original Format zu betrachten.
Braunschweiger MailBox - Forum > Help Forum > Membermap


Geschrieben von: Tekbaron am Mittwoch, 06.August 2003, 23:55 Uhr
Hi,

Neue Idee,

Also ich möchte ein Hack für Vwar schreiben, in der Art Member Map.

So was braucht man alles entweder einfertiges script z.b. http://www.bmb-clan.de/vwar/membermap.php

Oder selber machen, selber machen iss ja soviel schöner  biggrin.gif

Also Das script was ich da habe hat ein kleines prob und zwar muss man die punkte selber angeben *grumpf währe ja viel schöner wenn man einfach die postleitzahlen der member nehmen könnte. Next problem woher weiss das script welche coordinaten auf der karte zu welcher plz gehört. Also Datenbank suchen, die gibst komplett nur für Kohle, ich habe aber auch einen tabelle gefunden in der die städte plz und coordinaten drin stehen (also längen und breiten grade) next problem wie rechne ich also die coordinaten um auf das bild. Also damit ich mit einem script einen Punkt auf München setzen kann da wo auch münchen ist ?

am Besten Beispiel :

Tabelle :

D; NDS; Braunschweig; Kreisfreie Stadt; -; Braunschweig; -; 52,26667; 10,53333; BS; 38100,38102,38104,38106,38108,38110,38112,38114,38116,38118,38120,38122,38124,38126;

# Bedeutung der einzelnen Felder:
#
# Felder 1 bis 7: hierarchische Verwaltungsgliederung, hier:
#      Feld  1: Staat (D == Deutschland)
#      Feld  2: Bundesland, s.o.
#      Feld  3: Regierungsbezirk
#      Feld  4: Landkreis
#      Feld  5: Verwaltungszusammenschluss
#      Feld  6: Ort
#      Feld  7: Ortsteil/Stadtteil
# Felder 8 und 9: Koordinaten:
#      Feld 8: Breitengrad
#      Feld 9: Längengrad
# Felder 10 und 11: Andere Merkmale, hier:
#      Feld 10: Autokennzeichen
#      Feld 11: Postleitzahl(en)


So nun brauche ich aber die x,y Coordinaten für das script was mir punkte macht und das währe dann 229,210 und nicht 52,26667; 10,53333 irgent eine Idee wie man das berechnen könnte ?

Geschrieben von: stAchELbeeR am Donnerstag, 07.August 2003, 13:27 Uhr
Längengradwest(Deutschland)-Längengradost(Deutschland)=Westrandbild(Deutschland)-Ostrandbild(Deutschland)
Breitengradnord(Deutschland)-Breitengradsüd(Deutschland)=Nordrandbild(Deutschland)-Südrandbild(Deutschland).

Probleme bereitet Geoidform der Erde und das die Längengrade bei unterschiedlichen Breitengraden unterschielich lang sind. Muß man mal schauen wie groß die Abweichungen sind und gegebenen Falls mit tangens die Gerade strecke ausrechenen bzw. den Außenbogen der Erde ausrechnen damit man das auf der Ebenenkarte andwenden kann.
Kreisbogen= 2*(pi)*r*a/360°

Geschrieben von: stAchELbeeR am Donnerstag, 07.August 2003, 14:45 Uhr
Ich ahbe mal einbischen rum gerechent. Es ist ein ziemlich großes Problem, dass die Erde keine Kugel ist und das die Längengrade unterschielich lang sind. ...

Geschrieben von: Tekbaron am Freitag, 08.August 2003, 11:26 Uhr
Dann kann man wohl meine schöne Idee knicken, oder hat noch jemand eine Idee wie man das lösen könnte ?

Geschrieben von: stAchELbeeR am Freitag, 08.August 2003, 13:32 Uhr
man könnte sich auch an ein Geologisches Institut wenden, vielleicht haben die ja bessere Formel bzw. mehr Wissen, wie man das einfacher lösen könnte.

Geschrieben von: Thijs am Dienstag, 24.Mai 2005, 11:10 Uhr
Functio0n for calculating the distance between 2 coordinates
(in c#)
CODE
 private static double DEGTORADFACTOR = Math.PI/180.0;
 private static int EARTHRADIUSINMETERS = 6365204;
 private static double Square( double d ) { return d*d; }

 private static int DistanceBetween( double lon1dd, double lat1dd, double lon2dd, double lat2dd ) {          
  double lon1r=lon1dd*DEGTORADFACTOR;
  double lat1r=lat1dd*DEGTORADFACTOR;
  double lon2r=lon2dd*DEGTORADFACTOR;
  double lat2r=lat2dd*DEGTORADFACTOR;

  double dlon = lon2r - lon1r;
  double dlat = lat2r - lat1r;
  double a = Square((Math.Sin(dlat/2))) +
   Math.Cos(lat1r) *
   Math.Cos(lat2r) *
   Square((Math.Sin(dlon/2)));
  double c = 2 * Math.Atan2(Math.Sqrt(a),
   Math.Sqrt(1-a));
  double d = EARTHRADIUSINMETERS * c;
  return Convert.ToInt32(d);
 }

Geschrieben von: Tekbaron am Samstag, 09.Juli 2005, 20:18 Uhr
http://forum.playerzoom.com/showthread.php?t=9513&highlight=membermap

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)