🗺️ Tubitak Rapsimden Otomatik Koordinat Dönüşüm Aracı (ED50 → WGS84)
Excel Dosyasıyla Web Tabanlı Otomatik Dönüşüm Sistemi
🔍 Amaç Nedir?
Bu sistem, TUBİTAK BİLGEM’in sunduğu koordinat dönüşüm hizmetini kullanarak ED50 koordinatlarını (X, Y, Grid) sisteminden WGS84 (latitude, longitude) sistemine toplu olarak dönüştürmeyi hedefler.
⚙️ Nasıl Çalışır?
Bu araç, manuel olarak web sitesine tek tek koordinat girme derdini ortadan kaldırır.
Bir Excel dosyasıyla tüm işlemi otomatikleştirir.
🔁 Genel İş Akışı:
- Kullanıcıdan bir Excel dosyası istenir.
- Dosyada:
- B sütununda X (Sağa)
- C sütununda Y (Sola)
- D sütununda Grid No
yer almalıdır.
A sütunu isim/etiket olabilir, kullanılmaz.
- Script bu verileri web sayfasındaki ilgili alanlara otomatik olarak yazar.
- “Dönüştür” butonuna tıklar.
- Elde edilen WGS84 Latitude ve Longitude değerleri:
- E sütununa (WGS84 LAT)
- F sütununa (WGS84 LON)
yazılır.
- Sonuçlar içeren yeni bir Excel dosyası otomatik olarak indirilir.
📁 Excel Dosyası Formatı
A | B (X) | C (Y) | D (Grid No) |
---|---|---|---|
NoktaAdı-1 | 500 | 500 | 35 |
NoktaAdı-2 | 502 | 509 | 35 |
⚠️ Sadece B, C ve D sütunları kullanılır.
A sütunu etiket içerebilir ama dönüşümde kullanılmaz.
🧠 Teknik Altyapı
Sistem aşağıdaki teknolojileri kullanır:
- JavaScript (Tarayıcı konsolu)
- SheetJS (xlsx.js) – Excel dosyasını okumak ve düzenlemek için
- Web Sayfası DOM Manipülasyonu – Formlara otomatik veri yazımı
- Blob API – Excel dosyasını yeniden dışa aktarmak için
Kod, herhangi bir kurulum gerektirmez. Tamamen tarayıcı üzerinden çalışır.
✅ Bu JavaScript Kodunu Nasıl Çalıştıracaksın?
Hedef:
.xlsx
dosyasındaki ED50 koordinatlarını web sayfasında otomatik dönüştürmek ve sonucu aynı Excel’e yazdırmak.
🧭 1. Doğru Sayfaya Git
Tarayıcını aç (Chrome önerilir) ve aşağıdaki bağlantıyı ziyaret et:
👉 https://rapsim.bilgem.tubitak.gov.tr/hizmetlerimiz/teknik-etkilesim-analizi/koordinat-donusturucu/
Bu sayfa, ED50 → WGS84 dönüşümünü yapan TÜBİTAK’ın resmi arayüzüdür.
🧑💻 2. Geliştirici Konsolu Aç (F12)
Açtığın web sayfasında:
- Klavyeden
F12
tuşuna bas. - Veya sağ tıkla → “İncele (Inspect)” seçeneğine tıkla.
- Üstte açılan panelde “Console” sekmesine geç.
Burası, JavaScript kodlarını yazabileceğimiz tarayıcı konsoludur.
📋 3. JavaScript Kodunu Yapıştır
Sana özel hazırlanmış tam otomatik dönüşüm script’ini buraya kopyala ve yapıştır.
İşte Kod:
// SheetJS (xlsx.js) kütüphanesini yükle const script = document.createElement(‘script’); script.src = ‘https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js’; document.body.appendChild(script); script.onload = () => { function xlsxYukleVeGuncelle() { const input = document.createElement(“input”); input.type = “file”; input.accept = “.xlsx”; input.onchange = async (event) => { const file = event.target.files[0]; if (!file) return alert(“Dosya seçilmedi!”); const reader = new FileReader(); reader.onload = async (e) => { const data = new Uint8Array(e.target.result); const workbook = XLSX.read(data, { type: ‘array’ }); const sheetName = workbook.SheetNames[0]; const sheet = workbook.Sheets[sheetName]; const rows = XLSX.utils.sheet_to_json(sheet, { header: 1 }); // Başlık varsa koru, yoksa boş geç const header = rows[0]; if (header.length < 5) { header[4] = “WGS84 LAT”; header[5] = “WGS84 LON”; } const delay = ms => new Promise(resolve => setTimeout(resolve, ms)); for (let i = 1; i < rows.length; i++) { const row = rows[i]; const x = parseFloat(row[1]); // B const y = parseFloat(row[2]); // C const grid = parseInt(row[3]); // D if (!x || !y || !grid) continue; document.getElementById(“ed50x”).value = x; document.getElementById(“ed50y”).value = y; document.getElementById(“gridno”).value = grid; document.getElementById(“btnconverted502wgs84”).click(); await delay(1000); const lat = document.getElementById(“wgs84lat”).value; const lon = document.getElementById(“wgs84lon”).value; // E ve F sütunlarına yaz (4 ve 5 index) row[4] = lat; row[5] = lon; console.log(`Satır ${i}: X=${x}, Y=${y}, Grid=${grid} → LAT=${lat}, LON=${lon}`); } const newSheet = XLSX.utils.aoa_to_sheet(rows); const newWorkbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(newWorkbook, newSheet, sheetName); XLSX.writeFile(newWorkbook, “donusum_sonuclu_sagul.xlsx”); alert(“Yeni Excel dosyan indirildi ✅”); }; reader.readAsArrayBuffer(file); }; input.click(); } xlsxYukleVeGuncelle(); };
Kodun tamamını seç → Ctrl + C
Console’a yapıştır → Ctrl + V
Sonra Enter tuşuna bas.
🟢 Kod çalışmaya başlayacak ve ekranına bir dosya seçici (file picker) çıkacak.
📁 4. Excel Dosyasını Seç
Kod, senden .xlsx
uzantılı bir dosya seçecek:
A (Ad) | B (X) | C (Y) | D (Grid No) |
---|---|---|---|
Nokta-1 | 500 | 500 | 35 |
Yalnızca B, C, D sütunları kullanılır.
A sütunundaki ad/etiket istersen olur, kullanılmaz.
🌀 5. Kod Otomatik Olarak Şu İşlemleri Yapar:
Her satır için:
- X, Y, Grid No alanlarına koordinatları yazar
- “ED50 → WGS84” dönüşüm butonuna tıklar
- Sayfadaki sonuç alanlarından Latitude/Longitude değerini alır
- Excel’de ilgili satırın E ve F sütunlarına bu değerleri yazar
- Tüm satırlar tamamlandığında, Excel dosyasını otomatik indirir
→ Dosya adı:donusum_sonuclu.xlsx
📥 6. Sonuç Dosyasını Al
Kod çalışmasını bitirdiğinde, tarayıcınız otomatik olarak yeni bir .xlsx
dosyası indirecek.
Bu dosyada artık E ve F sütunlarında WGS84 LAT/LON değerleri olacak.
⛑️ Sık Karşılaşılan Sorular:
❓ “Hiçbir şey olmuyor”
🔸 Muhtemelen kod eksik yapıştırıldı.
🔸 Sayfa yüklenmemiş olabilir. Önce sayfa tam yüklensin.
🔸F12
→Console
kısmında hata varsa paylaş, yardımcı olurum.
❓ “Bekleme süresi çok kısa/uzun”
🔸 Kodda şu satırı bul:
javascriptKopyalaDüzenleawait delay(2000);
İstersen bu süreyi 1000
(1 saniye) ya da 3000
(3 saniye) yaparak hızını ayarlayabilirsin.
🔐 Güvenli mi?
Evet. Kod:
- Tarayıcıda çalışır
- Hiçbir veri dışarı gönderilmez
- Excel dosyan senin bilgisayarında okunur ve tekrar sana kaydedilir
🎯 Kısaca: “Yapılacaklar Listesi”
✅ [ ] Web sayfasına git
✅ [ ] F12 → Console aç
✅ [ ] Kodu yapıştır
✅ [ ] Excel dosyanı seç
✅ [ ] Sonuçları indir!
🧪 Uygulama Adımları (5 Dakikada Hazır!)
- Web sayfasını aç
TÜBİTAK Koordinat Dönüştürücü - F12 ile Geliştirici Konsolunu aç
(Tarayıcıda: Sağ tık → İncele → Console sekmesi) - Hazırlanan script’i konsola yapıştır ve Enter’a bas.
- Açılan dosya penceresinden
.xlsx
dosyasını seç. - Script her satır için dönüşüm işlemini yapar ve sonuçları Excel’de E ve F sütunlarına yazar.
- İşlem bitince otomatik olarak yeni bir dosya indirilir:
donusum_sonuclu.xlsx
📝 Sonuç Excel Dosyası Örneği:
Nokta Adı | X | Y | Grid No | WGS84 LAT | WGS84 LON |
---|---|---|---|---|---|
Nokta-1 | 500 | 500 | 35 | 39.909238 | 32.853912 |
Nokta-2 | 502 | 509 | 35 | 39.911037 | 32.857142 |
✅ Avantajları
- ⚡ Hızlı ve otomatik: 100’lerce koordinat tek tıklamayla işlenebilir.
- ⛔ Manuel hatayı ortadan kaldırır
- 🧩 Herhangi bir yazılım kurulumu gerekmez
- 📊 Orijinal Excel yapısını korur, sadece yeni sütunlar ekler.
💬 Sık Sorulan Sorular (SSS)
Q: Sayfa kapanırsa dönüşümler bozulur mu?
A: Evet, işlem tarayıcı içinde gerçekleştiği için sayfa kapanırsa işlem durur. Sayfayı açık tutmalısınız.
Q: 2000 koordinat da işlenebilir mi?
A: Evet, ama bekleme süresi satır başı 2 saniye olduğundan işlem süresi artar. Script’e küçük optimizasyonlar eklenebilir.
Q: Aynı Excel’e yazar mı?
A: Evet, E ve F sütunlarına yeni değerleri ekler. Orijinal veriyi bozmaz.
🚀 Gelişmiş Versiyonlar?
İstersen bu sistemin:
- ✅ Python + Selenium ile tümüyle arka planda çalışan hali
- ✅ Sonuçları KML/GeoJSON gibi dosyalara yazan hali
- ✅ Leaflet.js veya Google Maps ile haritada gösteren hali
da geliştirilebilir.
🚀 Tarayıcıda Excel Destekli Koordinat Dönüşümü! (ED50 → WGS84)
Manuel koordinat dönüşümleriyle zaman kaybetmeye son!
Tarayıcıda çalışan bir JavaScript koduyla artık:
📌 Excel dosyasındaki ED50 koordinatlarını,
📌 TÜBİTAK’ın web tabanlı dönüşüm arayüzünü kullanarak,
📌 Otomatik olarak WGS84’e çevirip,
📌 Sonuçları yine Excel’e kaydedebiliyoruz!
Nasıl mı çalışıyor?
🔹 Sayfayı açıyorsunuz
🔹 F12 > Console
diyorsunuz
🔹 Kodu yapıştırıyorsunuz
🔹 Excel dosyanızı seçiyorsunuz
🔹 Gerisini kod hallediyor:
→ Her satırı web formuna yazıyor
→ “Dönüştür” butonuna tıklıyor
→ Sonuçları Excel’e ekliyor
→ Ve dosya otomatik iniyor ✅