product-light.schema.json¶
レンズLight版のproducts[]に含まれる製品1件を検証します。
Full版と同じトップレベルのブロック名を使い、既存のWeb表示に必要なフィールドだけを保持します。
Full版からの生成規則¶
| 確認項目 | Light版の規則 |
|---|---|
| 製品 | Full版の全製品を同じ順序で保持する |
| トップレベルのフィールド | lenses名前空間のid、productTypeと製品種別ブロック名を変えない |
| オブジェクト | 不要なプロパティを省略できる |
| 値 | 保持した値と型を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-iiのlens.aperture
Light版は開放F値の2.8と測定条件をそのまま保持し、最小絞り、絞り機構、制御方式を省略します。
トップレベルのフィールド¶
idからphysicalまでの共通7フィールドは、すべて必須です。
加えて、productTypeに対応するlens、teleconverter、pinholeのいずれか一つだけを持ち、ほかの二つは含めません。
| パス | 型・値 | 説明 |
|---|---|---|
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フィールドも必須で、dimensionMeasurementsとweightMeasurementsを配列で記録する場合は1件以上必要です。
フィルター取付方式はtypeに対応する寸法フィールドだけを持ち、rear-gelatinのsheetDimensionsMmをオブジェクトで記録する場合はwidthとheightがどちらも必須です。
| パス | 型・値 | 説明 |
|---|---|---|
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直下では、focalLength、aperture、coverage、focus、stabilization、specializedが必須です。
apertureではfNumberが必須で、fNumberがオブジェクトの場合とtNumberを記録する場合はmaximumApertureが必要です。
maximumAperture、minimumFocusDistances、reproductionMagnificationsを配列で記録する場合は、それぞれ1件以上必要です。
focusではautofocus、manualFocus、minimumFocusDistances、reproductionMagnificationsが必須で、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版に存在するcinema、anamorphic、fisheye、macro、reflex、movements、probe、builtInTeleconverterの存在マーカー |
テレコンバーター¶
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を保持しません。
関連ページ¶
- product-full:対応するFull版の製品構造
- dataset-light:Light版の配布メタデータ
- レンズと関連光学製品のフィールドリファレンス:Full版とLight版の実データ比較