سوالات عمومی
من یک مشکل دارم، به کمک نیاز دارم!
به دنبال این راهنما سؤالی ارسال کنید و تا حد امکان اطلاعات بیشتری ارائه دهید ( راهنمای Stack Overflow برای پرسیدن سؤالات خوب را ببینید). این معمولاً به این معنی است:
ارسال پیوند به یک اسکریپت در ویرایشگر کد (برای دریافت آن روی دکمه «دریافت پیوند» کلیک کنید)
به اشتراک گذاری هر گونه دارایی مورد نیاز برای اجرای اسکریپت
برای کارهای دسته ای ناموفق، شناسه کار ناموفق را گزارش کنید. شناسه کار به این شکل است:
4C25GIJBMB52PXTEJTF4JLGL
. آنها را می توان در تب Task در ویرایشگر کد پیدا کرد. بیشتر بدانید .
کجا می توانم در مورد معماری Earth Engine مطالعه کنم؟
این مقاله را ببینید: Gorelick et al. 2017 .
آیا هیچ آموزش توصیه شده Earth Engine وجود دارد که توسط Google ایجاد نشده باشد؟
صفحات EDU و Training Resources را ببینید.
آیا هیچ آموزش سنجش از راه دور توصیه شده ای وجود دارد؟
این دوره رایگان EE توسط Ujaval Gandhi را ببینید که شامل یک ویدیو با مقدمه ای بر سنجش از دور است.
برنامه نویسی موتور زمین
برخی از خطاهای رایج کدنویسی چیست؟
راهنمای رفع اشکال را ببینید.
چرا نمی توانم از ریاضیات پایه مانند ee.Image("image") * 2
استفاده کنم؟
در EE شما نباید اشیا یا عملیات سمت سرور و سمت سرویس گیرنده را با هم ترکیب کنید. تمام عملیات روی اشیاء EE در سمت سرور انجام می شود. هر گونه محاسبات سمت مشتری، کاری را که شما قصد انجام آن را دارید انجام نمی دهد. برای جزئیات بیشتر به این صفحه مراجعه کنید.
چگونه می توانم for
حلقه ها یا دستورات if/else
استفاده کنم؟
برنامه نویسی Earth Engine با استفاده از یک زبان تابعی انجام می شود، بنابراین حلقه ها و عملیات شرطی باید با استفاده از مفاهیم معادل مانند map
یا filter
بیان شوند. برای جزئیات بیشتر به این صفحه مراجعه کنید.
چگونه می توانم برچسب های متنی را در تصویر یا ویدیوی خود نشان دهم؟
هیچ پشتیبانی داخلی برای برچسب های متنی وجود ندارد، اما می توانید:
- از بسته JS شخص ثالث استفاده کنید. نمونه را ببینید
- از geemap بسته Python شخص ثالث استفاده کنید.
- از آوردن تصاویر EE با استفاده از افزونه EE QGIS از QGIS استفاده کنید
آیا می توانم از چند پالت رنگ استاندارد استفاده کنم؟
از پالتهای الکترونیکی بسته JS شخص ثالث استفاده کنید.
چگونه می توانم وب سایت خود را ایجاد کنم که از Earth Engine استفاده می کند؟
از برنامه های Earth Engine برای برنامه های اصلی استفاده کنید. در موارد پیچیدهتر، میتوانید برنامههای App Engine مبتنی بر EE را بسازید .
شناسه های نقشه چگونه کار می کنند؟
شناسههای نقشه (به نام mapid
در سراسر API) کلیدهایی هستند که به مشتریان اجازه میدهند تا کاشیهای نقشه را واکشی کنند. هر شناسه یک هش است که با ارائه یک عبارت تصویر به نقطه پایانی getMapId
ایجاد می شود. شناسههای بهدستآمده کلیدهایی هستند که هم به بیان تصویر و هم به اعتبار کاربری اشاره میکنند که برای تولید کاشیها در مرحله بعد استفاده میشود.
درخواست کاشی های نقشه شامل تعیین مکان کاشی ( x
، y
، zoom
) و همچنین mapid
(کلید تصویر و اعتبار) است. از همان شناسه می توان برای بارگذاری بسیاری از کاشی های نقشه استفاده مجدد کرد. هیچ محدودیتی برای استفاده مجدد از کلیدهای mapid
وجود ندارد، اما پس از چند ساعت منقضی می شود. ما بازههای زمانی خاصی را درباره مدت زمان ماندگاری آنها منتشر نمیکنیم، اما هر کدی که مینویسید باید در برابر انقضای شناسه مقاوم باشد.
ایجاد این شناسه ها شامل ذخیره مقدار کمی از داده ها و اعتبارسنجی اعتبار است، بنابراین بهتر است تا زمانی که ممکن است دوباره از آنها استفاده کنید. هیچ سهمیه API به طور خاص با نقطه پایانی getMapId
مرتبط نیست، اما هر گردش کاری که شامل ایجاد اشیاء mapid
با سرعتی نزدیک به نرخ واکشی کاشیها باشد، احتمالاً کار اشتباهی انجام میدهد. Earth Engine هیچ نقطه پایانی API برای حذف، فهرست یا مدیریت این شناسهها ندارد، زیرا اینها منابع گذرا هستند.
چرا ee.Algorithms.If()
هر دو حالت true و false را چاپ می کند؟
function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());
الگوریتم If()
درست مانند هر الگوریتم دیگری در Earth Engine کار میکند، زیرا تمام آرگومانهای آن باید قبل از اجرای خود الگوریتم ارزیابی شوند. الگوریتم هر دو نتایج trueCase
و falseCase
را دریافت میکند و سپس یکی را بر اساس آرگومان condition
انتخاب میکند و برمیگرداند، اما هر دو مسیر باید اجرا میشد تا آن مقادیر در وهله اول به الگوریتم منتقل شوند.
من خطای "درخواست حجم محموله از حد مجاز بیشتر است" دریافت می کنم
شما در حال تلاش برای ارسال یک درخواست بسیار بزرگ به Earth Engine هستید. این معمولاً زمانی اتفاق میافتد که کد از حلقههای «for» زیادی در سمت کلاینت استفاده میکند یا یک FeatureCollection از بسیاری از اشیاء هندسی میسازد. در مورد دوم، به جای ایجاد چنین هندسههایی در اسکریپت خود، یک فایل CSV حاوی آنها ایجاد کنید و آن را در یک دارایی جدول آپلود کنید .
تفاوت بین ee.Image.clip()
و ee.Filter.bounds()
چیست؟
این موضوع GIS Stack Exchange را ببینید. تابع ee.Image.clip()
پیکسل هایی را که یک ee.Geometry
یا ee.Feature
معین را قطع نمی کنند، پنهان می کند و آنها را در تجسم ها شفاف می کند و در محاسبات حذف می شود. شما می توانید آن را به عنوان برش دادن پیکسل ها از یک تصویر تصور کنید.
تابع ee.Filter.bounds()
اشیاء ee.Image
را از یک ee.ImageCollection
بر اساس تقاطع تصویر با ee.Geometry
یا ee.Feature
فیلتر می کند. برای محدود کردن دامنه تجزیه و تحلیل فقط به تصاویری استفاده می شود که یک منطقه معین را قطع می کنند، که به بهینه سازی عبارات کمک می کند .
چگونه پیکسل های تصویر را با یک ویژگی در هر پیکسل به مجموعه های ویژگی تبدیل کنیم؟
از تابع ee.Image.sample()
استفاده کنید. نمونههای استفاده را در صفحه مرجع API تابع مشاهده کنید.
تفاوت بین ee.ImageCollection.merge()
و ee.ImageCollection.combine()
چیست؟
تابع ee.ImageCollection.merge()
تمام تصاویر را از دو مجموعه در یک مجموعه ادغام می کند، صرف نظر از اینکه آیا تصاویر مربوطه دارای باند، ابرداده، CRS یا مقیاس همزمان هستند یا خیر. این ترکیب دو مجموعه است. متد combine()
باندهای تصاویر منطبق از دو مجموعه را در یک مجموعه واحد ترکیب می کند. تصاویر منطبق دارای شناسه یکسانی هستند ( system:index
). این یک پیوست داخلی از دو مجموعه بر اساس شناسه تصویر است که در آن نوارهایی از تصاویر منطبق ترکیب می شوند. برای تطبیق تصاویر، نوارهایی از تصویر ثانویه به تصویر اصلی اضافه می شوند (بازنویسی اختیاری است). اگر هیچ تصویر منطبقی وجود نداشته باشد، یک مجموعه خالی برگردانده می شود.
چگونه مجموعه تصاویر را در بازه های زمانی متعدد فیلتر کنیم؟
این موضوع GIS Stack Exchange را ببینید. یا چندین مجموعه را با هم merge()
یا از ee.Filter.or()
استفاده کنید.
چگونه می توان یک جعبه مرزی در اطراف یک نقطه مشخص ایجاد کرد؟
// Buffer the point by a chosen radius and then get the bounding box.
var LNG = -117.298;
var LAT = 45.162;
var point = ee.Geometry.Point([LNG, LAT]);
var buffer = point.buffer(30000); // half of box width as buffer input
var box = buffer.bounds(); // draw a bounding box around the buffered point
Map.centerObject(box);
Map.addLayer(point);
Map.addLayer(box);
// Map the buffer and bounds procedure over a point feature collection.
var pointCol = ee.FeatureCollection([
ee.Feature(ee.Geometry.Point([LNG + 1, LAT])),
ee.Feature(ee.Geometry.Point([LNG - 1, LAT]))
]);
var boxCol = pointCol.map(function(feature) {
var box = feature.buffer(30000).bounds();
return feature.setGeometry(box.geometry());
});
Map.addLayer(boxCol);
کاتالوگ داده ها
آیا می توانید مجموعه داده X را اضافه کنید؟
یک اشکال درخواست مجموعه داده را با پیروی از راهنمای درخواست مجموعه ارائه کنید.
همچنین می توانید داده ها را در پوشه اصلی Earth Engine خود آپلود کنید. وارد کردن داده های شطرنجی و وارد کردن داده های جدول را ببینید.
یک مجموعه داده موجود دارای یک نسخه جدید است
یک اشکال مجموعه داده را با پیروی از راهنمای درخواست مجموعه داده ، ثبت کنید و نشان دهید که درخواست بهروزرسانی مجموعه دادهها را دارید.
یک مجموعه داده موجود بهروزرسانی نشده است یا داراییهای موجود نیست
قبل از گزارش مشکل، در صورت امکان بررسی کنید که دارایی های انتخاب شده واقعاً در سایت ارائه دهنده مجموعه داده وجود دارد. برای جزئیات بیشتر به راهنمای تصاویر گم شده مراجعه کنید.
اگر با فیلتر کردن ImageCollection
به دنبال دارایی هستید، مطمئن شوید که فیلترهای شما خیلی محدود کننده نیستند.
به ویژه توجه داشته باشید که:
Sentinel-2 SR (داده های سطح 2) توسط ESA برای صحنه های اولیه سطح 1 تولید نشد.
لندست قبل از سال 2000 پوشش جهانی ندارد.
یک مجموعه داده موجود دارای مقادیر اشتباه است
در انجمن توسعه دهندگان پست کنید . یک اسکریپت اضافه کنید که به وضوح اصلی دارایی زوم کند و مشخص کند که چه مقادیری اشتباه هستند. توضیح دهید که دقیقاً کجا مقدار جایگزین را مشاهده کرده اید.
از کجا می توانم درباره مجموعه داده ها سوال کنم؟
برای سؤالات درباره مجموعه داده های ناسا، به انجمن داده های زمین ناسا مراجعه کنید.
برای سؤالات در مورد جعبه ابزارهای فعال در مجموعه داده های Copernicus، به انجمن های S1 ، S2 و S3 مراجعه کنید.
اندازه کاتالوگ EE چقدر است؟
از اکتبر 2023، کاتالوگ شامل بیش از 1000 مجموعه داده است. اندازه آن روی دیسک بیش از 90 پتابایت است (پس از در نظر گرفتن فشرده سازی بدون تلفات).
داده ها در EE هر چند وقت یکبار به روز می شوند؟
به طور معمول، همه مجموعه دادههای در حال انجام حداقل روزانه بهروزرسانی میشوند (اگرچه همه این مجموعههای داده هر روز دادههای جدیدی ندارند). برخی از مجموعه داده ها چندین بار در روز به روز می شوند. با این حال، هیچ خط مشی برای اطمینان از حضور جدیدترین دارایی ها در کاتالوگ وجود ندارد.
چگونه می توانم محتویات کاتالوگ EE را به صورت برنامه ریزی شده مشاهده کنم؟
فهرست مجموعه دادهها در قالب STAC به یک سطل ذخیرهسازی ابری Google gs://earthengine-stac
صادر میشود. فایل ورودی catalog.json است.
آیا می توانم از داده ها یا تصاویر Google Maps برای تجزیه و تحلیل استفاده کنم؟
Google داده های نقشه پایه را برای تجزیه و تحلیل مجوز نمی دهد یا نمی فروشد.
چگونه می توانم تاریخ مصرف یک دارایی را پیدا کنم؟
ویژگی دارایی 'system:version'
مهر زمانی است که از زمان یونیکس به صورت میکروثانیه قالببندی شده است. در اینجا مثالی آورده شده است که مهر زمانی یک تصویر Landsat را به یک قالب قابل خواندن توسط انسان تبدیل می کند.
var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));
آیا کاتالوگ Earth Engine دارای فراداده JSON-LD است؟
بله، فراداده JSON-LD در صفحات HTML کاتالوگ جاسازی شده است. به عنوان مثال، صفحه Sentinel-2 شامل بلوک زیر است:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Earth Engine Data Catalog",
"item": "https://developers.google.com/earth-engine/datasets"
},{
"@type": "ListItem",
"position": 2,
"name": "Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
"item": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED"
}]
}
</script>
لندست
الگوریتم simpleComposite
چگونه پیاده سازی می شود؟
اجرای سمت سرور معادل این کد جاوا اسکریپت است.
چگونه می توانم کامپوزیت های بدون ابر را از داده های بازتاب سطح Landsat ایجاد کنم؟
داده های سطح 2 (بازتاب سطح) Landsat دارای چندین باند با کیفیت هستند که می توانند برای پوشاندن ابرها و سایر مصنوعات تصویر ناخواسته استفاده شوند. نمونه ای از استفاده از این باندها برای پردازش تصاویر Landsat 8 SR و ایجاد یک کامپوزیت متوسط بدون ابر در این پست GIS Stack Exchange ارائه شده است. از همین رویه برای ساختن یک ترکیب بدون ابر برای استفاده در نمونههای طبقهبندی نظارت شده در راهنمای توسعهدهنده استفاده میشود.
آیا هماهنگی بازتاب سطح لندست با سنسور متقاطع مورد نیاز است؟
روی و همکاران، 2016 تجزیه و تحلیلی از تفاوت های بازتابی بین Landsat 7-8 TOA و بازتاب سطحی را شامل شدند. آنها ضرایب OLS و RMA را منتشر کردند تا خوانندگان بتوانند مقادیر بازتاب داده های یک حسگر را به دیگری تبدیل کنند. خط پایانی مقاله میگوید: «اگرچه تفاوتهای حسگر بسیار کوچک هستند، اما بسته به کاربرد دادههای Landsat ممکن است تأثیر قابلتوجهی داشته باشند». با این حال، این تجزیه و تحلیل بر اساس داده های پیش جمع آوری بود.
بهبودهای انجام شده در طول پردازش مجدد مجموعه 1 و مجموعه 2 ممکن است بر رابطه بین حسگرها تأثیر بگذارد، اما تا آنجا که می دانیم، هیچ تحلیلی مشابه روی و همکاران وجود نداشته است. (2016) برای داده های مجموعه 1 یا مجموعه 2. علیرغم هیچ تحلیل رسمی، به نظر میرسد در میان کاربران تأثیرگذار Landsat اتفاق نظر وجود دارد که هیچ اصلاحی برای دادههای مجموعه 2، سطح 2 (بازتاب سطح) مورد نیاز نیست. به عنوان مثال، مایک ولدر از تیم علمی Landsat در پاسخ به سؤالی در مورد نیاز به هماهنگی سطح 2 مجموعه 2 خاطرنشان کرد که بسته به ماهیت کاربرد مورد علاقه (از جمله نقشه برداری پوشش زمین و تشخیص تغییر)، محصولات بازتاب سطحی مجموعه 2 بسیار مناسب و قابل اعتماد هستند، بدون نیاز به تنظیم سنسور متقاطع.
چگونه می توانم ابرها و سایه های ابری را در تصاویر MSS پنهان کنم؟
ماژول msslib شخص ثالث برای ویرایشگر کد جاوا اسکریپت شامل اجرای الگوریتم MSScvm و همچنین سایر عملکردهای مفید برای کاوش و آماده سازی داده های MSS است.
مدیریت داده ها
داده هایی که من آپلود می کنم متعلق به چه کسی است؟
طبق شرایط خدمات Earth Engine، مشتریان مالک دادههایی هستند که در Earth Engine آپلود میکنند.
من نمی توانم اطلاعات را آپلود کنم!
وضعیت کار آپلود را در قسمت Tasks در گوشه سمت راست بالای ویرایشگر کد بررسی کنید. همچنین می توانید صفحه کار اختصاصی را مشاهده کنید.
اگر وظیفه ای وجود ندارد، احتمالاً سعی کرده اید فایل خود را از طریق ویرایشگر کد آپلود کنید، اما به دلیل مشکل شبکه، بارگذاری فایل هرگز تمام نشد، بنابراین کار هرگز ایجاد نشد. سعی کنید از مرورگر دیگری یا رایانه دیگری استفاده کنید.
اگر کار ناموفقی وجود دارد، خطای نشان داده شده را بررسی کنید. اگر پیغام خطای خاصی وجود ندارد، ابتدا با اجرای gdalinfo
برای فایل های شطرنجی یا ogr2ogr
برای فایل های برداری بررسی کنید که فایل شما خراب نیست. این دستورات سعی می کنند تمام داده ها را از فایل های منبع بخوانند و در صورت خراب بودن فایل ها خطاها را نمایش دهند.
نمونه تماس gdalinfo:
gdalinfo -mm -stats -checksum file.tif
نمونه تماس ogr2ogr که in.shp
به out.csv
تبدیل می کند:
ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp
اگر فایل معتبر به نظر میرسد، شناسه وظیفه ناموفق را بهعنوان متن (نه بهعنوان عکس صفحه) در لیست پستی توسعهدهندگان پست کنید. شناسه های کار دارای این قالب هستند: 4C25GIJBMB52PXTEJTF4JLGL
. در صورت امکان فایل منبع خود را برای عموم قابل خواندن قرار دهید. اگر یک فایل خصوصی است، آن را فقط با earthengine@google.com
به اشتراک بگذارید اگر مایلید تیم Earth Engine آن را بررسی کند. اگر امکان اشتراک گذاری فایل منبع وجود ندارد، حداقل خروجی gdalinfo -mm -stats -checksum
ارائه دهید.
اگر Earth Engine از طرح ریزی خاصی پشتیبانی نمی کند، باید قبل از آپلود با استفاده از مثلاً gdalwarp
، داده ها را دوباره پرتاب کنید.
چگونه یک فایل را در NetCDF یا فرمت شطرنجی پشتیبانی نشده دیگر آپلود کنم؟
فقط GeoTIFF ها را می توان در Earth Engine آپلود کرد. سایر قالبهای سازگار با GDAL را میتوان با استفاده از gdal_translate
به GeoTIFF تبدیل کرد. مثال:
gdal_translate -co COMPRESS=DEFLATE file.nc file.tif
توجه داشته باشید که برخی از فایلهای NetCDF یا HDF از چندین زیر مجموعه داده تشکیل شدهاند که میتوان آنها را با gdalinfo
کشف کرد. دستور gdal_translate
در این مورد به این صورت خواهد بود (به مسیر بین دو گیومه توجه کنید):
gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif
فایل های NetCDF گاهی اوقات تصویری را ندارند که GDAL تشخیص دهد. در این مورد، شما نیاز دارید که نمایش و وسعت فضایی را در خط فرمان gdal_translate
تنظیم کنید. مثال:
gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid
از چه الگوریتم های فشرده سازی می توانم برای GeoTIFF های آپلود شده استفاده کنم؟
برای آپلود، GeoTIFF ها را می توان با DEFLATE، JPEG، JPEG-XL/JXL، LERC، LERC_DEFLATE، LERC_ZSTD، LZMA، LZW، WEBP یا ZSTD فشرده کرد. برای خواندن زنده COG، می توانید از DEFLATE، JPEG، LZW یا ZSTD استفاده کنید. ZSTD یک انتخاب کلی خوب است زیرا به سرعت از حالت فشرده خارج می شود و در عین حال فشرده سازی خوبی از اکثر تصاویر ارائه می دهد.
برای اعمال فشرده سازی ZSTD هنگام استفاده از gdal_translate
، این گزینه ها را اضافه کنید. اگر داده ها دارای مقادیر ممیز شناور هستند، PREDICTOR
به 3 تغییر دهید.
gdal_translate in.tif out.tif \
-co COPY_SRC_OVERVIEWS=YES \
-co TILED=YES \
-co BLOCKXSIZE=512 \
-co BLOCKYSIZE=512 \
-co COMPRESS=ZSTD \
-co PREDICTOR=2 \
-co ZSTD_LEVEL=22 \
-co INTERLEAVE=BAND \
-co NUM_THREADS=ALL_CPUS
مصرف شطرنجی من چند روزی است که اجرا می شود و تمام نشده است.
با استفاده از gdalinfo
، بررسی کنید که آیا فایل شما دارای گزینه GDAL زیر است: INTERLEAVE=PIXEL
. برای فایلهای دارای این گزینه و بسیاری از باندها، انتقال ممکن است هرگز تمام نشود، زیرا طرحبندی چنین فایلهایی خواندن را بسیار کند میکند.
قبل از آپلود، سعی کنید چنین فایلهایی را به طرحبندی باندی تبدیل کنید:
gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif
رسترهای آپلود شده من با نقشه پایه مطابقت ندارد.
اگر دادهها کمی از نقشه پایه فاصله داشته باشند، احتمالاً پیشبینی دادهها دارای یک داده نادرست است (فرض در مورد شکل زمین). این اغلب با طرح ریزی سینوسی اتفاق می افتد که نمی تواند به طور کامل در ابرداده GDAL رمزگذاری شود. هنگامی که می دانید طرح هدف باید چه باشد (به عنوان مثال، SR-ORG:6974
برای فایل هایی که از طرح ریزی سینوسی MODIS استفاده می کنند)، پرچم --crs
را در حین بارگذاری خط فرمان یا فیلد crs
مانیفست آپلود را تنظیم کنید.
اگر داده ها به شدت تحریف شده یا در مکان کاملاً اشتباهی به نظر می رسند، پیش بینی یا تبدیل وابسته به احتمال زیاد اشتباه است.
شطرنجی من فقط در نیمکره شرقی ظاهر می شود.
احتمالاً یک شطرنجی جهانی بارگذاری کرده اید که محدوده طول جغرافیایی [0، 360] را در بر می گیرد. با این حال، Earth Engine به شطرنجی نیاز دارد که در محدوده [-180، 180] باشد. قبل از مصرف، نیمه چپ و راست شطرنجی را عوض کنید. این پیشنهادات GIS Stack Exchange را ببینید .
چرا تصویر طبقه بندی خورده شده من خالدار به نظر می رسد؟
احتمالاً از خط مشی پیش فرض MEAN
pyramiding استفاده کرده اید. برای طبقه بندی تصاویر، باید از خط مشی هرمی MODE
استفاده شود. برای تصاویر QA/bitmask، باید از خط مشی هرمی SAMPLE
استفاده شود.
خطای زیر را دریافت می کنم: هیچ مقدار داده ای -128.0 نمی تواند برای باند #0 از نوع Short<0, 255> اعمال شود.
GDAL نمی تواند باندهای تک بایتی را به عنوان حاوی اعداد صحیح علامت دار تلقی کند، بنابراین باندهایی را به عنوان اعداد صحیح بدون علامت می خواند. این با مقادیر منفی بدون داده در تضاد است.
اگر مقادیر شما واقعاً اعداد صحیح امضا شده هستند، از آپلود مانیفست استفاده کنید و آن را به قسمت tileset حاوی فایل خود اضافه کنید: data_type: "INT8"
اگر مقادیر شما اعداد صحیح بدون علامت هستند، فایل شما دارای مقدار nodata بدی است. می توانید آن را هنگام آپلود با مقدار داده صحیح (یا مقداری که هرگز رخ نمی دهد، اگر وجود داشته باشد) لغو کنید. همچنین می توانید از gdal_translate -a_nodata
برای تغییر مقدار nodata یا gdal_edit.py -unsetnodata
برای حذف آن استفاده کنید.
چگونه یک فایل را در GeoJSON یا فرمت برداری پشتیبانی نشده دیگر آپلود کنم؟
از ogr2ogr
برای ترجمه فرمت های سازگار با OGR به CSV یا SHP استفاده کنید. مثال:
or2ogr -f "ESRI Shapefile" file.shp file.kml
توجه داشته باشید که در آپلودهای CSV، ستون هندسه می تواند حاوی GeoJSON باشد.
من میخواهم دادهها را با استفاده از پایتون آپلود کنم، یا فایلهای زیادی را همزمان بارگذاری کنم.
از آپلود خط فرمان استفاده کنید. چنین آپلودهایی نیاز دارند که فایلهای منبع ابتدا در یک سطل GCS (Google Cloud Storage ) قرار گیرند. استفاده از GCS هیچ هزینه ای ندارد اگر در محدوده های ردیف رایگان بمانید - صفحه قیمت گذاری را ببینید.
من می خواهم یک موزاییک شطرنجی بزرگ که به کاشی های زیادی تقسیم شده است بارگذاری کنم.
اگر همه فایلها دارای نمایش و اندازه پیکسل یکسان هستند، فقط آنها را با هم در یک دارایی آپلود کنید - به طور خودکار موزاییک میشوند.
اگر فایل ها دارای طرح ریزی ها یا اندازه های پیکسل متفاوتی باشند، نمی توان آنها را در یک دارایی شطرنجی موزاییک کرد. در عوض، هر کاشی را به عنوان یک دارایی جداگانه در همان ImageCollection
آپلود کنید که میتواند با استفاده از ImageCollection.mosaic()
موزاییک شود.
من سعی می کنم یک موزاییک آپلود کنم و خطاهایی در مورد کاشی های ناهمخوان دریافت کنم.
کاشیهای موزاییکهای شطرنجی موتور زمین باید نمایش و اندازه پیکسل یکسانی داشته باشند. علاوه بر این، کاشی ها باید دقیقاً بر روی مرزهای پیکسل تراز شوند.
من سعی می کنم یک فایل را از یک سطل GCS آپلود کنم، اما Earth Engine آن را پیدا نمی کند.
ممکن است از حسابهای Google مختلف برای آپلود GCS و برای اتصال به Earth Engine استفاده کرده باشید. مطمئن شوید که فایل GCS توسط حسابی که برای اتصال به Earth Engine استفاده میکنید قابل خواندن است. اگر ورود چندگانه مرورگر باعث گیج کننده می شود، در یک پنجره مرورگر ناشناس به Earth Engine متصل شوید.
من می خواهم بسیاری از دارایی ها را همزمان صادر کنم.
شما باید هر تصویر را جداگانه صادر کنید.
من می خواهم با یک دستور یک Folder
یا یک ImageCollection
جابجا یا حذف کنم.
ابتدا باید هر دارایی را منتقل یا حذف کنید ، سپس پوشه یا مجموعه والد را منتقل یا حذف کنید. اگر دارایی های فرزند زیادی وجود دارد، یک حلقه یا حلقه پایتون بنویسید تا روی آنها تکرار شود.
من می خواهم به طور مستقیم به داده های Earth Engine از خارج از EE دسترسی داشته باشم.
QGIS دارای پلاگین Earth Engine است.
GDAL دارای یک درایور Earth Engine است.
سیستم های دیگر می توانند از EE REST API استفاده کنند.
میخواهم بخشی از دارایی Earth Engine خود را بدون بازخوانی مجدد آن بهروزرسانی کنم.
به روز رسانی داده های شطرنجی یا برداری که در EE آپلود شده اند امکان پذیر نیست. فقط ویژگی های فراداده دارایی را می توان به روز کرد.
من دسترسی به حساب خود را از دست می دهم. با دارایی هایم چه کنم؟
اگر خطمشیهای حساب اصلی اجازه انتقال داده را میدهد، لطفاً داراییهای خود را با حساب دیگری به اشتراک بگذارید، سپس داراییها را کپی کنید تا متعلق به حساب جدید باشد. اگر دارایی های زیادی برای جابجایی وجود دارد، از ابزار کپی خط فرمان استفاده کنید.
اگر یک حساب حذف شود، دارایی های متعلق به آن دیگر قابل دسترسی نیستند.
تصویر صادر شده من در جای اشتباهی است.
برای برخی از پیش بینی ها، مانند سینوسی یا مخروطی، فایل های GeoTIFF گاهی اوقات نمی توانند تمام پارامترهای طرح ریزی لازم را ذخیره کنند. این منجر به یک فایل صادر شده می شود که هنگام مشاهده در ابزارهای دسکتاپ GIS یا دریافت مجدد در EE در مکان اشتباه ظاهر می شود.
برای رفع این مشکل، یک پارامتر صادراتی crs
را مشخص کنید که به خوبی با فایلهای GeoTIFF کار میکند - به عنوان مثال، از کد EPSG برای منطقه UTM حاوی منطقه مورد علاقه خود استفاده کنید.
برای ذخیره دارایی های COG باید از چه مکان سطل ذخیره سازی ابری استفاده کنم؟
پاسخ بستگی به این دارد که برای چه چیزی سعی در بهینه سازی دارید. اگر برای دسترسی محاسباتی با تاخیر کم بهینه سازی می کنید، بهترین مکان های سطل GCS برای ذخیره دارایی های COG US-CENTRAL * هستند. برای اطلاعات در مورد سایر ملاحظات به صفحه مکان های سطل مراجعه کنید.
داراییهای مجموعه ویژگیهای صادر شده، ویژگیهایی را که تنظیم کردهام حفظ نمیکنند.
هیچ توابع Export.table.*
ویژگی های سطح جدول را در خروجی حفظ می کند. برای بسیاری از فرمت های خروجی (به عنوان مثال CSV، GeoJSON)، هیچ پشتیبانی از چنین ابرداده ای وجود ندارد. تابع Export.table.toAsset
می تواند ویژگی های سطح جدول را پشتیبانی کند، اما در حال حاضر این کار را نمی کند.
جداول صادر شده به Drive با فرمت CSV به فرمت XLSX تبدیل می شوند.
بسته به تنظیمات Google Drive شما، جداول CSV که از Earth Engine صادر میکنید میتوانند به فایلهای XLSX با جلوههای ناخواسته، مانند تبدیل نوع داده، تبدیل شوند. این مراحل را برای اصلاح رفتار صادرات بعدی دنبال کنید.
- در Google Drive در وب، روی دکمه تنظیمات در بالا سمت راست کلیک کنید.
- روی تنظیمات کلیک کنید.
- به «تبدیل فایلهای آپلود شده به فرمت ویرایشگر اسناد Google» بروید و آن را پاک کنید.
ویرایشگر کد
من نمیتوانم وارد ویرایشگر کد شوم زیرا از من میخواهد از حساب اشتباهی استفاده کنم.
از سیستم خارج شوید ، حسابی را انتخاب کنید که برای استفاده از Earth Engine در صفحه «انتخاب حساب» ثبت شده است، و سپس همان حساب را در صفحه دوم «انتخاب حساب برای ادامه به ویرایشگر کد موتور Earth» دوباره انتخاب کنید (ممکن است عبارت دقیق متفاوت باشد).
من می خواهم از یک نقشه جهانی اسکرین شات بگیرم، اما طرح Web Mercator را دوست ندارم.
طرح نقشه مورد استفاده در ویرایشگر کد Web Mercator ('EPSG:3857') است. اندازه اجسام را از خط استوا دور می کند و باعث می شود که مناطق با عرض جغرافیایی بالا در مقایسه با مناطق نزدیک به استوا، بسیار بزرگتر از آنچه هستند، به نظر برسند. شما نمی توانید طرح بوم نقشه ویرایشگر کد را تغییر دهید، اما می توانید با استفاده از روش ee.Image.changeProj
، تصویری را در طرح انتخابی خود روی بوم Web Mercator "رنگ آمیزی" کنید. برای مثالی از نمایش یک DEM جهانی در نقشه ویرایشگر کد در طرح رابینسون، صفحه مرجع API روش را ببینید. توجه داشته باشید که این تکنیک فقط باید برای اهداف تجسم استفاده شود، زیرا بازرس کد ویرایشگر و ابزارهای ترسیم هنوز در Web Mercator فعال هستند.
اسکریپت من ذخیره نمی شود ( Script error: Unknown commit
).
اگر هنگام ذخیره یک اسکریپت یک Script error: Unknown commit
دریافت کردید، احتمالاً به این معنی است که مخزنی که در آن ذخیره می کنید هماهنگ نیست. علت این حالت متغیر است و تشخیص آن دشوار است. برای حل این مشکل، سعی کنید لیست اسکریپت را با استفاده از دکمه موجود در گوشه سمت راست بالای برگه اسکریپت بازخوانی کنید. اگر کار نکرد، سعی کنید یک مخزن جدید از دکمه New در تب Script ایجاد کنید و اسکریپت خود را در آنجا ذخیره کنید (شاید لازم باشد اسکریپت ها را از مخزن خارج از همگام سازی به مخزن جدید منتقل کنید).