コンテンツにスキップ

product-light.schema.json

レンズLight版のproducts[]に含まれる製品1件を検証します。 Full版と同じトップレベルのブロック名を使い、既存のWeb表示に必要なフィールドだけを保持します。

Full版からの生成規則

確認項目 Light版の規則
製品 Full版の全製品を同じ順序で保持する
トップレベルのフィールド lenses名前空間のidproductTypeと製品種別ブロック名を変えない
オブジェクト 不要なプロパティを省略できる
保持した値と型をFull版から変更しない
配列 元の順序と要素数を保つ。最短撮影距離と最大撮影倍率だけは、後述の規則でFull版の要素を値を変えずに選ぶ

Light版だけの値は追加せず、範囲や代表値も新たに計算しません。 JSON Schemaは、Light版で許可する構造を検証します。 Full版との対応は、hatch run validateでも検証します。

Light版は生成ファイルです

dist/z-mount-lenses.light.jsonは直接編集しません。 保持フィールドを変更する場合は、既存のWeb表示との互換性も確認します。

Full版とLight版の実例

NIKKOR Z 24-70mm f/2.8 S IIのlens.apertureを例に、同じ値を保ったまま構造を小さくする方法を示します。 各コードは、対応する製品からlens.apertureだけを取り出した実データです。

参照元:dist/z-mount-lenses.full.json

参照箇所:製品ID nikkor-z-24-to-70mm-f2p8-s-iilens.aperture

{
  "fNumber": {
    "maximumAperture": [
      {
        "value": 2.8,
        "conditions": {}
      }
    ],
    "minimumAperture": [
      {
        "value": 22,
        "conditions": {}
      }
    ],
    "effective": null
  },
  "diaphragm": {
    "present": true,
    "bladeCount": 11,
    "bladeShape": "rounded"
  },
  "controlMechanism": "electronic"
}

参照元:dist/z-mount-lenses.light.json

参照箇所:製品ID nikkor-z-24-to-70mm-f2p8-s-iilens.aperture

{
  "fNumber": {
    "maximumAperture": [
      {
        "value": 2.8,
        "conditions": {}
      }
    ]
  }
}

Light版は開放F値の2.8と測定条件をそのまま保持し、最小絞り、絞り機構、制御方式を省略します。

トップレベルのフィールド

idからphysicalまでの共通7フィールドは、すべて必須です。 加えて、productTypeに対応するlensteleconverterpinholeのいずれか一つだけを持ち、ほかの二つは含めません。

パス 型・値 説明
id ID文字列 lenses名前空間でFull版と共有するスラッグ形式のID。文字列から製品情報を解析しない
productType lens / teleconverter / pinhole Full版と同じ製品種別
identity オブジェクト メーカーID、ブランドID、製品名
lifecycle lifecycle Full版と同じ発売発表日と公式の状態表記
officialProductPages オブジェクト[] 各公式製品ページのURLだけを保持した配列
mount mount 公式アダプターの情報を含む、Full版と同じマウント構造
physical オブジェクト 寸法、重量、フィルター取付方式
lens オブジェクト productType: "lens"のときに持つLight版のレンズ仕様
teleconverter オブジェクト productType: "teleconverter"のときに持つLight版のテレコンバーター仕様
pinhole オブジェクト productType: "pinhole"のときに持つLight版のピンホール仕様

共通の保持フィールド

identity直下の3フィールドと、officialProductPages[]各要素のurlは必須です。 physical直下の3フィールドも必須で、dimensionMeasurementsweightMeasurementsを配列で記録する場合は1件以上必要です。 フィルター取付方式はtypeに対応する寸法フィールドだけを持ち、rear-gelatinsheetDimensionsMmをオブジェクトで記録する場合はwidthheightがどちらも必須です。

パス 型・値 説明
identity.manufacturerId ID文字列 Full版と同じメーカーID
identity.brandId ID文字列 Full版と同じブランドID
identity.productName 文字列 Full版と同じ公式製品名
officialProductPages[].url HTTP(S) URL Full版の各公式製品ページURL。配列順と要素数を保つ
physical.dimensionMeasurements measurement[]またはnull Full版の寸法と測定条件
physical.weightMeasurements measurement[]またはnull Full版の重量と測定条件
physical.filterInterfaces interface[]またはnull フィルター取付方式と寸法。Full版のhostは省略する
physical.filterInterfaces[].type front-thread / rear-thread / drop-in / rear-gelatin フィルター取付方式
physical.filterInterfaces[].diameterMm 正数 前面または後部のねじ径mm
physical.filterInterfaces[].filterDiameterMm 正数 ドロップインフィルター径mm
physical.filterInterfaces[].sheetDimensionsMm オブジェクトまたはnull 後部ゼラチンフィルターの寸法
physical.filterInterfaces[].sheetDimensionsMm.width 正数 後部ゼラチンフィルターの幅mm
physical.filterInterfaces[].sheetDimensionsMm.height 正数 後部ゼラチンフィルターの高さmm

レンズ

lensでは、光学系の概要とWeb表示に使う存在情報を保持します。 lens直下では、focalLengthaperturecoveragefocusstabilizationspecializedが必須です。 apertureではfNumberが必須で、fNumberがオブジェクトの場合とtNumberを記録する場合はmaximumApertureが必要です。 maximumApertureminimumFocusDistancesreproductionMagnificationsを配列で記録する場合は、それぞれ1件以上必要です。 focusではautofocusmanualFocusminimumFocusDistancesreproductionMagnificationsが必須で、AF、MF、手ぶれ補正をオブジェクトで記録する場合はpresentが必須です。

パス 型・値 説明
lens.focalLength focalLengthまたはnull Full版の単焦点、ズーム範囲、交換構成
lens.aperture.fNumber オブジェクトまたはnull F値で公表された開放値
lens.aperture.fNumber.maximumAperture F値測定[]またはnull Full版の公称開放F値
lens.aperture.tNumber オブジェクト T値が適用できる製品の公称開放T値
lens.aperture.tNumber.maximumAperture T値測定[]またはnull Full版の公称開放T値
lens.coverage coverage Full版と同じ最大撮像フォーマット
lens.focus.autofocus オブジェクトまたはnull AFの確認状態
lens.focus.autofocus.present 真偽値 Full版で確認したAFの有無
lens.focus.manualFocus オブジェクトまたはnull MFの確認状態
lens.focus.manualFocus.present 真偽値 Full版で確認したMFの有無
lens.focus.minimumFocusDistances 撮影距離[]またはnull Full版でdistanceMが最小の要素。値を変えず、同値は元の順序ですべて保持する
lens.focus.reproductionMagnifications 撮影倍率[]またはnull Full版で撮影倍率が最大の要素。値を変えず、同値は元の順序ですべて保持する
lens.stabilization オブジェクトまたはnull レンズ内手ぶれ補正の確認状態
lens.stabilization.present 真偽値 Full版で確認したレンズ内手ぶれ補正の有無
lens.specialized.<category> {} Full版に存在するcinemaanamorphicfisheyemacroreflexmovementsprobebuiltInTeleconverterの存在マーカー

テレコンバーター

teleconverterの5フィールドはすべて必須です。 compatibleLensIdsを配列で記録する場合は、重複のないIDが1件以上必要です。

パス 型・値 説明
teleconverter.coverage coverage Full版と同じ最大撮像フォーマット
teleconverter.magnification 正数 Full版と同じ公称倍率
teleconverter.apertureLossStops 0以上の数値 Full版と同じ露出低下段数
teleconverter.supportsAutofocus 真偽値またはnull Full版と同じ対応レンズ装着時のAF対応
teleconverter.compatibleLensIds ID[]またはnull Full版と同じ対応レンズID

ピンホール

pinholeの3フィールドはすべて必須です。 imagingModesを配列で記録する場合は1件以上必要です。

パス 型・値 説明
pinhole.coverage coverage Full版と同じ最大撮像フォーマット
pinhole.focalLength オブジェクトまたはnull Full版と同じ固定焦点距離または可変範囲
pinhole.imagingModes mode[]またはnull Full版と同じ撮像方式、F値、開口情報

Light版のピンホール仕様には、Full版のpinhole.anglesOfViewを保持しません。

関連ページ

JSON Schemaファイル