<\/HEAD>
あなたも増え続けるラスター データの量に悩んでいますか?私たちはそうです!例えば、AHNデータ:オランダの最新標高マップ。これをできるだけコスト効率よく保存しつつ、同時にウェブサービスとして迅速かつスケーラブルに提供するにはどうすればよいでしょうか。これは取り組むのが挑戦的なパズルですが、学びも多く、新たな洞察をもたらします。この記事を通じて得られた洞察を喜んで共有します。<\/SPAN><\/P> <\/SPAN><\/P>オランダの最新標高データセット(AHN)には複数の版があります。現在、オランダ政府は第3版、すなわちAHN3(複数年にわたる)を取得しています。オランダの複数の地域はすでに利用可能で、今後数年で残りの地域も続きます。毎年データが増え、気づけば数GBからTB単位のデータ量になります。<\/SPAN><\/P> <\/SPAN><\/P>私たちはこのAHNのラスターを賢く保存する方法を探していました。その過程でMeta Raster Format(MRF)に出会いました。これはNASAが考案したラスター形式で、Esriがウェブやクラウドインフラ経由でラスターを配信するために使用しています。<\/SPAN><\/P> <\/SPAN><\/P>MRFでは従来のラスターのいくつかの部分を分割して別々のファイルにし、データを論理的に整理します。インデックスファイルによってラスター ピクセルのサイズや幾何学的配置が保存され、メタデータファイルは行数や列数、データ型、タイル構成(tiling)、投影法など重要な情報を示します。これによりラスター全体を読み込んだり送信したりする必要がなくなります。この技術のおかげで異なるタイプのファイルを分離し、異なるストレージボリュームに配置することも可能です。スケーリングには便利です。例えばインデックスファイルとメタデータファイルは高速SSDに置き、データファイルは遅いディスクに置くことができます。インデックスファイルによってどのデータファイルを問い合わせるべきか素早く判断でき、メタデータファイルはそれらを空間内でどのように解釈・配置するかを示します。これによりパフォーマンスは維持されつつ、高速ストレージにすべてのファイルを置く必要がなくなりコスト削減につながります。<\/SPAN><\/P> <\/SPAN><\/P>
<\/SPAN><\/P><\/P>MRFファイル形式に加えて、私たちは比較的新しい圧縮方法も使用しました。圧縮では通常ファイルサイズが小さくなりますが、ウェブ経由でデータ配信する場合は毎回展開しなければならず、それが負担になります。JPEG2000、PNG、Deflate、LZWなど現在の技術はMRFと組み合わせて使えますが、容量削減やCPU使用率に関して欠点があります。EsriはLimited Error Raster Compression(LERC)という新しい圧縮方式を開発しました。LERCは高速な圧縮・解凍と低CPU使用率を実現するために特化しています。LERCは「Lossless」(ラスター ピクセルを変更しない)と「Lossy」(最適圧縮のためピクセル値を変更)の両方で使えます。許容誤差をゼロに設定するとロスレス圧縮になり、それ以上だとロッシー圧縮になります。私たちはAHNに対して許容誤差0.01mで後者を適用しました。これにより各セル値は統計的誤差範囲内(AHN2/3では5cm)に収まりつつ、非圧縮GeoTIFFと比べ約5〜7倍、LZW圧縮GeoTIFFと比べ約3〜4倍の圧縮率を達成しました。当然さらに小さくすることも可能ですが、その場合ピクセル値が変動しAHNには望ましくありません。<\/SPAN><\/P> <\/SPAN><\/P>長話はさておき…次の表が保存容量について明確に示しています:<\/SPAN><\/P> <\/SPAN><\/P> <\/P><\/TD>GeoTIFFとして保存(圧縮なし)<\/P><\/TD>LZW圧縮付きGeoTIFFとして保存<\/SPAN><\/P> <\/SPAN><\/P><\/TD>LERC圧縮付きMRFとして保存<\/P><\/TD><\/TR>AHN2 i<\/P><\/TD>408<\/> GB<\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> <\/> </ P > </ TD > < TD style = "border - top : none ; border - left : none ; border - bottom : one pt solid windowtext ; border - right : one pt solid windowtext ; padding : zero in five point four pt ; height : twenty five px ; width : one hundred seventy five " > < P style = " margin : zero in ; margin - bottom : zero point zero zero zero one pt ; " > < SPAN > two hundred seventy two GB & nbsp ; </ SPAN > </ P > </ TD > < TD style = "border - top : none ; border - left : none ; border - bottom : one pt solid windowtext ; border - right : one pt solid windowtext ; padding : zero in five point four pt ; height : twenty five px ; width : two hundred ten " > < P style = " margin : zero in ; margin - bottom : zero point zero zero zero one pt ; " > seventy two point seven GB </ P > </ TD > </ TR > < TR style = " height : twenty five px ; " > < TD style = " border - right : one pt solid windowtext ; border - bottom : one pt solid windowtext ; border - left : one pt solid windowtext ; border - image : initial ; border - top : none ; padding : zero in five point four pt ; height : twenty five px ; width : two hundred forty five " > < P style = " margin : zero in ; margin - bottom : zero point zero zero zero one pt ; " > AHN2 r </ P > </ TD > < TD style = " border - top : none ; border - left : none ; border - bottom : one pt solid windowtext ; border - right : one pt solid windowtext ; padding : zero in five point four pt ; height : twenty five px ; width : one hundred seventy five " > < P style = " margin : zero in ; margin - bottom : zero point zero zero zero one pt ; " > four hundred sixty five GB (推定) </ P > </ TD > < TD style = " border - top : none ; border - left : none ; border - bottom : one pt solid windowtext ; border - right : one pt solid windowtext ; padding : zero in five point four pt ; height : twenty five px ; width : one hundred seventy five " > < P style = " margin : zero in ; margin - bottom : zero point zero zero zero one pt ; " > three hundred sixteen GB </ P > </ TD > < TD style = " border - top : none ; border - left : none ; border - bottom : one pt solid windowtext ; border - right : one pt solid windowtext ; padding : zero in five point four pt ; height : twenty five px ; width : two hundred ten " > < P style = " margin : zero in ; margin - bottom : zero point zero zero zero one pt ; " > ninety seven point one GB </ P > </ TD > </ TR >< TR style = " height : fifty px ; " >< TD style = " border - right : one pt solid windowtext ; border - bottom : one pt solid windowtext ; border - left : one pt solid windowtext ; border - image : initial ; border - top:none;padding=zero in five point four pt;height=fifty px;width=two hundred forty five ">< P style = " margin=zero in;margin-bottom=.0001pt">AHN3 i (オランダ向け約70%完成)< / P >< / TD >< TD style = "border-top:none;border-left:none;border-bottom=one ptsolidwindowtext;border-right=one ptsolidwindowtext;padding=zero infive.pointfour.pt;height=fifty px;width=one hundred seventy five ">< Pstyle= 1pt solid windowtext; padding: 0in 5.4pt; height: 50px;" width="175">276 GB
61,1 GB
MRF と LERC に関する詳細については、Esri Inc. の画像製品マネージャーである Peter Becker の 記事 をご覧ください。