Подключите US BLM WMS к Mapbox - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь добавить WMS для PLSS (publi c система межевания), опубликованную BLM.gov, на карту Mapbox, чтобы сделать сетку Township / Range / Section видимой, и я не могу ее получить для отображения на карте. Я подозреваю, что существует проблема с синтаксисом между запросом Mapbox JS и тем, что BLM WMS ожидает в качестве запроса.

Я работал с опубликованным примером mapbox для добавления WMS, модифицированного для сайта BLM, код ниже:

mapboxgl.accessToken = 'MY_KEY';
    var map = new mapboxgl.Map({
        container: 'map',
        style: 'mapbox://styles/mapbox/light-v10',
        zoom: 8,
        center: [-95, 38]
    });

    map.on('load', function() {
        map.addSource('wms-test-source', {
            'type': 'raster',
            'tiles': [
            'https://gis.blm.gov/arcgis/services/Cadastral/BLM_Natl_PLSS_CadNSDI/MapServer/WmsServer?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.3.0&request=GetMap&srs=EPSG:3857&width=256&height=256&layers=1'
        ],
        'tileSize': 256
    });
    map.addLayer(
        {
            'id': 'wms-test-layer',
            'type': 'raster',
            'source': 'wms-test-source',
            'paint': {}
        },
    'aeroway-line'
    );
});

Кто-нибудь видит, что мне нужно изменить, чтобы получить это чтобы наложить сетку PLSS, я был бы очень признателен!

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

Согласно комментарию Томаса Мартина, приведенному ниже, я использовал функцию tileLayer, как описано здесь: docs.mapbox.com / mapbox.js / example / v1.0.0 / wms для достижения sh моей цели. Код в соответствии с ниже:

L.mapbox.accessToken = 'pk.eyJ1IjoicGV0cm9hbmFseXRpY2EiLCJhIjoiY2s2dTlicXQzMDdqbDNnbzhsNGo4ZjY0MCJ9.u5nBRLm8b6RwZKKXGh-L4w';
var map = L.mapbox.map('map')
    .setView([37, -99], 8)
    .addLayer(L.mapbox.styleLayer('mapbox://styles/mapbox/streets-v11'));

// Add each wms layer using L.tileLayer.wms
var Sections = L.tileLayer.wms('https://gis.blm.gov/arcgis/services/Cadastral/BLM_Natl_PLSS_CadNSDI/MapServer/WmsServer', {
    format: 'img/png',
    transparent: true,
    layers: 2
}).addTo(map);

var Townships = L.tileLayer.wms('https://gis.blm.gov/arcgis/services/Cadastral/BLM_Natl_PLSS_CadNSDI/MapServer/WmsServer', {
    format: 'img/png',
    transparent: true,
    layers: 1
}).addTo(map);
0 голосов
/ 25 февраля 2020

PFA,

<script>
 L.mapbox.accessToken = '<your access token here>';
 var map = L.mapbox.map('map')
 .setView([37, -99], 3)
 .addLayer(L.mapbox.styleLayer('mapbox://styles/mapbox/streets-v11'))

 var temperature = 
  L.tileLayer.wms('http://gis.srh.noaa.gov/arcgis/services/NDFDTemps/MapServer/WMSServer', {
  format: 'img/png',
  transparent: true,
  layers: 16
  }).addTo(map);

var precipitation = L.tileLayer.wms('http://nowcoast.noaa.gov/arcgis/services/nowcoast/analysis_meteohydro_sfc_qpe_time/MapServer/WmsServer', {
 format: 'image/png',
 transparent: true,
 layers: '5'
 }).addTo(map);

document.getElementById('temperature').onclick = function () {
var enable = this.className !== 'active';
temperature.setOpacity(enable ? 1 : 0);
this.className = enable ? 'active' : '';
return false;
};

document.getElementById('precipitation').onclick = function () {
var enable = this.className !== 'active';
precipitation.setOpacity(enable ? 1 : 0);
this.className = enable ? 'active' : '';
return false;
};
</script>

См. Эту ссылку для получения дополнительной информации. https://docs.mapbox.com/mapbox.js/example/v1.0.0/wms/

...