6000000 stumdīšana ar gdal/ogr

Sen nekas nav rakstīts līdz pienāca kārtējā reize, kad ±6000000 kādu pārsteidza. Kā tikt ar to galā, ja nav programmatūra ar, kuru precīzi var pārbīdīt datus un pareizi pārprojicēt aprakstīšu šajā rakstā. Kā jau pie mums pieņemts par LKS92/Latvia TM datiem mēs saucam visu kas nu mums nāk priekšā, neatkarīgi no tā uz kuru pusi ir ir y_0 vērtība.

Šeit aprakstīšu kā datus no “LKS92/Latvia TM” ar +6000000 var pārprojicēt uz definēto LKS92/Latvia TM ar gdal/ogr. Pilnīgi identiski darbojas sistēma pretējā virzienā.

Neatkarīgi no tā vai +6000000 esošajiem datiem ir definēta koordinātu sistēma LKS92/Latvia TM vai vispār nav mums tā ir jāpiešķir no jauna, jo šie dati neatbilst LKS92/Latvia TM koordinatu sistēmai. Tā kā vienīgā atšķirība ir nobīdē pa y asi var izmantot EPSG:3059 koda pierakstu, kuram tiek mainīta tikai y_0 vērtība.
Definētā EPSG:3059 (LKS92/Latvia TM) pieraksts “+proj=tmerc +lat_0=0 +lon_0=24 +k=0.99960
0 +x_0=500000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs”

Izmainīts EPSG:3059 (LKS92/Latvia TM) pieraksts +6000000 datiem “+proj=tmerc +lat_0=0 +lon_0=24 +k=0.99960
0 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs”

Lai veiktu pārprojicēšanu izmanto ogr2ogr utilītu kā aprakstīts rakstā par gdal/ogr pielietojumu.
Definējam koordinātu sistēmu datiem datiem ar y vērtību +6000000:

>ogr2ogr -a_srs “+proj=tmerc +lat_0=0 +lon_0=24 +k=0.99960
0 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs” korekti_projiceti_dati.shp neprojiceti_dati.shp

Pēc koordinātu sistēmas definēšanas dati joprojām atrodas +6000000 attiecībā pret LKS92/Latvia TM noteikto y_0 vērtību. Šajā gadījumā ir datiem piešķirta korekta koordinātu sistēma un pārprojicēšanas gadījumā dati tiek korekti koordinēti, ja šādiem datiem būtu definētā LKS92/Latvia TM koordinātu sistēma tie tiktu koordinēti lietotāja prāt nepareizi(“lietotājs”==”auns” nevis “sistēma”==”auns”).

Tālāk datus eleganti neizmantojot manuālu datu stumdīšanu pa y asi pārkoordinājam uz LKS92/Latvia TM koordinātu sistēmu.

>ogr2ogr -t_srs EPSG:3059 korekti_dati_lks92.shp korekti_projiceti_dati.shp

vai projekciju norādot pierakstā

>ogr2ogr -a_srs “+proj=tmerc +lat_0=0 +lon_0=24 +k=0.99960
0 +x_0=500000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs” korekti_dati_lks92.shp neprojiceti_dati.shp

Pie lieliem stumdāmo datu failu apjomiem šī metode labi noder kombinācijā ar maziem skriptiem, kas vairākus simtus failu var nolikt vietā pāris sekunžu laikā.Tas gan nenozīmē, ka dažus failus koordinēt būtu sarežģitāk vai grūtāk. Visu iepriekš minēto var darīt arī ar rastra datiem izmantojot gdal/ogr utilītu kopā esošo gdalwarp ar tādām pašām komandām kā lietojot ogr2ogr.
Lai labi veicas eksperimentos!

3 komentāru to “6000000 stumdīšana ar gdal/ogr”

  1. Maris saka:

    Malacis. Noderīgs raksts – turpmāk nevajadzēs pa dokumentāciju rakties, lai atcerētos kā šo transformāciju bija pareizi jāveic.

  2. pb saka:

    Man aizvien biežāk liekas ka vajadzēs apkopt priekš gdal/ogr sarakstītos skriptus vienā aplikācijā, kurā iekļautas īpašās LV īpatnības datu apsaimniekošanai. Jaizdomā tikai kā to tā labāk izdara.

  3. […] špikerīšus par gadal un ogr lietošanu. Nedzudz jau iepriekš bija dažas mūsu pašu piezīmes par datu pārprojicēšanu/stumdīšanu un maskēšanu, kas vairāk orientētas uz lokalajām īpatnībam un […]