ArcGIS Server به صورت پیش فرض وقتی رسترها را نشان می‌دهند از طیف سفید-مشکی استفاده می کند. برای اینکه سیستمی طراحی کنید که توان عوض کردن نحوه نمایش رسترها را داشته باشد، می توانید از گامهای زیر استفاده کنید:

1. Resampling (در صورت نیاز)
2. Reclassifying در صورتی که رسترشما از نوع tiff است و مقادیر آن به صورت اعشاری میباشد، با دسته بندی رستر مدنظر، آن را به کلاس های محدودی تبدیل می کنید و به مقادیر کلاس ها مقادیر int می دهید.
3. رستر خود را از به صورت Image Service بر روی ArcGIS server خود Publish کنید.
در اینجا دو راه حل پیش روی شماست:
     1. تعریف یک Raster Function برای اعمال Colormap بر روی رستر مورد نظر در سرور
     2. تعریف Colormap در هنگام فراخوانی نقشه بر روی کلاینت
راه حل اول در مراجع به خوبی توضیخ داده شده است، به همین دلیل به راه حل دوم میپردازیم. با فرض به اینکه شما بر روی کلاینت خود در کد Javascript خود از Openlayers استفاده می کنید، برای فراخوانی یک Image Service از روی سرور ArcGIS از دستور زیر در هنگام تعریف لایه استفاده می کنید:

new ol.layer.Image({
          source: new ol.source.ImageArcGISRest({
            ratio: 1,
            params: {},
            url: url
          })
        })


در کد بالا هنگامی که می خواهید از یک Colormap تعریفی خود استفاده کنید، در قسمت Params که مربوط به پارامترهای درخواستی شما از سرور نقشه می شود، پارامترهای زیر را اضافه میکنید:

 renderingRule={ "rasterFunction" : "Colormap",
  "rasterFunctionArguments" : {
    "Colormap" : [
      [0, 255,255,255],
      [1, 182,237,240],
      [2, 149,209, 237],
      [3, 116, 180,232],
      [4, 80, 155, 230],
      [5, 31, 131, 224],
      [6, 33, 98,204],
      [7, 29, 68, 184],
      [8, 23, 40, 166],
      [9, 9, 9, 145],
    ]
  },
  "variableName" : "Raster"
}

در این کد، برای یک رستر 10 کلاسه، رنگبندی (Colormap) مورد نظر شما معرفی شده است. در نهایت لایه تعریفی شما در Openlayers به شکل زیر در خواهد آمد:

new ol.layer.Image({
          source: new ol.source.ImageArcGISRest({
            ratio: 1,
            params: {'renderingRule':'{"rasterFunction" : "Colormap","rasterFunctionArguments" : {"Colormap" : [[0, 255,255,255],[1, 182,237,240],[2, 149,209, 237],[3, 116, 180,232],[4, 80, 155, 230],[5, 31, 131, 224],[6, 33, 98,204],[7, 29, 68, 184],[8, 23, 40, 166],[9, 9, 9, 145],]},"variableName" : "Raster"} '},
            url: url
          })
        })


لازم به ذکر است که اگر در هنگام Publish کردن رستر، فایل Raster Function را همراه آن معرفی کرده باشید، در قسمت Params کافیست تنها نام Raster Function خود را بنویسید.

new ol.layer.Image({
          source: new ol.source.ImageArcGISRest({
            ratio: 1,
            params: {'renderingRule':'{"rasterFunction":"sample"}'},
            url: url
          })
        })


مشخصات

  • جهت مشاهده منبع اصلی این مطلب کلیک کنید
  • کلمات کلیدی منبع :       ,colormap ,source ,            ,raster ,image ,source imagearcgisrest ,imagearcgisrest {            ,{            ratio ,            params ,arcgis server ,imagearcgisrest {            ratio ,source imagearcgisrest {            ,image {          source ,layer image {         
  • در صورتی که این صفحه دارای محتوای مجرمانه است یا درخواست حذف آن را دارید لطفا گزارش دهید.

تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

برترین جستجو ها

آخرین جستجو ها

تنهای بی سرزمین! Mikey تعمیرتعمیرات بردهای لباسشویی یخچال پکیج آموزش و فروش نرم افرار سپيدار دمنوش گیاهی جوپار ، اکسیر گیاهان نیروزا نگین کوهسار عکاسی با موبایل فکر برتر