1 votos

¿Cómo crear un Tile-Map personalizado con su propia extensión en OpenLayers 3?

Soy un novato en Openlayers y actualmente estoy lidiando con un problema en la configuración de un mapa de mosaicos personalizado. Tengo un mosaico base en zoom = 0 como png que tiene una extensión de 56 por 56 kilómetros y una resolución de 218,75 metros. Actualmente, el archivo de mosaicos llega hasta el nivel de zoom 4. Utilicé la proyección en EPSG:25833 en proj4 y mostré los mosaicos a través de ol.source.xyz. Definí la extensión y la resolución. Sin embargo, el mapa no se muestra en las coordenadas correctas. Al cargarlo, salta a un nivel de zoom más alto de lo ingresado y muestra solo una pequeña parte de un mosaico. Al hacer zoom out, la extensión definida es solo un rectángulo pequeño en el centro del mapa y las coordenadas suben a números exorbitantes alrededor de esta extensión.

Busqué en stackexchange y en el OL-Apidoc, pero no pude encontrar mi error.

Aquí está mi código actual:

proj4.defs('EPSG:25833', '+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84  +units=m +no_defs');
var projection25833 = ol.proj.get("EPSG:25833");

var tileLayer = new ol.layer.Tile({
    source: new ol.source.XYZ({
        projection: projection25833,
        url: "{z}/{x}/{-y}.png",
        extent: [364900,5791100,420900,5847100],
        tileSize: [256, 256],
        minZoom: 0,
        maxZoom: 4
    })
});

var myView = new ol.View({
    projection: projection25833,
    extent: [364900,5791100,420900,5847100],
    center: [392900, 5819100],
    resolution: 218.75,
    zoom: 0,
    minZoom: 0,
    maxZoom: 4
});

var map = new ol.Map({
    target: "mapDIV",
    layers: [tileLayer],
    view: myView
});

1voto

Frank Puntos 1

Obviamente encontré una solución propia para este problema. Debido a que OL por defecto utiliza sus propios niveles de zoom, "0" significa una vista global. Tuve que definir una proyección personalizada con la extensión dada para solucionar este problema:

var projection25833bln = new ol.proj.Projection({
    code: "EPSG:25833bln",
    global: false,
    extent: [364900,5791100,420900,5847100]
});

La pregunta sigue siendo si aún necesito proj4 para eventualmente transformar coordenadas WGS84 a UTM o viceversa.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X