Добавьте динамический растровый слой с arcgis для javascript - PullRequest
0 голосов
/ 04 декабря 2018

Как вы знаете, легко добавить динамический слой shp с классом FeatureLayer в arcgis для javascript, я думал, что это то же самое в растровом слое, но нет, так как я могу добавить динамический растровый слой с arcgis для javascript?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Спасибо за ваш ответ @ Ниже Radar моя ситуация такова, что у меня есть несколько слоев для отображения, поэтому я не могу опубликовать их как сервис, я обнаружил, что он поддерживает динамический слой после ArcGIS Server v10.1,но вчера я не нашел, как динамически добавить растровый слой (не как MapService), теперь я решил эту проблему, вот код:

var dynamicLayer = new ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/labWorldFolder/labWorldService/MapServer");
var map = new Map("mapDiv");
map.addLayer(dynamicLayer); 

$("#btnAddRasterLayer").click(function() {
    var dynamicLayerInfos = [];
    var dynamicLayerInfo = new DynamicLayerInfo();  // set dynamicLayerInfo
    dynamicLayerInfo.id = 1;

    var dataSource = new RasterDataSource();        // define a rasterDataSource
    dataSource.workspaceId = "labWorldRasterWS";
    dataSource.dataSourceName = "./test_d.img";

    var layerSource = new LayerDataSource();      
    layerSource.dataSource = dataSource;

    dynamicLayerInfo.source = layerSource;  
    dynamicLayerInfos.push(dynamicLayerInfo);

    dynamicLayer.setDynamicLayerInfos(dynamicLayerInfos, false);
});

Большое спасибо

0 голосов
/ 04 декабря 2018

Поскольку вы пометили свой вопрос на Arcgis-сервере, я предполагаю, что у вас есть доступ к ArcGIS Server или ArcGIS Online.

С помощью ArcGIS javascript API v4.9 вы можете добавить растровый слой, опубликованный в MapService, используяMapImageLayer с RasterDataSource subLayer.

  1. Добавьте свои растровые слои в рабочее пространство с помощью ArcMap или ArcPro
  2. Опубликуйте свое рабочее пространство на ArcGIS Server или ArcGIS Online как MapService
  3. С помощью javascript API v4.9 создайте экземпляр MapImageLayer, используя URL или ваш MapService

    var layer = new MapImageLayer({
        url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services  /USA/MapServer",  //map service url
        sublayers: [{
            title: "Slope",
            source: {
                type: "data-layer",
                dataSource: {
                    type: "raster",
                    workspaceId: "MyDatabaseWorkspaceIDSSR2", //registered workspace id,
                    dataSourceName: "slope" //raster name
                }
            }
        }]
    });
    

См. Этот пример: https://developers.arcgis.com/javascript/latest/sample-code/layers-dynamicdatalayer-raster/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...