OpenLayers'ta görüntüler oluşturuluyor mu?


11

Kuruluşumun küresel ve bölgesel iklim verilerini görüntülemek için bir web uygulaması var ve bu verilerde iyileştirmeler yapmayı düşünüyoruz. Başlıca fikrimiz, OSM veya Google Haritalar gibi temel katmanlar üzerinde iklim rasterlerini görüntülemek için OpenLayers tabanlı bir uygulama oluşturmaktır. Harita ayrıca uygulamaya özgü bazı vektör katmanları ve bir renk çubuğu veya verileri açıklayan diğer gösterge özelliklerini içerebilir. Anlayabildiğim kadarıyla, bunların hepsi OpenLayers ile mümkün görünüyor.

Bununla birlikte, proje için bir gereklilik, ( ideal olarak web uygulamasından) yayın kalitesi (az ya da çok) haritaları dışa aktarabilmektir . Tipik bir kullanım durumu şöyle olur:

  1. Temel katmanı kılavuz olarak kullanan bir kullanıcı, ilgi alanına gider
  2. Kullanıcı bir iklim parametresi (örn. 2040'lar için ortalama sıcaklık) veya bir parametre seti seçer
  3. Kullanıcı "dışa aktar" düğmesine basar ve ardından ilk paragrafta açıklanan tüm öğeleri içeren kaliteli bir harita indirir.

OpenLayers'ta bir görüntüye dönüştürmeyle ilgili hiçbir şey bulamadım. Bunun mümkün olup olmadığını bilen var mı? Değilse renderleme için başka hangi yaklaşımları uygulayabiliriz? Tüm harita parametrelerini (bbox, projeksiyon, dahil edilen katmanlar, vb.) Bazı harici oluşturma motoruna geçirmemiz gerektiğini varsayalım; hangi açık kaynak oluşturma motorları var?


Burada png / pdf olarak dışa aktarma ve www.mapsdata.co adresinde openlayers haritalarının basılmasını gerçekleştirdim. kayıt olabilir ve kontrol edebilirsiniz.
Rayiez

Yanıtlar:


12

Bildiğim openlayer'lardan güzel baskı haritaları görüntülemenin ana yolları:

Geoext özellikli Geoserver

- Geoext özellikli deniz balıkları

Her iki çözüm de bir java kısmına dayanmaktadır (örn. Http://geoserver.org/display/GEOS/Printing+in+GeoServer veya http://www.mapfish.org/doc/print/ )

-Openlayers bağımsız (Resmi dokümana bakın http://trac.openlayers.org/wiki/Printing )

Daha yakın zamanlarda, PhantomJS (komut satırından tarayıcıyı simüle eden bir yazılım) ile görüntü oluşturmak için bir teknik http://acuriousanimal.com/blog/2012/09/17/creating-static-maps-in-openlayers-using-phantomjs/

Bazı yeni kütüphaneler, bu OpenLayers 3 örneği veya bu broşür gibi resmi "yakalamak" için tarayıcı Tuval oluşturma yeteneklerini kullanır



2

"Yayın kalitesi" elde etmek için 300 dpi istiyorum, bu nedenle ekran oluşturma için katmanları açmak için geçtiğiniz haritaları kullanmak muhtemelen başlangıç ​​değildir.

OpenStreetMap'in dışa aktarma sekmesi, dışa aktarmak istediğinizi seçmek için OpenLayers'ı kullanır, ancak ayrı bir arka uç sunucu işlemiyle (aslında birkaç seçenek) oluşturur. Bu muhtemelen almanız gereken yaklaşımdır. Bunun için Google Haritalar'ı kullanmanız pek olası değildir.


Peki, "yayın kalitesi" muhtemelen svg veya başka bir vektör biçimi anlamına gelir. Ve bu terimlerle ifade ettiğimde, bana, evet, muhtemelen planet.osm dosyasından bir temel harita oluşturmak için Mapnik veya başka bir şey kullanmak isteyeceğimizi düşündürüyor. Daha sonra diğer öğelerin (iklim rasterleri, gösterge öğeleri, nitelikler) üzerine yerleştirmek için bazı görüntü kitaplığı kullanabiliriz. Gmaps'ın muhtemelen ihracatçı için olduğu konusunda haklısınız (çeşitli teknik ve teknik olmayan nedenlerle). Her neyse, tüm cevaplar için teşekkürler.
Hiebert
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.