Бештар

Gdal_retile.py гузоштани камбудиҳо дар мозаика

Gdal_retile.py гузоштани камбудиҳо дар мозаика


Ман кӯшиш мекунам, ки бо истифода аз gdal_retile.py аз ҷадвалҳои аэронавтикии VFR FAA мозаикаи бефосила созам. Ҳадафи ниҳоӣ хидматрасонии мозаика бо истифодаи васеъкунии ImagePyramid дар GeoServer мебошад. Бо вуҷуди ин, ман пас аз кор кардани gdal_retile.py камбудиҳо ва ҳамоҳангии мозаикаи натиҷаро мебинам ва боварӣ надорам, ки чӣ кор мекунам. Ман то ҳол барои GDAL ва дар маҷмӯъ GIS нисбатан нав ҳастам.

Барои содда кардани корҳо, ман кӯшиш мекунам, ки танҳо 2 расторро ба ҳам занам (ба ҷои ҳама 54):

Дар зер фармонҳое, ки ман истифода мекунам, агар шумо хоҳед, ки онҳоро иҷро кунед. Ман инро дар Ubuntu 14.04 богдал-бинвапитон-гдалбастаҳо насб карда шуданд.

1. Диаграммаҳоро зеркашӣ кунед:

Ин сохтори директорияи муваққатиро барои ҳамаи фармонҳои минбаъдаи зерин эҷод мекунад ва rasters аслиро барои Цинциннати ва Детройт зеркашӣ мекунад.

mkdir temp && cd temp диаграммаҳои mkdir && cd wget http://aeronav.faa.gov/content/aeronav/sectional_files/Detroit_90.zip unzip Detroit_90.zip wget http://aeronav.faa.gov/content/aeronf_section /Cincinnati_94.zip unzip Cincinnati_94.zip

2. Шаклҳои буришро зеркашӣ кунед:

Агар шумо ба диаграммаҳои аслӣ нигаред, шумо мебинед, ки дар атрофи атроф афсонаҳо мавҷуданд. Мо онҳоро ба мозаика дӯхта наметавонем, мо бояд онҳоро канда кунем. Ман шаклҳои буридани диаграммаҳои Цинциннати ва Детройтро дар Dropbox-и оммавии худ дорам (ки фармонҳои зер зеркашӣ карда мешаванд), аммо шумо метавонед онҳоро аз ин анбори github дастрас кунед: aviationCharts (зерибуридани Шаклҳо / секционӣдиректория; ин ҷое ки ман ибтидо шаклҳои буришро аз он гирифта будам, бинобар ин барои онҳое, ки ба jlmcgraw мегузаранд).

CD ... wget https://www.dropbox.com/s/2h2cyzkpih6dxpi/clippingShapes.zip буриданро буред ClippingShapes.zip

3. Рангҳоро ба RGB васеъ кунед:

Барои сохтани мозаика, доначаҳо бояд модели умумии ранг дошта бошанд, бинобар ин, ин ҳам то RGB васеъ мешавад.

gdal_translate -strict -of VRT -expand rgb "charts / Cincinnati SEC 94.tif" cincinnati_expanded.vrt gdal_translate -strict -of VRT -expand rgb "charts / Detroit SEC 90.tif" detroit_expanded.vrt

4. Афсонаҳоро зироат кунед ва ба EPSG танқид кунед: 3857:

Барои сохтани як мозаика, доначаҳо бояд ҳама як системаи координатаи умумӣ дошта бошанд. Растасҳои аслии аз ҷониби FAA пешниҳодшуда ҳар як ба системаи координатҳои маҳаллии худ муроҷиат мекунанд (онҳо ҳама Ламберт Конформ Коник мебошанд, аммо барои параллелҳои стандартӣ ва дарозии пайдоиш арзиши гуногун доранд). Ман оқибат бо истифодаи EPSG: 3857 ба мозаика хидмат хоҳам кард, аз ин рӯ ман инро дар ин ҷо истифода мекунам.

Ғайр аз таҳрир кардан, ин фармон инчунин шаклҳои буриши қаблан зеркашишударо барои решакан кардани афсонаҳо истифода мебарад.

gdalwarp -overwrite -t_srs EPSG: 3857-cliline clippingShapes / Cincinnati_SEC.shp -crop_to_cutline -dstalpha -of vrt -multi -wo NUM_THREADS = ALL_CPUS cincinnati_expanded.vrt cincinnatitwar_crout_crp_crops_crps_crps_services -crop_to_cutline -dstalpha -of vrt -multi -wo NUM_THREADS = ALL_CPUS detroit_expanded.vrt detroit_warped.vrt

5. Пирамидаи тасвириро созед:

Ин фармон сафолҳоро бо истифода аз сохтори директория / файл, ки аз ҷониби плагини ImagePyramid дар GeoServer талаб карда мешавад, месозад. Ин метавонад якчанд дақиқа давом кунад:

mkdir pyramid gdal_retile.py-сатҳи 4 -ps 2048 2048 -co "TILED = HES" -co "BLOCKXSIZE = 256" -co "BLOCKYSIZE = 256" -co "BLOCKYSIZE = 256" -s_srs EPSG: 3857 -targetDir pyramid vrt detroit_warped.vrt

Мутаассифона, мозаикаи бадастомада баъзе камбудиҳо дорад ва диаграммаҳо дуруст саф кашида нашудаанд. Аз ҷумла, агар шумо ба сафолҳои натиҷа назар кунедпирамида / цинциннати_06_01.тиф:

Аз миён фосилаи уфуқӣ мавҷуд аст (заминаи шашкабата, ки шаффоф аст) ва диаграммаҳо саф надоранд (дар байни ду ҷадвал майдони такрори вуҷуд дорад ва чунин ба назар мерасадgdal_retileнусхабардорӣ мекунад, ба ҷои он ки танҳо якеро интихоб кунад - масалан, фурудгоҳи RANDOLPH CO дар тарафи чап ду бор пайдо мешавад).

Чаро ин рух медиҳад?gdal_retileгумон аст, ки ҷадвалҳои такроршавандаро дастгирӣ кунад ва ман фикр мекунам, ки ман дигар талаботҳои дигарро қонеъ кардаам - ман чӣ кор мекунам?

Агар шумо бинедcincinnati_warped.vrtваdetroit_warped.vrt(файлҳои вуруди ман ғизо медиҳамgdal_retile.pyдар қадами охирин) дар QGIS, ҳеҷ фосила вуҷуд надорад - тасвирҳо хуб саф кашидаанд. Пас, оё ин масъала дар бораи он аст, ки ман чӣ гуна истифода мекунамgdal_retile, ё ягон намуди маҳдудият, ки ман ба он дучор меоям? Оё фармони дигаре ҳаст, ки ман барои ба даст овардани натиҷаи дилхоҳам истифода карда метавонам (ё фармони мавҷудаи худро танзим мекунам)?

Ман то ҳол барои GIS ва махсусан асбоби GDAL нисбатан нав ҳастам. Лоиҳаи дар боло зикршудаи github (aviationCharts) барои фаҳмидани ин ба ман кӯмаки калон расонд, аммо ман кӯшиш мекунам, ки каме дигар хел рафтор кунам (GeoServer + ImagePyramid, ба ҷои mbtiles) ва инчунин кӯшиш мекунам, ки равандро фаҳмам ва фаҳмам, ки чаро корҳо тавре ки ман фикр мекардам, кор намекунанд.