一目で分かる旅行記録
写真は,画素コンテンツとメタデータの両方を含むファイルとして保存することができる.Importを使ってメタデータを入手し,写真のコンテキストについてプログラム可能な内容を発見することができる.
リスボン旅行の際に撮った写真をインポートして分析する.
In[1]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_17.png)
files = Map[img \[Function] ExampleData[img, "FilePath"],
ExampleData[{"TestImageSet", "Lisbon2016"}]];
画像の日付ヒストグラムを見る:
In[2]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_18.png)
dates = Map[file \[Function] Import[file, "DateTime"], files];
In[3]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_19.png)
DateHistogram[dates, Quantity[1, "Hours"]]
Out[3]=
![](assets.ja/a-trip-at-a-glance/O_11.png)
サムネイルのコラージュを見る:
In[4]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_20.png)
thumbnails =
ExampleData[{"TestImageSet", "Lisbon2016"}, "ThumbnailList"];
In[5]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_21.png)
ImageCollage[thumbnails, Method -> "Columns", ImagePadding -> 2]
Out[5]=
![](assets.ja/a-trip-at-a-glance/O_12.png)
写真をタイムラインに並べる.
In[6]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_22.png)
TimelinePlot[MapThread[Labeled, {dates, thumbnails}],
PlotLayout -> "Vertical", ImageSize -> Medium]
Out[6]=
![](assets.ja/a-trip-at-a-glance/O_13.png)
データ集合中のすべての情報を集める.
In[7]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_23.png)
gps = Map[file \[Function] Import[file, "GeoPosition"], files];
In[8]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_24.png)
ds = Dataset[
MapThread[
AssociationThread[{"Thumbnail", "DateTime",
"GeoPosition"} -> {##}] &, {thumbnails, dates, gps}]]
Out[8]=
![](assets.ja/a-trip-at-a-glance/O_14.png)
写真が撮られた場所を表示する.
In[9]:=
![Click for copyable input](assets.ja/a-trip-at-a-glance/In_25.png)
GeoGraphics[
MapThread[
GeoMarker, {Normal[ds[All, "GeoPosition"]],
Normal[ds[All, "Thumbnail"]]}], ImageSize -> Medium]
Out[9]=
![](assets.ja/a-trip-at-a-glance/O_15.png)