lt.geologyidea.com
Daugiau

„TileCache“ ir „Openlayers“ problema - projekcijos?

„TileCache“ ir „Openlayers“ problema - projekcijos?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.


Turiu labai žinomą problemą, bet negaliu jos išspręsti.

Konfigūracijoje nustatiau tuos pačius „maxExtents“ kaip „Openlayers init JS“. Aš padariau tą patį su projekcija (EPSG: 900913) ir atlikau visas transformacijas „OpenLayers FW“. Tačiau vis tiek yra klaida, kad plytelių negalima parodyti, nes jos prasideda ne reikiamu tašku.

Atrodo, kad jie nėra suvaržymai. Kodėl? Bet kokia idėja? Kur yra pagrindinis sprendimo taškas!

Dėkoju. Martinas

Redaguoti:


Nematau jokių nuotraukų kaip plytelių. Aš tiesiog matau raudonai „loadfail“ dėžutes. Jei spustelėsiu dešinį pelės mygtuką ant plytelės ir leisiu man parodyti paveikslėlį, gaunu šį pranešimą: "Įvyko klaida: Dabartinė x reikšmė 967644.673573 yra per toli nuo plytelių kampo x 939258.202600"


Mano tilecache.cfg konfigūracija yra:


[osm]

type = MapnikLayer

mapfile = /var/www/tilecache/osm.xml

# sluoksniai = osm

sferinis_merkatorius = tiesa

# tms_type = google

srs = EPSG: 900913

bbox = 654558.60577333,5745163.8837113,1173307.4327978,6075303.6111284

# bbox = 5.88,45.78,47.81,10.54

# maxReolution = 19567,879237500

„maxResolution“ = 156543.03390000001

rezoliucijas = 156543.03390000001, 78271.516950000005, 39135.758475000002, 19567.879237500001, 9783.9396187500006, 4891.9698093750003, 2445.9849046875001, 1222.9924523437501, 611.49622617187504, 305.74811308593752, 152.87405654296876, 76.43702827148438, 38.21851413574219, 19.109257067871095, 9.5546285339355475, 4.7773142669677737, 2.3886571334838869, 1.1943285667419434, 0.59716428337097172, 0.29858214168548586

„maxResolution“ = 78271,51695

ulatus_tipas = laisvas

lygiai = 20


OSM KODAS


funkcija init () {var tilecacheBbox = new OpenLayers.Bounds (5.88, 45.78, 10.54, 47.81) .transform (new OpenLayers.Projection ("EPSG: 4326"), // transform from WGS 1984 new OpenLayers.Projection ("EPSG: 900913 ") // į sferinę Merkatoriaus projekciją); perspėjimas (tilecacheBbox); var map_options = {maxExtent: tilecacheBbox, restrictedExtent: tilecacheBbox, maxResolution: 156543.03390000001, sprendimus: [156543.03390000001, 78271.516950000005, 39.135,758475000002, 19.567,879237500001, 9.783,9396187500006, 4.891,9698093750003, 2.445,9849046875001, 1.222,9924523437501, 611,49622617187504, 305,74811308593752, 152,87405654296876, 76,43702827148438, 38,21851413574219, 19,109257067871095, 9,5546285339355475, 4,7773142669677737 , 2.3886571334838869, 1.1943285667419434, 0.59716428337097172, 0.29858214168548586], // maxResolution: 78271.51695, projekcija: nauji „OpenLayers.Projection“ („EPSG: 900913“), // vienetai: „metrai“, numZoomLevels: 20 map = new OpenLayers.Map ("basicMap", map_options); map.addControl (nauji „OpenLayers.Control.PanZoomBar“); map.addControl (nauji „OpenLayers.Control.LayerSwitcher“); var mapnik = new OpenLayers.Layer.OSM (); // var tilescache = new OpenLayers.Layer.TileCache (); plytelės = new OpenLayers.Layer.WMS ("OSM @ Mapnik", "tilecache / tilecache.cgi?", {sluoksniai: 'osm', formatas: 'image / png', srs: 'EPSG: 900913'}); map.addLayer (mapnik); map.addLayer (plytelės); map.setCenter (nauji „OpenLayers.LonLat“ (8, 46.5) // žemėlapio centras .transform (nauji „OpenLayers.Projection“ („EPSG: 4326“)), // transformuoti iš WGS 1984 naujų „OpenLayers.Projection“ („EPSG: 900913") ) // iki sferinės Mercator projekcijos), 8 // Mastelio lygis); }

„OpenLayers“ kode bandykite inicijuoti kintamąjį tilecacheBbox su tiksliomis jūsų nustatytomis koordinatėmis bbox konfigūracijos faile „TileCache“.

var tilecacheBbox = new OpenLayers.Bounds (); „tilecacheBbox.extend“ (654558.60577333, 5745163.8837113); „tilecacheBbox.extend“ (1173307.4327978, 6075303.6111284);

Galbūt problema yra ta, kad koordinačių transformacija, kurią atliekate „OpenLayers“ kode, generuoja reikšmes, kurios kai kuriais dešimtainiais ženklais skiriasi nuo vertės bbox - „TileCache“ konfigūracijos failas - nustatytas kaip. Šis skirtumas gali būti pakankamai didelis, kad suklaidintų „TileCache“.


Turėjau panašią problemą, pridurdama

„OpenLayers“. DOTS_PER_INCH = 90.71428571428572;

padarė man triuką.


Žiūrėti video įrašą: GeoServer. OpenLayers. Apache