Wizard_01 napsal:Máte někdo praktickou zkušenost s exportem výkresu v PDF na web, aby to fungovalo jako mapy.cz či nějaky ten control ze Silverlightu?
Krátká verze:
- použijte api od google maps
- na rozřezání použijte toto: http://www.casa.ucl.ac.uk/software/goog … cutter.asp
- tady máte ukázku (pdf rozrastrováno a obrázek uzpůsoben na 4096 x 4096 px): http://pp21.cz/tmp/test-04.zip -- rozbalte si ten zip u sebe na disku a html soubor otevřete v prohlížeči (IE má nejprve průpovídky ohledně aktivního obsahu, nutno to potvrdit) PS: nemůži to dát na web, vyžaduje to klíč k API od googlu a jsem línej si ho registrovat, z disku to chodí i bez něj.
------------------------------
Dlouhá verze:
Jo, praktickou zkušenost s tím mám, řešil jsem tohle pro ceskedalnice.cz někdy v polovině roku 2007, takže moje poznatky budou jaksi staršího data ;o). Výsledek dodnes částečně funkční je zde:
http://www.ceskedalnice.cz/mapy/interaktivni a pár dalších experimentů zde: http://pp21.cz/temp/mapy-praha/
Když jsem se do toho pouštěl, tak různé flash aplikace typu Zoomify nebyly moc rozšířené a navíc mě stejně moc neoslovujou (omezené možnosti velikosti okna, kroky zoomu po pidikouskách, vrozená averze vůči flashi atp), prostě osobní antipatie.
Takže volbou bylo použít API některé mapové služby. Tehdy (a nejspíš i dnes) to umožňovali pouze dvě – amapy.cz a maps.google.com. Mapy Seznamu mají sice taky API, ale tuším že dodnes neumožňují mapu z vlastních podkladů.
Nakonec jsem vybral api na amapy.cz, protože se to lépe ovládá (ta výsledná mapa), tehdy na rozdíl od googlu měli špičkově pokrytou ČR ortofotomapama, je to celé v S-JTSK, takže na ortofoto lze přímo položit bez jakéhokoliv natáčení výkres stavby dělanej v čechách. Prostě nádhera. Trochu jsem do toho proniknul a spáchal jsem to viz výše. Jenže tak v půlce roku 2008 odešel z týmu amapy.cz jedinej guru (Daniel Steigerwald) kterej se o to dokonale staral a udržoval to celé v perfektním chodu. Pak přišlo pár novejch prohlížečů a pár zásahů do jádra amapy i api a výsledek je, že to co chodilo dřív chodí jen s velkejma obtížena. Prostě jsem z dlouhodobého hlediska zvolil špatné řešení
Takže dnes bych to určitě dělal pomocí Google. Tehdy jsem s tím taky experimentoval. Absolutně nejjednodušší je použít „The Google Maps Image Cutter“.
http://www.casa.ucl.ac.uk/software/goog … cutter.asp
Rozřeže obrázek na potřebné čtverečky, udělá je pro všechny rozlišení a ještě vygeneruje html stránku s výsledkem, takže stačí jen na jedno místo v tom html doplnit svůj vlastní klíč od api googlu a šup s tím na web (přímo z disku v počítači to funguje bez klíče, na webu ne).
Prográmek má spoustu neduh, ale pořád je to absolutně nejjednodušší, co existuje.
Neduhy:
- Je nutné mu zadat obrázek přesné velikosti v závislosti na počtu zvolených krků zoomu, v opačném případě resizuje obrázek na neskutečně velké rozlišení a spolehlivě umrtví počítač na hodně dlouho.
- Vstup i výstup je pouze v JPG (silně se nehodí na čárovou grafiku typu technický výkres)
Kroky zoomu versus velikost předloženého obrázku: si už nepamatuju, jisté je, že to mělo něco společného s násobky 256 ;o) Když mu předhodíte obrázek 16.384 x 16.384 px, nic tím nezkazíte, to je zřejmě nejoptimálnější vstupní rozlišení ;o) Když máte menší obrázek, tak si ve photoshopu dejte velikost plátna a okraje nechte bílé.
No a protože potřebujete velkej obrázek, musíte ho nejprve z toho PDF udělat. Takže buď rozrastrovat ve photoshopu, nebo použít můj oblíbený prográmek pdftoppm z balíku Xpdf http://www.foolabs.com/xpdf/, ale je jen pro otrlé, protože se spouští z příkazového řádku ;o)
No a na závěr jedno menší varování z vlastní zkušenosti. Nezkoušejte si začínat nic s obrázky, které mají jednu ze stran delší než 30.000 px, tvrdě narazíte Prakticky neexistuje formát, kterej by je uměl uložit a následně v jiném programu otevřít, s JPEG i s TIFF obvykle pohoříte. Snad jedinej formát ve kterym se to dá uchovat je *.PSB, což je proprietálni věc photoshopu a umí s tím asi jen ten photoshop. Pak byste si museli čtverečky pro mapu rozřezat jinak než výše zmíněným programem.
To je asi tak v kostce všechno podstatné ;o)