tr.geologyidea.com
Daha

WGS84 koordinatlarını C# kullanarak İngiliz Ulusal Izgara Doğuya/Kuzeyine Dönüştürme?

WGS84 koordinatlarını C# kullanarak İngiliz Ulusal Izgara Doğuya/Kuzeyine Dönüştürme?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.


Bir WGS84 koordinatını British National Grid Easting ve Northings'e dönüştürmek için ideal olarak C# olan bir kod arıyorum.

Bunu elinde bulunduran var mı?

Javascript kodunu buraya dönüştürmeyi denedim:

http://www.movable-type.co.uk/scripts/latlong-gridref.html

C#'a - ancak kod doğu ve kuzey yönü için doğru koordinatları vermiyor gibi görünüyor - aşağıya bakın:

public void LatLongToEastNorth(çift enlem, çift boylam) { enlem = toRad(enlem); boylam = toRad(boylam); çift ​​a = 6377563.396, b = 6356256.910; // Airy 1830 majör ve minör yarı eksenler çift F0 = 0.9996012717; // merkezi meridyen üzerindeki NatGrid ölçek faktörü double lat0 = toRad(49); double lon0 = toRad(-2); // NatGrid gerçek orijin çift N0 = -100000, E0 = 400000; // gerçek orijinin kuzeyine ve doğusuna, metre çift e2 = 1 - (b * b) / (a ​​* a); // eksantriklik kare çift n = (a - b) / (a ​​+ b), n2 = n * n, n3 = n * n * n; double cosLat = Math.Cos(enlem), sinLat = Math.Sin(enlem); double nu = a * F0 / Math.Sqrt(1 - e2 * sinLat * sinLat) ; // enine eğrilik yarıçapı çift rho = a * F0 * (1 - e2) / Math.Pow(1 - e2 * sinLat * sinLat, 1.5); // meridyen eğrilik yarıçapı double eta2 = nu / rho - 1; çift ​​Ma = (1 + n + (5 / 4) * n2 + (5 / 4) * n3) * (enlem - enlem0); double Mb = (3 * n + 3 * n * n + (21 / 8) * n3) * Math.Sin(enlem - enlem0) * Math.Cos(enlem + enlem0); double Mc = ((15 / 8) * n2 + (15 / 8) * n3) * Math.Sin(2 * (enlem - enlem0)) * Math.Cos(2 * (enlem + enlem0)); double Md = (35 / 24) * n3 * Math.Sin(3 * (enlem - enlem0)) * Math.Cos(3 * (enlem + enlem0)); çift ​​M = b * F0 * (Ma - Mb + Mc - Md); // meridyen yay çifti cos3lat = cosLat * cosLat * cosLat; çift ​​cos5lat = cos3lat * cosLat * cosLat; double tan2lat = Math.Tan(enlem) * Math.Tan(enlem); çift ​​tan4lat = tan2lat * tan2lat; çift ​​I = M + N0; double II = (nu / 2) * sinLat * cosLat; double III = (nu / 24) * sinLat * cos3lat * (5 - tan2lat + 9 * eta2); çift ​​IIIA = (nu / 720) * sinLat * cos5lat * (61 - 58 * tan2lat + tan4lat); çift ​​IV = nu * cosLat; çift ​​V = (nu / 6) * cos3lat * (nu / rho - tan2lat); çift ​​VI = (nu / 120) * cos5lat * (5 - 18 * tan2lat + tan4lat + 14 * eta2 - 58 * tan2lat * eta2); çift ​​dLon = boylam - lon0; double dLon2 = dLon * dLon, dLon3 = dLon2 * dLon, dLon4 = dLon3 * dLon, dLon5 = dLon4 * dLon, dLon6 = dLon5 * dLon; çift ​​N = I + II * dLon2 + III * dLon4 + IIIA * dLon6; çift ​​E = E0 + IV * dLon + V * dLon3 + VI * dLon5; //gridrefNumToLet(E, N, 8); }

.NET kitaplığı Proj.Net'i deneyebilirsiniz. GB Ulusal Izgarasına nasıl ekleneceğini öğrenmek için Uzamsal Referans Kimliğine göre projeksiyon yükleme sayfasına bakın.

Bu forum gönderisinden örnek kod:

KoordinatSistem Fabrikası c = yeni KoordinatSistem Fabrikası(); ICoordinateSystem hedefi = c.CreateFromWkt("PROJCS["OSGB 1936 / British National Grid",GEOGCS["OSGB 1936",VERİ["OSGB_1936",SPHEROID["Airy 1830",6377563.396,299.3249646 ,YETKİLİ["EPSG","7001"]],YETKİLİ["EPSG","6277"]],PRİMEM["Greenwich",0,YETKİLİ["EPSG" ,"8901"]],BİRİM["derece",0.01745329251994328,YETKİLİ["EPSG","9122"]],YETKİLİ["EPSG","4277"]] ,PROJEKSİYON["Transverse_Mercator"],PARAMETRE["orijin_enlemi",49],PARAMETRE["central_meridian",-2],PARAMETRE["ölçek_faktörü",0.9996012717],PARAMETRE["yanlış_doğulama ",400000],PARAMETRE["yanlış_kuzey",-100000],BİRİM["metre",1,YETKİLİ["EPSG","9001"]],YETKİLİ["EPSG" ,"27700"]]"); ICoordinateSystem kaynağı = c.CreateFromWkt("GEOGCS["GCS_WGS_1984",VERİ["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRİMEM["Greenwich",0], ["Derece",0.0174532925199433]]"); CoordinateTransformationFactory trf = new CoordinateTransformationFactory(); ICoordinateTransformation tr = trf.CreateFromCoordinateSystems(kaynak, hedef); double[] nokta = yeni double[] {-4.0, 55.6}; double[] sonuç = tr.MathTransform.Transform(nokta); Console.WriteLine(sonuç);

Alternatif olarak, http://gps.ordnancesurvey.co.uk/convert.asp adresinden kaydolursanız, Ordnance Survey'in indirilebilir bir aracı vardır.


proj.4 kitaplığı yardımcı olabilir, ancak C# yerine C ile yazılmıştır. Burada bunun için bir C# sarmalayıcı var.


Aslında biraz aptaldım - yanlış uzun ve enlem değerleri koymuş olmalıyım - kod gerçekten işe yarıyor. Ancak WGS84 ve Airy 1830 datumları hakkında ne yazdığını düşünmek isteyebilirsiniz - bu, son doğuya ve kuzeye gidiş okumalarınızın doğruluğu üzerinde bir miktar etkiye sahip olacaktır - 60-100 m uzakta, bu yüzden her şey ne kadar doğru olmasını istediğinize bağlıdır. olmak.


İngiliz Ulusal Şebekesini ve İrlanda Şebekesi Referanslarını Dönüştürme: Pratik Bir Örnek

Çevre Ajansı kısa süre önce Açık Devlet Lisansı altında GeoStore'dan edinilebilen açık veri olarak Nehir Habitat Araştırmaları (RHS) veritabanını yayınladı. RHS, Birleşik Krallık genelinde nehir habitatlarının fiziksel karakteri ve kalitesi hakkında veri toplama standardı olarak tanımlanmaktadır. Veriler bir Open Office XML elektronik tablosundan gelir ve İngiltere, Galler, İskoçya ve Kuzey İrlanda'da 1994'ten bu yana toplanan anket verilerini içerir.

Anket noktalarının konumu, Büyük Britanya'daki siteler için British National Grid (EPSG:27700) veya Kuzey İrlanda'daki siteler için Irish Grid (EPSG:29903) kullanılarak ızgara referansları olarak verilmiştir. Verileri bir CBS'de görüntülemek için bu ızgara referanslarının doğu ve kuzey koordinatlarına dönüştürülmesi gerekir. Bu gönderi, bunun Python kullanılarak nasıl elde edilebileceğini açıklar.

Hem British National Grid hem de Irish Grid sistemleri, sol üstten (kuzey batı) sağ alta (güney doğu) doğru A-Z (I atlama) etiketli 5x5 ızgara kullanır. İrlanda ızgarası, 100 km karelik bir ızgara kullanan ikisinin daha basittir. İngiliz şebekesi daha karmaşıktır, 500 km kareler ayrıca 100 km karelik 5x5 ızgaralara bölünmüştür. Buna ek olarak, İngiliz ızgarası bir çift yanlış doğuya ve kuzeye gidiş değeri kullanır, böylece SV döşemesinin sol alt köşesi 1000000,500000 yerine 0,0'da olur. Aşağıda, Cartopy ve Natural Earth verileri kullanılarak çizilen iki ızgara gösterilmiştir.

Izgara referansları bir harf (İrlanda) veya harf çifti (İngiliz) olarak verilir ve ardından 100 km kareyi alt bölümlere ayıran sayılar gelir. Basamak sayısı, 1 metreye kadar hassas bir &lsquo10 rakam&rsquo ızgara referansı, 10 metreye kadar bir &lsquo8 rakam&rsquo ve 100 metreye kadar bir &lsquo6 rakam ile kesinlik verir. Örneğin, SP513061, Oxford, İngiltere'de 451300.206100'de 100 metre kareyi tanımlar. Ordnance Survey, Büyük Britanya'daki Koordinasyon Sistemlerine Yönelik mükemmel Kılavuz da dahil olmak üzere, İngiliz Ulusal Şebekesi hakkında daha fazla bilgi sağlar.

Aşağıda verilen Python fonksiyonları, her iki tip grid referansını da doğu ve kuzey koordinatlarına (yani x,y koordinatları) dönüştürür ve CBS'de kullanıma uygundur. Aynı temel işlev - grid2xy - İngiliz ve İrlandalı ızgara referanslarını dönüştürmek için yardımcı işlevlerle birlikte her iki ızgara için de kullanılır.

Aşağıda gösterildiği gibi kullanımı basittir.

Koordinatları, aynı şekil dosyasında saklanabilmeleri için WGS84 coğrafi koordinat sistemine (boylam ve enlem) yeniden projelendirmek için başka bir adım gereklidir. Bu, pyproj modülü aracılığıyla PROJ.4 kitaplığı kullanılarak yapılır.

OOXML elektronik tablosunun okunması, openpyxl modülü kullanılarak elde edilir. Veriler, virgülle ayrılmış değerler (CSV) dosyasına veya başka bir elektronik tabloya çıkarılabilir, ancak bunun yerine doğrudan bir ESRI Şekil Dosyasına yazmak için fiona kullanıyoruz. Aşağıdaki komut dosyası, süreci göstermek için yalnızca minimum bir alan grubunu (araştırma kimliği, site kimliği, ızgara referansı, tarih ve nehir adı) dışa aktarır.

Ortaya çıkan şekil dosyası, projeksiyonların doğru bir şekilde işlendiğini doğrulamak için OpenStreetMap'e karşı kontrol edilebilir. Beklendiği gibi, araştırma noktaları nehir hatlarını takip ediyor. Aşağıdaki harita, Tweed Nehri ve kolları üzerindeki araştırma noktalarını açıkça göstermektedir.


İngiliz Ulusal Izgara Şekil Dosyası - WGS84 Enlem/Boylam'a dönüştür

Bana söylendiğine göre İngiliz Ulusal Izgara koordinat sistemi kullanılarak yazılmış bir dizi ESRI şekil dosyasına sahibim. KML dosyalarına ileri dönüşüm için bu dosyaları WGS84 enlem/boylamlarına dönüştürmem gerekiyor. Bunu şu şekilde yapmakta sorun yaşıyorum:

Orijinal dosyaların her birini MapInfo Professional'da açarsam, dosyamın British National Grid olan bir projeksiyonu olduğunu söylersem, dosyada herhangi bir coğrafi nesne göremiyorum, harita penceresi tamamen boş.

Dosyaları bir WGS84 MapInfo TAB dosyasına dönüştürmek için MapInfo Professional'ın Evrensel Tercümanını kullanırsam, daha önce olduğu gibi, dönüştürülen dosya herhangi bir coğrafi nesneyi göstermez, MapInfo penceresi boştur.

Bu dosyaların koordinat sistemini doğrulayabilir miyim? Burada bir şey eksik mi? Şekil dosyalarını, MapInfo Professional kullanarak görebilmeyi ve görüntüleyebilmeyi beklediğim şekilde dönüştürebilmeli miyim? Başka bir araç benim için daha iyi bir iş çıkarır mı?

Şekil dosyamda, enlem/boylam'a düzgün bir şekilde çevrilmeyen koordinatlar var ve şimdi koordinatların aslında İngiliz Ulusal Şebekesi olup olmadığını merak ediyorum. Yaklaşık olarak enlem/boylam 53.488182, -2.247153 gibi görünen 383702523, 399081141 gibi koordinatlar görüyorum. Girdi dosyamın hangi projeksiyon sisteminde olduğu hakkında bir fikrin var mı?


WGS84, UTM, CH1903, UTMREF(MGRS), Gauß-Krüger, NAC, W3W için koordinat dönüştürücü

Giriş:
Enlem girişi -89.999999 ile 89.999999 arasında bir ondalık sayıdır.
Enlem derecesi S olarak güney olarak verilirse, sayının önüne bir eksi işareti gelmelidir.
Boylam girişi -179.999999 ile 179.9999999 arasında bir ondalık sayıdır.
Boylam W olarak batı olarak verilmişse, sayının önüne bir eksi işareti gelmelidir.
Bu limit değerler girişte tutulmazsa çerçeve kırmızıya döner ve/veya alanlar boş kalır. ondalık derece (WGS84)

Örnek: Kuzey 47°1.122 | Doğu 12° 20.553'

Enlem girişi -89 ile 89 arasında olmalı ve bir tam sayı olmalıdır.
Boylam girişi -179 ile 179 arasında olmalı ve tamsayı olmalıdır.
Enlem ve boylam için dakika girişi isteğe bağlı bir ondalık sayıdır, ancak yapılırsa 0 ile 59.99999 arasında olmalıdır.
Bu limitler karşılanmazsa çerçeve kırmızıya döner veya alanlar boş kalır. Derece Dakika (WGS84)

Örnek: Kuzey 47° 1' 7.359' | Doğu 12° 20' 33.216'

Enlem girişi -89 ile 89 arasında olmalı ve bir tam sayı olmalıdır.
Boylam girişi -179 ile 179 arasında olmalı ve tamsayı olmalıdır.
Enlem ve boylam için dakika girişi 0 ile 59 arasında olmalı ve tam sayı olmalıdır.
Enlem ve boylam için saniye girişi isteğe bağlıdır, ancak yapılırsa 0 ile 59.99999 arasında olmalıdır.

Giriş sırasında bu limitler karşılanmazsa çerçeve kırmızıya döner veya alanlar boş kalır. Derece Dakika Saniye (WGS84)

Örnek: E (Doğu) = 2783009 | N (Kuzey) = 1223568

Bu koordinatlar yalnızca İsviçre ve Lihtenştayn'da kullanıldığından, N ve E için sınır değerler geçerlidir.

En kuzey noktası yaklaşık 47.8 derecedir ve bu nedenle N için maksimum değer 1.300.000'dir.
En güney noktası yaklaşık 45.8 derecedir ve bu nedenle N için minimum değer 1.074.000'dir.
En doğu noktası yaklaşık 10.5 derecedir ve bu nedenle E için maksimum 2.834.000'dir.
En batıdaki nokta yaklaşık 5.9 derecedir ve bu nedenle E için minimum değer 2.484.000'dir.

Bu limitler karşılanmazsa çerçeve kırmızıya döner veya alanlar boş kalır. CH1903+ / LV95 (Bessel 1841)

Örnek: Bölge 32U | Doğu değeri 691831 | Kuzey değeri 5337164

Bölge, noktanın kaba konumunu belirler ve karışmaları önlemelidir.
Geçerli bölge değerleri 01A-60X arasındadır, ancak O ve I yoktur.

Doğu değerleri 100.000 ile 900.000 arasında olmalıdır.
Kuzey değerleri 1 ile 9,999,999 arasında olmalıdır.

Giriş sırasında bu sınır değerlere uyulmazsa çerçeve kırmızıya döner veya alanlar boş kalır.

Yanlış giriş ile bölgenin harfi otomatik olarak düzeltilir. UTM koordinatları (WGS84)

Örnek: Bölge 32U | Plan kare PU | Doğu değeri 91831 | Kuzey değeri 37164

Bölge, noktanın kaba konumunu belirler ve karışmaları önlemelidir.
Geçerli bölge değerleri 01A-60X arasındadır, ancak O ve I yoktur.

Izgara kare, bölgedeki konumu belirler ve doğu değerinden (O ve I olmadan A-Z) ve kuzey değerinden (O ve I olmadan A-V) oluşur.

Doğu değerleri 1 ile 99.999 arasında olmalıdır. Eksik rakamlar arka kısımda doldurulur.
Kuzey değerleri 1 ile 99,999 arasında olmalıdır. Eksik rakamlar arka kısımda dolguludur.
10.000'in altındaki değerler, iki sayının her biri 5 hane uzunluğunda olacak şekilde ön tarafa sıfırlarla doldurulmalıdır.

Giriş sırasında bu sınır değerlere uyulmazsa çerçeve kırmızıya döner veya alanlar boş kalır.

Girilen yanlışsa bölgenin harfi otomatik olarak düzeltilir. MGRS / UTMREF (WGS84)

Örnek: R (doğru değer) = 4468298 | H (yüksek değer) = 5333791

Bu koordinatlar için temeldeki elipsoid yalnızca Almanya'da kullanıldığından, R ve H için sınır değerler geçerlidir.
En kuzey noktası yaklaşık 56 derecedir ve bu nedenle H için maksimum değer 6200000'dir.
En güney noktası yaklaşık 46 derecedir ve bu nedenle H için minimum değer 5000000'dir.
En batıdaki nokta yaklaşık 5 derecedir ve bu nedenle R için maksimum değer 5700000'dir.
En doğu noktası yaklaşık 16 derecedir ve bu nedenle R için minimum değer 2400000'dır.

Bu limitler karşılanmazsa çerçeve kırmızıya döner veya alanlar boş kalır. Gauss Kruger (Bessel, Potsdam)

Örnek:
X (boylam, boylam) = HQXT8G | Y (enlem, enlem) = R3WR5H

Giriş:
X ve Y için aşağıdaki karakterlere izin verilir: 0123456789 BCDFGHJKLMNPQRSTVWXZ.
Uzunluk 1 ile 6 karakter arasında olabilir. NAC (Doğal Alan Kodlama, WGS84)

Giriş:
Giriş her zaman 3 kelimeden oluşmalıdır. Her kelime bir nokta ile ayrılır. W3W (Ne 3 Kelime)

Beispiel:
Kısa Kod: 8QQ7+V8, Dublin
Tam Kod: 8FVHG4M6+2X

Eingabe:
Kısa Kod besteht aus 4 Zeichen, gefolgt von einem + gefolgt von 2 Zeichen, gefolgt von einer Ortsbezeichung
Tam Kod besteht aus 8 Zeichen, gefolgt von einem + gefolgt von 2-3 Zeichen.
Erlaubte Zeichen sind außer beim Ortsname: 23456789CFGHJMPQRVWX Artı Kodu (google Açık Konum Kodu)


Doğuya ve Kuzeye Yönelik

Koordinat Dönüşüm Aracı, GNSS tabanlı ETRS89 enlem ve boylam veya kartezyen XYZ koordinatlarını, Ordnance Survey'in Ulusal Şebeke Dönüşümü OSTN15'i kullanarak eşdeğer OSGB36 Ulusal Şebeke doğu ve kuzey yönlerine ve tam tersini dönüştürür. Ayrıca, National Geoid Model OSGM15'i kullanarak GPS elipsoid yüksekliklerini ilgili Ordnance Survey haritalama verisi (Britanya Anakarası için Ordnance Datum Newlyn) üzerinde ortometrik (ortalama deniz seviyesi) yüksekliklere dönüştürür.

Koordinat sistemleri ve dönüşümler hakkında daha fazla bilgi için Büyük Britanya'daki koordinat sistemlerine yönelik bir kılavuz yayınımıza bakın.

OSTN15 ve OSGM15 için ham veri ve kodla ilgilenen geliştiriciler lütfen bu sayfaya bakın.


Büyük Britanya Mühimmat Araştırması (OSGB), İrlanda (OSi) ve Land & Property Services (LPS – Eski adıyla OSNI), Birleşik Krallık ve İrlanda'yı kapsayan OSGM02 jeoid modelini geliştirmek için tekrar işbirliği yaptı. 26 Ağustos 2016'da yeni bir Geoid modeli OSGM15 piyasaya sürülecek.

Daha fazla bilgi, burada bulunabilecek makalede sağlanmaktadır.

İrlanda ve Kuzey İrlanda için polinom dönüşümü değişmedi, ancak Grid Inquest Grid Inquest II'nin aşağıdaki bağlantılardan indirilebilen yeni bir sürümü var. Grid Inquest II, 26 Ağustos 2016 tarihinde Grid Inquest I'den devralacak. Bu tarihten önce Grid Inquest II kullanılmamalı ve bu tarihten sonra Grid Inquest 1 kullanılmamalıdır.


5 Cevap 5

Bu çok eski bir soru, ancak 2 yıl sonra hala bir aramada ortaya çıktığı için, başkalarına yardımcı olabilecek bir cevap vermeye değer olduğunu hissettim.

Bunu kullanabiliyorsanız, Mühimmat Anketi şimdi daha doğru OSTN15 dönüşümünü gerçekleştirmek için kullanılabilecek bir DLL (ve ilişkili bir veri dosyası) veya NTv2 dosyası sağlar. Bunlar, geliştiriciler için OSTN15 ve OSGM15 adresindeki BSD lisansı altında mevcuttur.

Bu dönüştürme, koordinatlarınızı ETRS89'a (Avrupa'da yaklaşık olarak WGS84'e eşdeğer) dönüştürecek ve @codeulike'den gelen yanıtta belirtilen OSTN97/7 parametresi helmert dönüşümünden daha doğru olacaktır.

Kendi sorumu yanıtlamak için, Doğu ve Kuzeyliler, Enlem ve Boylam'a dönüşümün oldukça iyi tanımlandığı Yönetmelik Anketi (OS) olarak ortaya çıktı.

Chris Veness'in bu çok iyi sayfası, ana algoritmayı ve yaygın tuzakları tartışıyor. Bir Javascript algoritması sunuyor ama bu forumda bir C# eşdeğeri buldum.

Chris Veness'in belirttiği gibi, bu algoritma sizi Enlem ve Boylam'a götürür, ancak OSGB36 verisi üzerindedir. Genellikle, daha sonra bunu daha yaygın olarak kullanılan WGS84/GRS80 verilerine dönüştürmek isteyeceksiniz (aksi takdirde Birleşik Krallık konumları için 120m'ye kadar uzakta olacaksınız). Bunun için burada Chris tarafından açıklandığı gibi bir Helmert dönüşümüne ihtiyacınız var.


R'de İngiliz Ulusal Şebeke dönüşümü ve yeniden projeksiyonu

Coğrafi referanslı Birleşik Krallık istatistiksel verileri tipik olarak, Dünya Jeodezi Sistemi 1984'e (‘WGS 84′) dayalı enlem/boylam noktaları olan iki uzamsal koordinat referans sisteminden birinde veya İngiliz Ulusal Şebekesi'nin doğu/kuzeyler sisteminde gelir. (1936 Ordnance Survey Great Britain verilerine göre ‘OSGB 36′). İkinci sistem, daha doğru uzamsal analizlerin yapılmasını sağlayan metre cinsinden ölçülme avantajına sahiptir. Bu koordinat sistemleri arasında verileri dönüştürmek, matematiksel olarak zor bir işlemdir, ancak bununla ilk kez karşılaşanların endişelenmesine gerek yoktur çünkü akıllı zihinler bunu Antik Yunan günlerinden beri düşünmüştür.

Bu R betiği, British National Grid'de (doğu/kuzeyler) veya WGS84'te (enlem/boylam) verilerin nasıl alınacağına ve diğerine nasıl dönüştürüleceğine dair minimal bir örnektir. Ağır kaldırma üstlenir rgdal kütüphane, platformlar arası Geospatial Data Abstraction Library'nin R’s uygulaması. Dönüşümlerin kendileri şu şekilde tanımlanır: proj.4 dizeleri dahildir.

Komut dosyası, verilere bağlam eklemek için harita döşemelerini indirmek için kullanışlı OpenStreetMap paketini de kullanır. Çevrimiçi harita araçları, bunları çoğunlukla, kutuplara yönelik alansal çarpıklığı ve bunun yol açtığı küresel sosyal eşitsizlik nedeniyle pek çok coğrafyacının sevmediği Mercator projeksiyonuna dayandırır. Ancak Mercator, açısallığı koruma avantajına sahiptir, yani yerelliklerin şekilleri çok daha az çarpıktır. Harita döşemeleri, örneğin British National Grid'e (komut dosyasında gösterildiği gibi) yeniden yansıtılabilse de, bu, görüntü kalitesini düşürür. Bu nedenle, verilerin doğrudan bu harita döşemelerine çizilebilmesi için Mercator koordinatlarına nasıl yeniden yansıtılacağını da gösterdim.

Harita döşemelerini verilerine uyacak şekilde özelleştirmek isteyen herkes cloudmade'e göz atmalıdır.


Kod nasıl kullanılır

Genel olarak, SQL/PLSQL'de uygun işlevi çağırır, ilgili parametreleri iletir ve ardından ilgili dönüşüm için verilerinizi yeni bir sütun(lar)la güncellersiniz.

Toplu dönüştürme için değerlerinizle bir tablo oluşturmanız gerekir. SQL örneğinden, girdi parametreleriniz sütun adları olur ve ‘dual’ kaynak tablo adıyla değiştirilir. Ardından SQL'inizi, rutininizi ve hatta SQL'in kaynak tabloya gömülü olduğu bir istemciden gelen bir çağrıyı çalıştırın ve çıktınızı uygun şekilde yönlendirin. Çıktı, kaynak tablonuzdaki yeni sütunları, ayrı bir tabloyu veya bir dosya çıktısını doldurmaya yönlendirilebilir.

Bu koordinat sistemleri için bir Oracle Spatial uygulamasında EPSG belgeli SRID'leri ve Oracle Spatial içinde bir uzamsal dönüşüm işlevi kullanıyoruz.


Ortak Koordinat Dönüştürme Sorunlarına Çözümler

GPS ve harita koordinat uyumsuzluklarını içeren sorunların çoğu, sürecin bir noktasında yanlış koordinat formatının ve verinin seçilmesinden kaynaklanmaktadır. GPS koordinatlarını bir kitaptan veya Web sayfasından ExpertGPS'e elle giriyorsanız, kaynağın yazarının kullandığı aynı koordinat biçimini ve veriyi seçtiğinizden emin olmanız gerekir, aksi takdirde konum hataları oluşur.

Bugün dünyada kullanılan dört ana koordinat formatı türü vardır: enlem/boylam, UTM, ABD Eyalet Düzlemi ve Ulusal Izgaralar.

Enlem/boylam koordinatları:

Enlem ve boylamı ifade etmenin üç farklı yolu vardır:
1. ondalık derece. (42.12345ºN, -71.23456ºW) Bu koordinatlarda boşluk olmadığına dikkat edin.
2. derece ve dakika (42º 23.456'K, -71º 43.632'W) Deniz, havacılık ve geocaching koordinatları genellikle deg min.min formatında verilir. Koordinatların derece (º) ve dakika (') kısmı arasında bir boşluk olduğuna dikkat edin.
3. derece, dakika ve saniye. (42º 34' 54.234"K, -71º 24' 14.234"W) Sivil sörvey ve bazı deniz geçiş noktaları bu formatta verilmiştir. Her koordinatın boşluklarla ayrılmış üç parçası olduğunu ve dereceleri, dakikaları ve saniyeleri (º ' ") göstermek için üç sembolün kullanıldığını unutmayın.

UTM koordinatları

Evrensel Enine Merkatör (UTM) koordinatları dünya çapında kullanılmaktadır. Açılara dayalı küresel bir koordinat sistemi olan enlem/boylamdan farklı olarak, UTM, durum düzlemi ve ulusal ızgara koordinatları, koordinatların sabit bir referans noktasından Kuzeye Yönelik ve Doğuya Yönelik olarak ifade edildiği dikdörtgen ızgara sistemleridir. Dikdörtgen ızgaralar, mesafeleri hesaplamayı ve dikdörtgen bir harita üzerinde konumları çizmeyi çok daha kolaylaştırır. UTM koordinatları şöyle görünür: 2346212N, 12343523E, 18T. İlk değer Northing'dir. İkincisi ise Doğu. Üçüncü değer (her zaman 1 ile 60 arasında bir sayının ardından tek bir harf gelir) UTM bölge tanımlayıcısıdır. Verileriniz UTM koordinatlarındaysa, büyük olasılıkla NAD27 verisinde veya WGS84 verisindedir (aşağıya bakın). UTM verilerinin büyük çoğunluğu metre cinsinden ifade edilir. Bir ABD devlet kuruluşu tarafından 1983'ten önce toplanan UTM verilerini kullanıyorsanız, temel birim olarak metre yerine ABD Anket Ayaklarını kullanma olasılığı vardır. ExpertGPS Pro, fit cinsinden UTM koordinatları için bir seçenek sunar.

ABD Eyalet Uçağı Koordinatları

ABD eyalet hükümeti Web sitelerinde bulunan verilerin neredeyse tamamı ABD Eyalet Düzlem Koordinat Sisteminde ifade edilmektedir. ABD SPCS koordinatlarının iki değeri vardır, bir Kuzeye Yönelik ve bir Doğuya Yönelik. Bazı ABD eyaletlerinde yalnızca tek bir SPCS bölgesi vardır. Diğer eyaletlerde, ilçelere göre ayrılmış bir avuç var. Hangi bölgenin kullanımda olduğunu bilmeniz ve ExpertGPS Pro'da doğru olanı seçmeniz gerekir. Bu Web sayfası, her ABD eyaletindeki ilçeleri ve kullanılacak uygun SPCS bölgesini listeler:
ABD Eyalet Uçağı Koordinatlarını ExpertGPS Pro ile Dönüştürme ve Kullanma

Ulusal Izgaralar

Amerika Birleşik Devletleri dışında birçok ülkenin kendi Ulusal Şebeke koordinat sistemleri vardır. Bunların çoğu, yukarıda açıklanan aynı Kuzeye Yönlendirme, Doğuya Yönlendirme biçimini kullanır. ExpertGPS, Koordinat Biçimi Ekle iletişim kutusunda her ülke için ulusal ızgaraları listeler.

ExpertGPS'e bir koordinat formatı eklemek için, Düzen menüsünde Tercihler'e tıklayın ve Koordinat Formatlarım sekmesine tıklayın. Ekle'yi tıklayın. Koordinat Biçimi Ekle iletişim kutusu görünecektir. Solda, tüm kıtaların, ülkelerin ve ABD eyaletlerinin genişletilebilir bir listesi var. Konum ağacını genişlettiğinizde ExpertGPS, iletişim kutusunun sağ tarafında o bölgede kullanılan koordinat biçimlerini gösterecektir. Konumunuzun koordinat biçimini görmek için gitmeniz gereken yere kadar konum tarafında detaya inin. Koordinat biçimini seçin ve ardından aşağıdaki listeden uygun veriyi seçin.

Amerika Birleşik Devletleri'nde iki ana veri seçeneğiniz vardır: NAD27 ve NAD83/WGS84. NAD27, 1927'den 1983'e kadar NAD83 ve WGS84 ile değiştirildiği zamana kadar kullanıldı. NAD83 ve WGS84'ün 50 Amerika Birleşik Devletleri'nde aynı olduğunu düşünebilirsiniz.

Dünyanın diğer bölgeleri için ExpertGPS, o bölgede kullanılan verileri gösterecektir. Listeden doğru veriyi seçin.

ExpertGPS'e birçok farklı koordinat formatı ekleyebilir ve veri girmek veya verileri başka bir formata dönüştürmek için istediğiniz zaman bunlar arasında geçiş yapabilirsiniz. ExpertGPS Pro kullanıcıları, verileri içe ve dışa aktardığınızda o anda etkin olan koordinat biçiminin kullanıldığını unutmamalıdır.

Koordinat ve Veri Dönüştürme ile Yardım

ExpertGPS'deki veriler ve koordinat biçimleri hakkında daha fazla bilgi için şu Web sayfalarını ziyaret edin:


Videoyu izle: การตรงพกดระวางทดน Georeferencing ดวยโปรแกรม ArcMap