Pētot, kā priekš savas slēpņošanas programmas iegūt Latvijas topogrāfiskās kartes, uzdūros LĢIA karšu serverim. Kas mani iepriecināja – pārsteidzoši aktuāla informācija – laukos kaimiņa nesen izraktais dīķis (ar kuru viņš appludināja daļu mūsu meža) ir jau iezīmēts.
Taču reizē ar to uzzināju kaut ko jaunu – Latvijā šādām kartēm neizmanto vis kādu no standarta koordinātu sistēmām (UTM vai WGS84 – šis ir visbiežāk sastopamais formā N 56’ 23.233’’ – to nedaudz citā pierakstā izmanto arī Google Maps un citi), bet gan savu standartu LKS-92. Cik nu varēju izlobīt, tad tas pēc būtības ir tas pats UTM, tikai, lai to izmantotu, aprēķinos ir jāizmanto specifiskas konstantes. Katrā ziņā problēma ir vienkārša – ja man ir koordinātas WGS84 formātā, uz šādas kartes tās uzlikt tik vienkārši nevar.
Pameklējos internetā, uzdūros boot.lv foruma rakstam par tēmu. Tajā atbilde netika dota, taču bija norāde uz konkrētu resursu, kurš pārrēķina ievadītās koordinātas starp dažādām sistēmām, tajā skaitā LKS-92. Tā kā visi aprēķini tika veikti JavaScript-ā, tad ar salīdzinoši nelielu darbu esmu ieguvis C# kodu, kas pārrēķina starp WGS84 un LKS-92.
Pirmkoda lejupielāde
Arhīvā ir divas klases: PointD ir vienkārša struktūra X/Y vērtību pārim, bet LKS92andWGS84 satur divas metodes konvertēšanai starp LKS-92 un WGS84 koordinātu sistēmām.
1ca47543-0b0d-45d8-bd25-0cc80f7df73d|3|5.0|015880aa-1e7c-4e05-a104-8c054d966a2e