Daha çox

WGS84 koordinatlarının C # istifadə edərək British National Grid Easting / Northings-ə çevrilməsi?


Bir WGS84 koordinatını British National Grid Easting və Northings-ə çevirmək üçün ideal olaraq C # kodunu axtarıram.

Kiminsə əlində bu var?

Javascript kodunu buraya çevirməyə çalışdım:

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

C # - ancaq kod şərq və şimal istiqamətləri üçün düzgün koordinatları vermir görünür - aşağıya baxın:

ümumi boşluq LatLongToEastNorth (ikiqat enlik, ikiqat uzunluq) {enlik = toRad (enlem); Boylam = toRad (uzunluq); ikiqat a = 6377563.396, b = 6356256.910; // Airy 1830 böyük və kiçik yarı oxları ikiqat F0 = 0.9996012717; // Mərkəzi meridian ikiqat lat0 = toRad üzrə NatGrid miqyaslı amil (49); ikiqat lon0 = toRad (-2); // NatGrid həqiqi mənşəli ikiqat N0 = -100000, E0 = 400000; // həqiqi mənşəli şimal və şərq, metr ikiqat e2 = 1 - (b * b) / (a ​​* a); // ekssentriklik kvadratı ikiqat n = (a - b) / (a ​​+ b), n2 = n * n, n3 = n * n * n; ikiqat cosLat = Math.Cos (en), sinLat = Math.Sin (en); ikiqat nu = a * F0 / Math.Sqrt (1 - e2 * sinLat * sinLat); // əyrilik eninə radiusu ikiqat rho = a * F0 * (1 - e2) / Math.Pow (1 - e2 * sinLat * sinLat, 1.5); // meridional əyrilik radiusu ikiqat eta2 = nu / rho - 1; ikiqat Ma = (1 + n + (5/4) * n2 + (5/4) * n3) * (en - lat0); ikiqat Mb = (3 * n + 3 * n * n + (21/8) * n3) * Math.Sin (enlem - lat0) * Math.Cos (enlem + lat0); ikiqat Mc = ((15/8) * n2 + (15/8) * n3) * Math.Sin (2 * (enlem - lat0)) * Math.Cos (2 * (enlem + lat0)); ikiqat Md = (35/24) * n3 * Math.Sin (3 * (en - lat0)) * Math.Cos (3 * (enlem + lat0)); ikiqat M = b * F0 * (Ma - Mb + Mc - Md); // meridional arc ikiqat cos3lat = cosLat * cosLat * cosLat; ikiqat cos5lat = cos3lat * cosLat * cosLat; ikiqat tan2lat = Math.Tan (enlem) * Math.Tan (enlem); ikiqat tan4lat = tan2lat * tan2lat; ikiqat I = M + N0; ikiqat II = (nu / 2) * sinLat * cosLat; ikiqat III = (nu / 24) * sinLat * cos3lat * (5 - tan2lat + 9 * eta2); ikiqat IIIA = (nu / 720) * sinLat * cos5lat * (61 - 58 * tan2lat + tan4lat); ikiqat IV = nu * cosLat; ikiqat V = (nu / 6) * cos3lat * (nu / rho - tan2lat); ikiqat VI = (nu / 120) * cos5lat * (5 - 18 * tan2lat + tan4lat + 14 * eta2 - 58 * tan2lat * eta2); ikiqat dLon = Boylam - lon0; ikiqat dLon2 = dLon * dLon, dLon3 = dLon2 * dLon, dLon4 = dLon3 * dLon, dLon5 = dLon4 * dLon, dLon6 = dLon5 * dLon; ikiqat N = I + II * dLon2 + III * dLon4 + IIIA * dLon6; ikiqat E = E0 + IV * dLon + V * dLon3 + VI * dLon5; // return gridrefNumToLet (E, N, 8); }

.NET kitabxanası Proj.Net'i sınaya bilərsiniz. GB Milli Şəbəkəsinə əlavə etmək üçün Mekansal Referans Kimliği ilə bir proyeksiyanın yüklənməsinə baxın.

Bu forum yazısından nümunə kodu:

CoordinateSystemFactory c = yeni CoordinateSystemFactory (); ICoordinateSystem target = c.CreateFromWkt ("PROJCS [" OSGB 1936 / British National Grid  ", GEOGCS [" OSGB 1936  ", DATUM [" OSGB_1936  ", SPHEROID [" Airy 1830  ", 6377563.396,299.3249646 , YETKİ [["EPSG ",  "7001 "]], YETKİ [["EPSG ",  "6277 "]], PRIMEM [ "Greenwich ", 0, YETKİ [ "EPSG " ,  "8901 "]], UNIT [ "derece ", 0.01745329251994328, YETKİ [ "EPSG ",  "9122 "]], YETKİ [ "EPSG ",  "4277 "]] , PROJECTION [ "Transverse_Mercator "], PARAMETER [ "arigin enlemi_", 49], PARAMETER [ "central_meridian ", - 2], PARAMETER [ "scale_factor ", 0.9996012717], PARAMETER [ "false_easting ", 400000], PARAMETRE [" false_northing  ", - 100000], UNIT [" meter  ", 1, Authority [" ​​EPSG  ", " 9001  "]], Authority [" ​​EPSG  " ,  "27700 "]] "); ICoordinateSystem source = c.CreateFromWkt ("GEOGCS [" GCS_WGS_1984  ", DATUM [" D_WGS_1984  ", SPHEROID [" WGS_1984  ", 6378137,298.257223563]], PRIMEM [" Green [ "Derece ", 0.0174532925199433]) "); CoordinateTransformationFactory trf = yeni CoordinateTransformationFactory (); ICoordinateTransformation tr = trf.CreateFromCoordinateSystems (mənbə, hədəf); ikiqat [] nöqtə = yeni ikiqat [] {-4.0, 55.6}; ikiqat [] nəticə = tr.MathTransform.Transform (nöqtə); Console.WriteLine (nəticə);

Alternativ olaraq http://gps.ordnancesurvey.co.uk/convert.asp saytında qeydiyyatdan keçsəniz, Ordnance Anketində yüklənən bir vasitə var.


Proj.4 kitabxanası köməkçi ola bilər, lakin C # deyil, C ilə yazılmışdır. Bunun üçün bir C # sarğı var.


Əslində bir az lal idim - səhv uzun və lat dəyərlərini keçməliydim - kod həqiqətən işləyir. Ancaq mkennedy'nin WGS84 və Airy 1830 datumları haqqında nəyi qoyduğunu düşünmək istəyə bilərsiniz - bu, son şərq və şimal oxularınızın dəqiqliyinə müəyyən dərəcədə təsir göstərəcək - 60-100 metr məsafədə, belə ki, hər şey onu nə qədər dəqiq istəməyinizdən asılıdır olmaq.


İngilis Milli Şəbəkəsi və İrlandiya Şəbəkəsi Referanslarının Konvertasiyası: Praktik Nümunə

Ətraf Mühit Agentliyi bu yaxınlarda Açıq Hökümət Lisenziyası altında GeoStore'dan əldə edilə bilən Çay Habitat Araşdırmaları (RHS) məlumat bazasını açıq məlumat olaraq yayımladı. RHS, İngiltərədəki çay yaşayış yerlərinin fiziki xüsusiyyəti və keyfiyyəti haqqında məlumat toplamaq üçün & standart olaraq xarakterizə olunur. Məlumatlar Açıq Ofis XML elektron cədvəlindən gəlir və 1994 - cü ildən bu yana İngiltərə, Uels, Şotlandiya və Şimali İrlandiyada toplanan anket məlumatlarını əhatə edir.

Anket nöqtələrinin yeri ya Böyük Britaniyadakı saytlar üçün İngilis Milli Şəbəkəsindən (EPSG: 27700), ya da Şimali İrlandiyadakı saytlar üçün İrlandiya Şəbəkəsindən (EPSG: 29903) istifadə edərək şəbəkə istinadları kimi verilir. Veriləri bir CBS-də göstərmək üçün bu şəbəkə istinadlarının şərq və şimal koordinatlarına çevrilməsi lazımdır. Bu yazı, Python istifadə edərək bunun necə əldə edilə biləcəyini təsvir edir.

Həm İngilis Milli Şəbəkəsi, həm də İrlandiyadakı Şəbəkə sistemləri yuxarı soldan (şimal qərbdən) aşağı sağa (cənub şərqdən) A-Z (I atlayaraq) etiketli 5x5 ızgara istifadə edir. İrlandiyalı şəbəkə, 100 km-lik kvadratlardan ibarət bir şəbəkədən istifadə edərək, ikisindən daha sadədir. İngilis şəbəkəsi daha mürəkkəbdir, 500 km-lik kvadratlar daha da 100km-lik kvadratlardan ibarət 5x5 ızgaralara bölünür. Buna əlavə olaraq, İngilis şəbəkəsi, SV plitəsinin sol alt küncündə 1000000,500000 əvəzinə 0,0 səviyyəsində olması üçün bir cüt yanlış şərq və şimal dəyərlərindən istifadə edir. İki ızgara aşağıda təsvir olunmuşdur, bunlar Kopyalayıcı və Təbii Torpaq məlumatları istifadə edilmişdir.

Şəbəkə istinadları hərf (İrlandiya) və ya cüt hərf (İngilis) şəklində verilir və ardından 100 km kvadratı bölən rəqəmlər verilir. Rəqəmlərin sayı dəqiqliyi verir və bir & lsquo10 rəqəmi & rsquo ızgara referansı 1 metrə, bir & lsquo8 rəqəmi & rsquo 10 metrə, bir & lsquo6 rəqəmi və rsquo 100 metrə qədər dəqiqlik verir. Məsələn, SP513061 İngiltərənin Oxford şəhərində 451300,206100 səviyyəsində 100 metrlik bir kvadrat təyin edir. Ordnance Survey, İngiltərədəki Sistemləri Koordinasiya etmək üçün əla Bələdçi daxil olmaqla, British National Grid haqqında daha çox məlumat verir.

Aşağıda verilmiş Python funksiyaları, hər iki şəbəkə istinadını GIS-də istifadə üçün uyğun olan şərq və şimal koordinatlarına (yəni x, y koordinatlarına) çevirir. Eyni əsas funksiya - grid2xy - hər iki şəbəkə üçün, İngilis və İrlandiya şəbəkə istinadlarını çevirmək üçün köməkçi funksiyaları ilə istifadə olunur.

Aşağıda göstərildiyi kimi istifadə sadədir.

Koordinatların WGS84 coğrafi koordinat sisteminə (uzunluq və enlik) daxil olaraq yenidən eyni formada saxlanıla bilməsi üçün daha bir addım tələb olunur. Bu, PROJ.4 kitabxanasından istifadə edərək, pyproj modulu vasitəsilə həyata keçirilir.

OOXML elektron cədvəlinin oxunması openpyxl modulundan istifadə etməklə həyata keçirilir. Verilər vergüllə ayrılmış dəyərlərə (CSV) və ya başqa bir elektron tabloya çıxarıla bilər, bunun əvəzinə birbaşa ESRI Shapefile yazmaq üçün fiona istifadə edirik. Aşağıdakı skript prosesi göstərmək üçün yalnız minimum sahələr dəstini (sorğu identifikatoru, ərazi kimliyi, şəbəkə referansı, tarix və çay adı) ixrac edir.

Nəticədə formalaşan şəkillər, proqnozların düzgün işləndiyini yoxlamaq üçün OpenStreetMap-a qarşı yoxlanıla bilər. Gözlənildiyi kimi, tədqiqat nöqtələri çay xəttlərini izləyir. Aşağıdakı xəritədə Tweed çayı və qolları üzərində tədqiqat nöqtələri aydın şəkildə göstərilir.


British National Grid Shapefile - çevirmək WGS84 Lat / Lon

İngilis Milli Grid koordinat sistemindən istifadə edərək yazıldığını söyləyən bir sıra ESRI formalı sənədlərim var. KML sənədlərinə keçid üçün bu faylları WGS84 lat / lons-a çevirməliyəm. Bunu aşağıdakı şəkildə etməkdə çətinlik çəkirəm:

Orijinal sənədlərin hər birini MapInfo Professional-da açsam, sənədimin British National Grid proyeksiyasına sahib olduğunu söyləyərəm, onda sənədin xəritəsi pəncərəsi tamamilə boş olan bir coğrafi obyekt görə bilmərəm.

Faylları WGS84 MapInfo TAB sənədinə çevirmək üçün MapInfo Professional-ın Universal Tərcüməçisindən istifadə edirəmsə, əvvəlki kimi, çevrilmiş fayl heç bir coğrafi obyekt göstərməyəcək, MapInfo pəncərəsi boşdur.

Bu sənədlərin koordinat sistemini yoxlaya bilərəmmi? Burda bir şey itirirəm? Format şəkillərini MapInfo Professional-dan istifadə edə biləcəyimi gözlədiyim şəkildə çevirə bilməliyəm? Başqa bir vasitə mənim üçün daha yaxşı bir iş görəcəkmi?

Mənim şəklimin lat / lon dilinə düzgün tərcümə olunmayan koordinatları var və indi koordinatların əslində İngilis Milli Şəbəkəsi olmadığını düşünürəm. Təxminən lat / lon 53.488182, -2.247153 kimi görünən 383702523, 399081141 kimi koordinatları görürəm. Giriş sənədimin hansı proyeksiya sistemində olduğunu bilmirsinizmi?


WGS84, UTM, CH1903, UTMREF (MGRS), Gauß-Krüger, NAC, W3W üçün koordinat çevirici

Giriş:
Enlemin girişi -89.999999 - 89.999999 arasındakı ondalık rəqəmdir.
Enlik dərəcəsi S ilə cənub kimi verilmişdirsə, rəqəmin əvvəlində mənfi işarəsi qoyulmalıdır.
Boylamin girişi -179.999999 ilə 179.9999999 arasındakı ondalık rəqəmdir.
Uzunluq qərb kimi W ilə verilirsə, rəqəmin əvvəlində mənfi işarəsi olmalıdır.
Bu limit dəyərlər giriş ilə saxlanılmırsa, çərçivə qırmızıya çevrilir və / və ya sahələr boş qalır. Ondalık dərəcə (WGS84)

Nümunə: Şimali 47 ° 1.122 | Şərq 12 ° 20.553 '

Enlem üçün giriş -89 ilə 89 arasında olmalıdır və bir tam ədəd olmalıdır.
Boylam üçün giriş -179 ilə 179 arasındadır və tam olmalıdır.
Boylam və enlem üçün dəqiqələrin girişi isteğe bağlı ondalık rəqəmdir, lakin düzəldildiyi təqdirdə 0 ilə 59.99999 arasında olmalıdır.
Bu məhdudiyyətlər yerinə yetirilmədikdə, çərçivə qırmızıya çevriləcək və ya sahələr boş qalacaq. Dərəcə dəqiqə (WGS84)

Nümunə: Şimali 47 ° 1 '7.359' | Şərq 12 ° 20 '33.216'

Enlem üçün giriş -89 ilə 89 arasında olmalıdır və bir tam ədəd olmalıdır.
Boylam üçün giriş -179 ilə 179 arasındadır və tam olmalıdır.
Boylam və Boylam üçün dəqiqələrin girişi 0 ilə 59 arasında olmalıdır və tam olmalıdır.
Enlem ve boylam üçün saniyələrin girişi isteğe bağlıdır, ancaq yerinə yetirildiyi təqdirdə 0 ilə 59.99999 arasında olmalıdır.

Giriş zamanı bu məhdudiyyətlər qarşılanmırsa, çərçivə qırmızıya çevriləcək və ya sahələr boş qalacaq. Dərəcə dəqiqə saniyə (WGS84)

Misal: E (Şərq) = 2783009 | N (Şimal) = 1223568

Bu koordinatlar yalnız İsveçrə və Lixtenşteyndə istifadə olunduğundan N və E üçün limit dəyərlər tətbiq olunur.

Ən şimal nöqtəsi təxminən 47.8 dərəcədir və bu səbəbdən N üçün maksimum dəyər 1.300.000-dir.
Ən cənub nöqtəsi təxminən 45.8 dərəcədir və bu səbəbdən N üçün minimum dəyər 1.074.000-dir.
Ən şərq nöqtəsi təxminən 10.5 dərəcədir və bu səbəbdən E üçün maksimum 2.834.000-dir.
Ən qərb nöqtə 5.9 dərəcədir və bu səbəbdən E üçün minimum dəyər 2.484.000-dir.

Bu məhdudiyyətlər yerinə yetirilmədikdə, çərçivə qırmızıya çevrilir və ya sahələr boş qalır. CH1903 + / LV95 (Bessel 1841)

Misal: Zona 32U | Şərq dəyəri 691831 | Şimal dəyəri 5337164

Zona nöqtənin kobud mövqeyini təyin edir və qarışıqların qarşısını almalıdır.
Etibarlı zona dəyərləri 01A-60X arasındadır, lakin O və I olmadan.

Şərq dəyərləri 100.000 ilə 900.000 arasında olmalıdır.
Şimal dəyərləri 1 ilə 9,999,999 arasında olmalıdır.

Giriş zamanı bu limit dəyərlərə əməl edilmirsə, çərçivə qırmızıya çevrilir və ya sahələr boş qalır.

Zonanın hərfi səhv girişlə avtomatik olaraq düzəldilir. UTM koordinatları (WGS84)

Misal: Zona 32U | Kvadrat PU planlayın | Şərq dəyəri 91831 | Şimal dəyəri 37164

Zona nöqtənin kobud mövqeyini təyin edir və qarışıqların qarşısını almalıdır.
Etibarlı zona dəyərləri 01A-60X arasındadır, lakin O və I olmadan.

Şəbəkə kvadratı zonadakı yerini təyin edir və şərq dəyərindən (O və I olmadan A-Z) və şimal dəyərindən (O və I olmadan A-V) ibarətdir.

Şərq dəyərləri 1 ilə 99.999 arasında olmalıdır. Arxada itkin rəqəmlər doldurulur.
Şimal dəyərləri 1 ilə 99.999 arasında olmalıdır. İtkin rəqəmlər arxa tərəfə doldurulur.
10.000-dən aşağı dəyərlər, öndəki sıfırlar ilə doldurulmalıdır ki, iki rəqəmin hər biri 5 rəqəmdən ibarət olsun.

Giriş zamanı bu limit dəyərlərə əməl edilmirsə, çərçivə qırmızıya çevrilir və ya sahələr boş qalır.

Giriş səhv olduqda zonanın hərfi avtomatik olaraq düzəldilir. MGRS / UTMREF (WGS84)

Misal: R (sağ dəyər) = 4468298 | H (yüksək dəyər) = 5333791

Bu koordinatlar üçün əsas ellipsoid yalnız Almaniyada istifadə olunduğundan R və H üçün limit dəyərlər tətbiq olunur.
Ən şimal nöqtəsi təxminən 56 dərəcədir və bu səbəbdən H üçün maksimum dəyər 6200000-dir.
Ən cənub nöqtəsi 46 dərəcədir və bu səbəbdən H üçün minimum dəyər 5000000-dür.
Ən qərb nöqtəsi təxminən 5 dərəcədir və bu səbəbdən R üçün maksimum dəyər 5700000-dir.
Ən şərq nöqtəsi təxminən 16 dərəcədir və bu səbəbdən R üçün minimum dəyər 2400000-dir.

Bu məhdudiyyətlər yerinə yetirilmədikdə, çərçivə qırmızıya çevrilir və ya sahələr boş qalır. Gauss Kruger (Bessel, Potsdam)

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

Giriş:
X və Y üçün aşağıdakı simvollara icazə verilir: 0123456789 BCDFGHJKLMNPQRSTVWXZ.
Uzunluq 1 ilə 6 simvol arasında ola bilər. MAK (Təbii Ərazi Kodlaşdırması, WGS84)

Giriş:
Giriş həmişə 3 sözdən ibarət olmalıdır. Hər söz bir nöqtə ilə ayrılır. W3W (Hansı 3 söz)

Beispiel:
Qisa Kod: 8QQ7 + V8, Dublin
Tam Kod: 8FVHG4M6 + 2X

Eingabe:
Qısa Kod 4 Zeichen, gefolgt von einem + gefolgt von 2 Zeichen, gefolgt von einer Ortsbezeichung
Tam Kod 8 Zeichen, gefolgt von einem + gefolgt von 2-3 Zeichen.
Erlaubte Zeichen, Ortsnamen-a qarşı bir əlaqə qurdu: 23456789CFGHJMPQRVWX Üstəgəl kod (google açıq yer kodu)


Eastings və Northings

Koordinat Dəyişdirmə Aləti, Ordnance Survey & # 39s National Grid Transformation OSTN15 istifadə edərək GNSS əsaslı ETRS89 enlik və boylam və ya kartezyen XYZ koordinatlarını ekvivalent OSGB36 Milli Şəbəkə şərqlərinə və şimallarına və əksinə çevirir. Bununla yanaşı, Milli Geoid Model OSGM15-dən istifadə edərək, müvafiq Ordnance Survey mapping datum (Ordnance Datum Newlyn for materik Britaniya) üzərindəki GPS ellipsoid yüksəkliklərini ortometrik (orta dəniz səviyyəsi) yüksəkliklərinə çevirir.

Koordinat sistemləri və çevrilmələri haqqında daha çox məlumat üçün nəşrimizə baxın Böyük Britaniyada koordinat sistemlərinə dair təlimat.

OSTN15 & amp OSGM15 üçün xam məlumatlar və kodla maraqlanan inkişaf etdiricilər, bu səhifəyə baxın.


Böyük Britaniyanın Ordnance Araşdırması (OSGB), İrlandiya (OSi) və Land & amp Property Services (LPS - Keçmişdə OSNI), Birləşmiş Krallıq və İrlandiyanı əhatə edən OSGM02 geoid modelini yaxşılaşdırmaq üçün yenidən əməkdaşlıq etdi. Yeni Geoid modeli OSGM15, 26 Avqust 2016-cı il tarixində istifadəyə veriləcək.

Əlavə məlumat burada tapılan məqalədə verilmişdir.

İrlandiya və Şimali İrlandiya üçün polinom çevrilməsi dəyişməmişdir, lakin aşağıdakı linklərdən yükləmək üçün Grid Inquest Grid Inquest II-nin yeni bir versiyası mövcuddur. Grid Inquest II, 26 Avqust 2016-cı ildə Grid Inquest I-dən təhvil alacaq. Bu tarixdən əvvəl Grid Inquest II istifadə edilməməli və bu tarixdən sonra Grid Inquest 1 istifadə edilməməlidir.


5 Cavablar 5

Bu çox köhnə bir sualdır, amma hələ 2 ildən sonra bir axtarışda olduğu üçün başqalarına kömək edə biləcək bir cavab verməyə dəyər hiss etdim.

Ordnance Anketini istifadə edə bilsəniz, daha dəqiq OSTN15 çevrilməsini həyata keçirmək üçün istifadə edilə bilən bir DLL (və əlaqəli bir məlumat faylı) və ya NTv2 faylı təmin edin. Bunlar BSD lisenziyası altında OSTN15 və OSGM15 inkişaf etdiricilər üçün mövcuddur

Bu dönüşüm koordinatlarınızı ETRS89-a (Avropadakı WGS84-ə bərabərdir) çevirəcək və @codeulike-in cavabında göstərilən OSTN97 / 7 parametri helmert çevrilməsindən daha dəqiq olacaq.

Sualımı cavablandırmaq üçün Eastings və Northings, Latitude and Longitude-a çevrilmənin çox yaxşı müəyyənləşdirildiyi Ordinance Survey (OS) araşdırmaları oldu.

Chris Veness-in bu çox yaxşı səhifəsi əsas alqoritmi və ümumi tələləri müzakirə edir. Javascript alqoritmini təqdim edir, amma bu forumda C # ekvivalenti tapdım.

Chris Veness'in də qeyd etdiyi kimi, bu alqoritm sizi Latitude and Longitude-a aparır, lakin OSGB36 datumda. Ümumiyyətlə, bundan sonra daha çox istifadə olunan WGS84 / GRS80 datasına çevirmək istəyəcəksiniz (əks halda İngiltərədəki yerlər üçün 120 metrə qədər çıxacaqsınız). Bunun üçün Chris'in burada izah etdiyi kimi bir Helmert çevrilməsinə ehtiyac var.


İngilis Milli Grid transformasiyası və R-də yenidən proyeksiya

Georeferenced UK statistik məlumatları ümumiyyətlə Dünya Geodezik Sisteminə (və # 8216WGS 84 & # 8242) əsaslanan iki məkan koordinat referans sistemindən və ya enlem / boylam nöqtələrindən birində və ya İngilis Milli Şəbəkəsinin şərq / şimal sistemində gəlir. (1936 Ordnance Survey Great Britain datum & # 8216OSGB 36 & # 8242 əsasında). Son sistem sayğaclarla ölçülmənin faydasına malikdir və bu da daha dəqiq məkan təhlilinin aparılmasına imkan verir. Verilənləri bu koordinat sistemləri arasında çevirmək çətin bir riyazi prosesdir, ancaq ilk dəfə bununla qarşılaşanlar narahat olmayacaqlar, çünki ağıllı zehinlər bu barədə Qədim Yunanıstandan bəri düşünürlər.

Bu R ssenarisi, British National Grid (şərq / şimal) və ya WGS84 (en / uzunluq) məlumatlarını götürüb digərinə çevirməyin minimal nümunəsidir. Ağır qaldırma işi öz üzərinə götürür rgdal kitabxana, R & # 8217s tətbiqi platformalararası Coğrafi Məlumat Abstraksiya Kitabxanası. Dəyişikliklərin özləri layihə.4 simlər daxildir.

Ssenari ayrıca məlumatlara kontekst əlavə etmək üçün xəritə plitələrini yükləmək üçün faydalı OpenStreetMap paketindən istifadə edir. Onlayn xəritə alətləri bunları əsasən Mercator proyeksiyasına söykənir, bir çox coğrafiyanın qütblərə yönəlmiş təhrifindən və bu qlobal sosial bərabərsizliyin xoşuna gəlmir. Bununla birlikdə Mercator, açısallığı qorumaq faydasına malikdir, yəni yerlərin formaları daha az pozulmuşdur. Xəritə plitələri, məsələn British National Grid-ə yenidən proqnozlaşdırıla bilsə də (ssenaridə göstərildiyi kimi) bu, görüntü keyfiyyətini azaldır. Bu səbəbdən də məlumatları Mercator koordinatlarına yenidən necə tərtib edəcəyimi göstərdim, beləliklə birbaşa bu xəritə plitələrinə çəkilə bildim.

Xəritə plitələrini məlumatlarına uyğunlaşdırmaq istəyən hər kəs cloudmade-ə baxmalıdır.


Kodu necə istifadə etmək olar

Ümumiyyətlə, müvafiq parametrləri ötürərək SQL / PLSQL-də müvafiq funksiyanı axtarırsınız və daha sonra müvafiq transformasiya üçün yeni bir sütun (lər) ilə məlumatlarınızı yeniləyirsiniz.

Toplu dönüşüm üçün dəyərlərinizlə bir cədvəl yaratmalısınız. Nümunə SQL-dən giriş parametrləriniz sütun adları olacaq və & # 8216dual & # 8217 mənbə cədvəlinin adı ilə əvəz olunacaq. Sonra SQL, rutin və ya hətta bir müştəri tərəfindən mənbə cədvəlinə qarşı yerləşdirilmiş SQL ilə edilən bir çağırışı idarə edin və nəticəni uyğun olaraq yönləndirin. Çıxış mənbə cədvəlinizdəki yeni sütunları, ayrı bir cədvəl və ya bir fayl çıxışı kimi doldurmaq üçün yönəldilə bilər.

Bu koordinat sistemləri və Oracle Spatial içərisində bir məkan çevrilmə funksiyası üçün bir Oracle Spatial tətbiqində EPSG sənədləşdirilmiş SRID istifadə edirik.


Ümumi Koordinat Çevrilmə Problemlərinin həlləri

GPS və xəritə koordinatlarının səhv uyğunluqlarını əhatə edən problemlərin əksəriyyəti, prosesin müəyyən bir nöqtəsində səhv koordinat formatı və datum seçilməsindən qaynaqlanır. Bir kitabdan və ya bir veb səhifədən ExpertGPS-ə GPS koordinatlarını əlinizlə daxil edirsinizsə, mənbənin müəllifinin istifadə etdiyi eyni koordinat formatını və məlumat tarixçəsini seçdiyinizə əmin olmalısınız və ya mövqe səhvləri baş verəcəkdir.

Bu gün dünyada dörd əsas koordinat formatı istifadə olunur: lat / lon, UTM, ABŞ Dövlət Təyyarəsi və Milli Şəbəkələr.

Lat / lon koordinatları:

Boylam və boylamı ifadə etməyin üç fərqli yolu var:
1. ondalık dərəcələr. (42.12345 & ordmN, -71.23456 & ordmW) Qeyd edək ki, bu koordinatlarda boşluq yoxdur.
2. dərəcə və dəqiqə (42 & ordm 23.456'N, -71 & ordm 43.632'W) Dəniz, aviasiya və geocaching koordinatları ümumiyyətlə deg min.min formatında verilir. Koordinatların dərəcələri (& ordm) ilə dəqiqə (') hissəsi arasında bir boşluq olduğunu unutmayın.
3. dərəcə, dəqiqə və saniyə. (42 & ordm 34 '54.234 "N, -71 & ordm 24' 14.234" W) Mülki araşdırma və bəzi dəniz yol nöqtələri bu formatda verilmişdir. Hər bir koordinatın boşluqlarla ayrılmış üç hissəsinin olduğunu və dərəcələrin, dəqiqələrin və saniyələrin (& ordm '") göstərilməsi üçün üç simvoldan istifadə olunduğunu unutmayın.

UTM koordinatları

Universal Transverse Mercator (UTM) koordinatları dünyada istifadə olunur. Bucaqlara əsaslanan sferik koordinat sistemi olan lat / londan fərqli olaraq UTM, vəziyyət müstəvisi və milli şəbəkə koordinatları koordinatların sabit istinad nöqtəsindən Şimal və Şərq istiqamətində ifadə edildiyi düzbucaqlı şəbəkə sistemləridir. Düzbucaqlı ızgaralar məsafələri hesablamağı və yerləri düzbucaqlı xəritədə qurmağı çox asanlaşdırır. UTM koordinatları belə görünür: 2346212N, 12343523E, 18T. İlk dəyər şimaldır. İkincisi Şərqdir. Üçüncü dəyər (həmişə 1 ilə 60 arasındakı bir rəqəm və ardından tək bir hərf) UTM zona identifikatorudur. Veriləriniz UTM koordinatlarındadırsa, çox güman ki NAD27 və ya WGS84 datumdadır (aşağıya bax). UTM məlumatlarının böyük əksəriyyəti metrlərlə ifadə olunur. ABŞ dövlət qurumu tərəfindən 1983-cü ilə qədər toplanmış UTM məlumatlarını istifadə edirsinizsə, baza vahidi olaraq sayğaclardan çox, ABŞ Sorğu Ayaqlarından istifadə etmə şansı var. ExpertGPS Pro, ayaqdakı UTM koordinatları üçün bir seçim təqdim edir.

ABŞ Dövlət Təyyarəsi Koordinatları

ABŞ dövlət hökumətinin veb saytlarından əldə edilən məlumatların demək olar ki, hamısı ABŞ Dövlət Təyyarə Koordinat Sistemində ifadə edilmişdir. ABŞ SPCS koordinatlarının iki dəyər var: Northing və Easting. Bəzi ABŞ əyalətlərində yalnız bir SPCS zonası var. Digər əyalətlərdə bir ovuc var, mahal tərəfindən parçalanmışdır. Hansı zonanın istifadə olunduğunu bilməlisiniz və ExpertGPS Pro-da düzgün olanı seçməlisiniz. Bu veb səhifədə ABŞ-ın hər bir əyalətindəki bölgələr və istifadə üçün uyğun SPCS zonası sadalanır:
ExpertGPS Pro ilə ABŞ Dövlət Təyyarəsi Koordinatlarının dəyişdirilməsi və istifadəsi

Milli Şəbəkələr

Amerika Birləşmiş Ştatları xaricində bir çox ölkənin öz Milli Grid koordinat sistemləri var. Bunların çoxu yuxarıda təsvir olunan eyni Northing, Easting formatını istifadə edir. ExpertGPS, Koordinat Formatı Əlavə et informasiya qutusunda hər bir ölkə üçün milli şəbəkələri sadalayır.

ExpertGPS-də bir koordinat formatı əlavə etmək üçün Düzəliş menyusunda Tercihlər vurun və Koordinat Formatlarım sekmesini vurun. Əlavə et düyməsini vurun. Koordinat Biçimi Əlavə et dialoqu görünəcək. Solda bütün qitələrin, ölkələrin və ABŞ əyalətlərinin genişləndirilə bilən bir siyahısı var. Yer ağacını genişləndirdiyiniz zaman ExpertGPS, dialoqun sağ tərəfində həmin bölgədə istifadə olunan koordinat formatlarını göstərəcəkdir. Yeriniz üçün koordinat formatını görmək üçün getməyiniz lazım olduğu qədər yer tərəfində aşağı salın. Koordinat formatını seçin və sonra aşağıdakı siyahıdan uyğun məlumatı seçin.

Amerika Birləşmiş Ştatlarında iki əsas məlumat seçiminiz var: NAD27 və NAD83 / WGS84. NAD27, 1927-ci ildən 1983-cü ilə qədər NAD83 və WGS84 ilə əvəz edildikdə istifadə edilmişdir. NAD83 və WGS84'ü 50 ABŞ-da eyni hesab edə bilərsiniz.

Dünyanın digər sahələri üçün ExpertGPS bu bölgədə istifadə olunan məlumatları göstərəcəkdir. Siyahıdan düzgün datanı seçin.

ExpertGPS-ə bir çox fərqli koordinat formatı əlavə edə bilərsiniz və istənilən vaxt məlumat daxil etmək və ya başqa bir formata çevirmək üçün aralarında keçid edə bilərsiniz. ExpertGPS Pro istifadəçiləri, məlumatları nə zaman idxal edib ixrac etdikdə, hazırda aktiv olan koordinat formatından istifadə olunduğunu unutmamalıdırlar.

Koordinat və Datum Konversiyası ilə kömək edin

ExpertGPS-də verilənlər bazaları və koordinat formatları haqqında daha ətraflı məlumat üçün bu veb səhifələrə daxil olun: