- درخواست HTTP
- پارامترهای پرس و جو
- درخواست بدنه
- بدنه پاسخ
- دامنههای مجوز
- توالی عکس
- جیپیاسسورس
- ایمو
- اندازهگیری سهبعدی
- وضعیت پردازش
- دلیل عدم موفقیت در پردازش
- جزئیات خرابی در پردازش
- جزئیات خرابی GPS ناکافی
- جزئیات خطای GpsDataGap
- جزئیات خطای ImuDataGapFailure
- جزئیات خرابی NotOutdoors
- جزئیات خطای NoOverlapGps
- LatLngBounds
- نوع ورودی
- امتحانش کن!
پس از اینکه کلاینت آپلود PhotoSequence را با UploadRef برگردانده شده به پایان رساند، photoSequence.create یک توالی ۳۶۰ عکسی از یک ویدیو یا Extensible Device Metadata (XDM, http://www.xdm.org/ ) استخراج میکند تا در Street View روی Google Maps منتشر شود.
photoSequence.create یک Operation برمیگرداند که در فیلد Operation.name شناسه PhotoSequence تنظیم شده است.
این متد کدهای خطای زیر را برمیگرداند:
- اگر درخواست ناقص باشد
google.rpc.Code.INVALID_ARGUMENT. - اگر مرجع آپلود وجود نداشته باشد،
google.rpc.Code.NOT_FOUND.
درخواست HTTP
POST https://streetviewpublish.googleapis.com/v1/photoSequence
این URL از سینتکس Transcoding در gRPC استفاده میکند.
پارامترهای پرس و جو
| پارامترها | |
|---|---|
inputType | الزامی. فرم ورودی |
درخواست بدنه
بدنه درخواست شامل یک نمونه از PhotoSequence است.
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ شامل یک نمونه تازه ایجاد شده از Operation است.
دامنههای مجوز
به محدوده OAuth زیر نیاز دارد:
-
https://www.googleapis.com/auth/streetviewpublish
برای اطلاعات بیشتر، بهOAuth 2.0 Overview .
توالی عکس
دنباله ای از ۳۶۰ عکس به همراه فراداده.
| نمایش JSON |
|---|
{ "id": string, "photos": [ { object ( |
| فیلدها | |
|---|---|
id | فقط خروجی. شناسه منحصر به فرد برای دنباله عکس. اگر آپلود به صورت ناهمزمان انجام شود، این شناسه همچنین به عنوان شناسه عملیات طولانی مدت عمل میکند. |
photos[] | فقط خروجی. عکسهایی با مهر زمانی افزایشی. |
uploadReference | فقط ورودی. هنگام ایجاد توالی عکس مورد نیاز است. نام منبعی که بایتهای توالی عکس (به شکل ویدیو) در آن آپلود میشوند. |
captureTimeOverride | اختیاری. زمان مطلق شروع ضبط دنباله عکس. اگر دنباله عکس یک ویدیو باشد، این زمان شروع ویدیو است. اگر این فیلد در ورودی پر شود، زمان ضبط در ویدیو یا فایل XDM را نادیده میگیرد. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
uploadTime | فقط خروجی. زمان ایجاد این توالی عکس در سرویس فروشگاه uSV. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
rawGpsTimeline[] | فقط ورودی. اندازهگیریهای خام GPS با مهرهای زمانی افزایشی از دستگاه که با هر عکس همگامسازی زمانی نشدهاند. این اندازهگیریهای خام برای استنباط حالت هر فریم استفاده میشوند. در ورودی زمانی که InputType روی VIDEO باشد و اندازهگیریهای خام GPS در مسیر فراداده حرکت دوربین (CAMM) نباشند، الزامی است. اگر اندازهگیریهای خام GPS هم در rawGpsTimeline و هم در مسیر فراداده حرکت دوربین (CAMM) ارائه شوند، کاربر میتواند با استفاده از gpsSource اولویت را مشخص کند. |
gpsSource | فقط ورودی. اگر هم rawGpsTimeline و هم Camera Motion Metadata Track (CAMM) حاوی اندازهگیریهای GPS باشند، مشخص کنید کدام یک اولویت دارد. |
imu | فقط ورودی. دادههای IMU سه محوره برای جمعآوری. اگر این دادهها برای قرار دادن در درخواست خیلی بزرگ باشند، باید در مسیر CAMM برای ویدیو قرار داده شوند. این دادهها همیشه بر دادههای CAMM معادل، در صورت وجود، اولویت دارند. |
processingState | فقط خروجی. وضعیت پردازش این دنباله. |
failureReason | فقط خروجی. اگر این توالی processingState = FAILED داشته باشد، این شامل دلیل عدم موفقیت آن خواهد بود. اگر processingState مقدار دیگری باشد، این فیلد تنظیم نشده خواهد بود. |
failureDetails | فقط خروجی. اگر این توالی دارای |
distanceMeters | فقط خروجی. فاصله محاسبه شده دنباله عکس بر حسب متر. |
sequenceBounds | فقط خروجی. یک کادر مستطیلی که تمام تصاویر این دنباله عکس را در بر میگیرد. |
viewCount | فقط خروجی. تعداد کل بازدیدهایی که تمام تصاویر منتشر شده در این PhotoSequence دریافت کردهاند. |
filename | فقط خروجی. نام فایل آپلود شده. شامل مسیر دایرکتوری نمیشود. فقط در صورتی در دسترس است که توالی در پلتفرمی آپلود شده باشد که نام فایل را ارائه میدهد. |
جیپیاسسورس
منبع اصلی اندازهگیریهای GPS.
| انومها | |
|---|---|
PHOTO_SEQUENCE | در صورت وجود، GPS در rawGpsTimeline اولویت دارد. |
CAMERA_MOTION_METADATA_TRACK | در صورت وجود، GPS در مسیر فراداده حرکت دوربین (CAMM) اولویت دارد. |
ایمو
دادههای IMU از حسگرهای دستگاه.
| نمایش JSON |
|---|
{ "accelMpsps": [ { object ( |
| فیلدها | |
|---|---|
accelMpsps[] | اندازهگیریهای شتابسنج بر حسب متر بر ثانیه^۲ با افزایش مهرهای زمانی دستگاهها. |
gyroRps[] | اندازهگیریهای ژیروسکوپ بر حسب رادیان بر ثانیه با افزایش مهرهای زمانی دستگاهها. |
magUt[] | اندازهگیریهای مغناطیسسنج میدان مغناطیسی بر حسب میکروتسلا (uT) با افزایش مهرهای زمانی دستگاهها. |
اندازهگیری سهبعدی
یک نمونه اندازهگیری سهبعدی عمومی.
| نمایش JSON |
|---|
{ "captureTime": string, "x": number, "y": number, "z": number } |
| فیلدها | |
|---|---|
captureTime | مهر زمانی اندازهگیری IMU. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
x | اندازهگیری سنسور در محور x. |
y | اندازهگیری سنسور در محور y. |
z | اندازهگیری سنسور در محور z. |
وضعیت پردازش
وضعیت پردازش دنباله. وضعیتها به شرح زیر تغییر میکنند:
+-------------------------+
| |
+---v---+ +----------+ +----+----+
|PENDING+-->PROCESSING+-->PROCESSED|
+---+---+ +----+-----+ +----+----+
| | |
| +--v---+ |
+-------->FAILED<---------+
+------+
این توالی ممکن است از هر حالتی به حالت ناموفق (FAILED) برود. علاوه بر این، یک توالی پردازش شده میتواند در هر زمانی دوباره پردازش شود.
| انومها | |
|---|---|
PROCESSING_STATE_UNSPECIFIED | حالت مشخص نشده است، این مقدار پیشفرض است. |
PENDING | پردازش توالی هنوز شروع نشده است. |
PROCESSING | این توالی در حال حاضر در حال پردازش است. |
PROCESSED | پردازش توالی، شامل اصلاح موقعیت، به پایان رسیده است. |
FAILED | پردازش توالی با شکست مواجه شد. برای جزئیات بیشتر به FailureReason مراجعه کنید. |
دلیل عدم موفقیت در پردازش
دلایل احتمالی عدم پردازش این PhotoSequence .
| انومها | |
|---|---|
PROCESSING_FAILURE_REASON_UNSPECIFIED | دلیل خطا مشخص نشده است، این مقدار پیشفرض است. |
LOW_RESOLUTION | وضوح فریم ویدیو خیلی کم است. |
DUPLICATE | این ویدیو قبلاً آپلود شده است. |
INSUFFICIENT_GPS | تعداد نقاط GPS خیلی کم است. |
NO_OVERLAP_GPS | هیچ همپوشانی بین بازه زمانی مسیر GPS و بازه زمانی ویدیو وجود ندارد. |
INVALID_GPS | GPS نامعتبر است (مثلاً تمام نقاط GPS در (0،0) هستند) |
FAILED_TO_REFINE_POSITIONS | توالی عکسها را نمیتوان به طور دقیق در جهان پیدا کرد. |
TAKEDOWN | این سکانس به دلایل سیاسی حذف شد. |
CORRUPT_VIDEO | فایل ویدیویی خراب بود یا رمزگشایی نمیشد. |
INTERNAL | یک نقص دائمی در سیستم زیربنایی رخ داده است. |
INVALID_VIDEO_FORMAT | فرمت ویدیو نامعتبر یا پشتیبانی نمیشود. |
INVALID_VIDEO_DIMENSIONS | نسبت ابعاد تصویر نامعتبر یافت شد. |
INVALID_CAPTURE_TIME | زمان ثبت نامعتبر است. مهرهای زمانی از آینده بودند. |
GPS_DATA_GAP | دادههای GPS حاوی فاصله زمانی بیش از ۵ ثانیه هستند. |
JUMPY_GPS | دادههای GPS برای پردازش بیش از حد نامنظم هستند. |
INVALID_IMU | دادههای IMU (شتابسنج، ژیروسکوپ و غیره) معتبر نیستند. ممکن است فیلدهای ضروری (x، y، z یا زمان) را نداشته باشند، ممکن است به درستی قالببندی نشده باشند، یا هر مشکل دیگری که مانع از تجزیه آنها توسط سیستمهای ما شود. |
INSUFFICIENT_IMU | امتیاز IMU خیلی کم است. |
INSUFFICIENT_OVERLAP_TIME_SERIES | همپوشانی ناکافی در بازه زمانی بین دادههای GPS، IMU و سایر دادههای سری زمانی. |
IMU_DATA_GAP | دادههای IMU (شتابسنج، ژیروسکوپ و غیره) حاوی فواصل زمانی بیش از 0.1 ثانیه هستند. |
UNSUPPORTED_CAMERA | دوربین پشتیبانی نمیشود. |
NOT_OUTDOORS | بعضی از قابها در فضای داخلی بودند که فاقد پایه است. |
INSUFFICIENT_VIDEO_FRAMES | فریمهای ویدیویی کافی نیست. |
INSUFFICIENT_MOVEMENT | دادههای متحرک کافی نیست. |
MAST_DOWN | دکل پایین است. |
CAMERA_COVERED | دوربین پوشیده شده است. |
جزئیات خرابی در پردازش
جزئیات بیشتر برای همراهی با شمارش ProcessingFailureReason. انتظار میرود این پیام همیشه همراه با ProcessingFailureReason استفاده شود و مقدار oneof که در این پیام تنظیم شده است باید با FailureReason مطابقت داشته باشد.
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
details فیلد Union. فقط یک مجموعه از جزئیات تنظیم میشود و باید با enum مربوطه در ProcessingFailureReason مطابقت داشته باشد. details فقط میتواند یکی از موارد زیر باشد: | |
insufficientGpsDetails | به جزئیات عدم موفقیت GPS ناکافی مراجعه کنید. |
gpsDataGapDetails | به جزئیات GpsDataGapFailureDetails مراجعه کنید. |
imuDataGapDetails | به جزئیات ImuDataGapFailureDetails مراجعه کنید. |
notOutdoorsDetails | به جزئیات شکست در فضای باز (NotOutdoorsFailureDetails) مراجعه کنید. |
noOverlapGpsDetails | به جزئیات عدم همپوشانی GPS مراجعه کنید. |
جزئیات خرابی GPS ناکافی
جزئیات مربوط به ProcessingFailureReason#INSUFFICIENT_GPS.
| نمایش JSON |
|---|
{ "gpsPointsFound": integer } |
| فیلدها | |
|---|---|
gpsPointsFound | تعداد نقاط GPS که در ویدیو پیدا شدند. |
جزئیات خطای GpsDataGap
جزئیات مربوط به ProcessingFailureReason#GPS_DATA_GAP. اگر چندین شکاف داده GPS وجود داشته باشد، فقط شکافی که بیشترین مدت زمان را دارد در اینجا گزارش میشود.
| نمایش JSON |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| فیلدها | |
|---|---|
gapDuration | مدت زمان شکاف موجود در دادههای GPS. مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
gapStartTime | زمان نسبی (از شروع پخش ویدئو) که شکاف شروع شده است. مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
جزئیات خطای ImuDataGapFailure
جزئیات مربوط به ProcessingFailureReason#IMU_DATA_GAP. اگر چندین شکاف داده IMU وجود داشته باشد، فقط شکافی که بیشترین مدت زمان را دارد در اینجا گزارش میشود.
| نمایش JSON |
|---|
{ "gapDuration": string, "gapStartTime": string } |
| فیلدها | |
|---|---|
gapDuration | مدت زمان شکاف موجود در دادههای IMU. مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
gapStartTime | زمان نسبی (از شروع پخش ویدئو) که شکاف شروع شده است. مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
جزئیات خرابی NotOutdoors
جزئیات مربوط به ProcessingFailureReason#NOT_OUTDOORS. اگر چندین فریم داخلی پیدا شود، اولین فریم در اینجا ثبت میشود.
| نمایش JSON |
|---|
{ "startTime": string } |
| فیلدها | |
|---|---|
startTime | زمان نسبی (از شروع پخش ویدیو) زمانی که یک فریم داخلی پیدا شده است. مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
جزئیات خطای NoOverlapGps
جزئیات مربوط به PhotoSequenceProcessingFailureReason#NO_OVERLAP_GPS.
| نمایش JSON |
|---|
{ "gpsStartTime": string, "gpsEndTime": string, "videoStartTime": string, "videoEndTime": string } |
| فیلدها | |
|---|---|
gpsStartTime | زمان اولین نقطه ثبت شده GPS. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
gpsEndTime | زمان آخرین نقطه ثبت شده GPS. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
videoStartTime | زمان شروع ویدیو. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
videoEndTime | زمان پایان ویدیو. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
LatLngBounds
مستطیل در مختصات جغرافیایی.
| نمایش JSON |
|---|
{ "southwest": { object ( |
| فیلدها | |
|---|---|
southwest | گوشه جنوب غربی این مرزها. |
northeast | گوشه شمال شرقی این مرزها. |
نوع ورودی
فرمهای ورودی PhotoSequence .
| انومها | |
|---|---|
INPUT_TYPE_UNSPECIFIED | مشخص نشده است. سرور google.rpc.Code.INVALID_ARGUMENT را برمیگرداند. |
VIDEO | ویدئوی ۳۶۰ درجه. |
XDM | فراداده دستگاه توسعهپذیر، http://www.xdm.org |