GISProjekt RTele-FotoUAV

W poszukiwaniu EPSG

Często zdarza nam się, że potrzebujemy odnaleźć kod EPSG konkretnego układu współrzędnych np. w celu nadania go naszym danym przestrzennym. Oczywiście możemy skorzystać ze strony epsg.io, ale jest prostszy sposób i to w jeden z bibliotek R – rgdal. Załadujmy ją:

library(rgdal)

Za pomocą funkcji make_EPSG() do zmiennej proj zapiszemy wszystkie dane o układach współrzędnych:

proj <- make_EPSG()

Zmienna proj jest klasy data.frame i zawiera 3 kolumny: kod EPSG, nazwa układu, parametry w formacie proj4

> head(proj)
  code                                               note                                                                                          prj4
1 3819                                           # HD1909 +proj=longlat +ellps=bessel +towgs84=595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408 +no_defs
2 3821                                            # TWD67                                                         +proj=longlat +ellps=aust_SA +no_defs
3 3824                                            # TWD97                                    +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
4 3889                                             # IGRS                                    +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
5 3906                                         # MGI 1901                            +proj=longlat +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +no_defs
6 4001 # Unknown datum based upon the Airy 1830 ellipsoid                                                            +proj=longlat +ellps=airy +no_defs

Poszukiwać interesującego nas układu możemy z użyciem funkcji grepl. Funkcja ta służy do znajdowania ciągów znaków w stringach. Dla przykładu znajdźmy wszystkie układy zawierające „Poland” w nazwie:

proj[grepl(pattern = "Poland",x =  proj$note),1:2]
> proj[grepl(pattern = "Poland",x =  proj$note),1:2]
     code                                            note
670  2171 # Pulkovo 1942(58) / Poland zone I (deprecated)
671  2172             # Pulkovo 1942(58) / Poland zone II
672  2173            # Pulkovo 1942(58) / Poland zone III
673  2174             # Pulkovo 1942(58) / Poland zone IV
674  2175              # Pulkovo 1942(58) / Poland zone V
675  2176                 # ETRS89 / Poland CS2000 zone 5
676  2177                 # ETRS89 / Poland CS2000 zone 6
677  2178                 # ETRS89 / Poland CS2000 zone 7
678  2179                 # ETRS89 / Poland CS2000 zone 8
679  2180                          # ETRS89 / Poland CS92
1610 3120              # Pulkovo 1942(58) / Poland zone I

Po znalezieniu EPSG lub proj4 przypisujemy go do naszych danych przestrzennych.