Cover photoCover photo
meniny Dnes je: 15.9.2019, meniny má: Jolana

Vlastná virtuálna prehliadka pomocou technológie Google Street View

Naspäť

Technológia Google Street View je známa a veľmi často používaná. Vďaka Google Maps API je možné vytvorenie aj vlastného Street View svojho obľúbeného miesta, alebo inej záujmovej lokality. V článku nižšie stručne popíšem, ako postupovať pri vytvoreni vlastnej prehliadky.

1: Fotenie lokality – zber fotiek

Najvhodnejšie je mať zariadenie s tzv. rybím okom (Fisheye objektív). Ak taký nemáme k dispozícii, bude stačiť aj klasický objektív a statív. Ten nám zabezpečí polohu zariadenia v jednom bode počas celého fotografovania. Postup je veľmi jednoduchý. Umiestnime statív na požadované miesto, zariadenie nasmerujeme tak, aby voči vodorovnej rovine bolo v uhle – 45°(fotíme smerom nadol) a začneme fotiť. Po odfotení prvej snímky zariadenie na statíve mierne otočíme, ale dbáme na to, aby ďalšia snímka mala dostatočný prekryv s tou predchádzajúcou (aspoň 10 - 20 %) a takto pokračujeme až kým sa neotočíme o 360 ° a nedostaneme sa späť na začiatok.

Potom nastavíme zariadenie tak, aby fotilo vo vodorovnej polohe a opäť pokračujeme podobným spôsobom. Po otočení o 360 ° a návrate na približne prvý záber opäť zmeníme uhol fotenia, pričom nastavíme + 45 ° od vodorovnej roviny statívu, teda smerom nahor a pokračujeme s fotením...

Na záver spravíme posledné dve snímky. Jednou odfotíme spodnú časť pod statívom, ktorý medzičasom odložíme a druhou odfotíme vrch, resp. oblohu. Takýmto spôsobom získame sériu fotografií zachytávajúcich kompletný priestor okolo nás z ktorých dokážeme vytvoriť 180°/360° sférickú fotografiu.

Vlastné Google Street View

Séria fotografií zachytávajúcich kompletný priestor okolo

2: Vytvorenie 180°/360°panorámy

Na vytvorenie panorámy je potrebný softvér, ktorý dokáže spojiť jednotlivé zábery do sférickej panorámy (Spherical Panorama).Fotka musí reprezentovať guľu, v ktorej je premietnutý obraz (guľové zobrazenie premietnuté do 2D fotografie). Existuje viacero vhodných softvérov. Niektoré sú bezplatné, iné nie:

Panorama Tools - http://panotools.sourceforge.net
Hugin - http://hugin.sourceforge.net
Arcsoft - http://www.arcsoft.com/index.html
PTGui - http://www.ptgui.com
AutoDesk Stitcher Unlimited - http://www.360facil.com/eng/panorama-software-edition-commercial-autodesk-stitcher-unlimited.php

Hoci je každý softvér iný, princíp je rovnaký. Jednotlivé fotky sa importujú do prostredia zvoleného softvéru, prebehne analýza a na základe identifikovaných spoločných bodov sa snímky pospájajú (tu sa využije 10 % až 20 % prekryv spomenutý v bode 1). Ak softvér niektoré snímky nedokáže spojiť automaticky, príde na rad manuálne označovanie spoločných bodov na snímkach, aby mohli byť následne spojené. Mne najviac vyhovuje softvér AutoDesk Stitcher Unlimited a PTGui. Výsledná fotografia musí mať pomer strán 2:1. Po jej vytvorení je možné aplikovať farebný kontrast, jas a iné nastavenia, ktoré spravia výsledný efekt atraktívnejší.

3: Vytvorenie vlastného Street View

Ak podľa bodu 2 získame panorámu v pomere šírka a výška 2:1, je vhodné upraviť rozmery na napríklad 2048 x 1024, prípadne 4096 x 2048. Následne musí byť takýto obrázok rozdelený na 32 štvorcov, to znamená 4 riadky a 8 stĺpcov a jednotlivé rezy musia byť separátne exportované a pomenované konkrétnym názvom, podľa obrázka nižšie (0-0.jpg, 0-1.jpg, 0-2.jpg ) atď. Pri rozlíšení 2048 x 1024 budú mať tieto štvorce rozmer strán 256px, pri rozmere strán 4096 x 2049 to bude 516px.

Vlastné Google Street View

Pomer strán

Vlastné Google Street View

Označenie fotografií pre implementáciu do Google Street View

2: Vytvorenie 180°/360°panorámy

Takto pripravené štvorce sú už podklad pre priamu implementáciu a načítanie cez Google Street View. Môžeme použiť napríklad takýto kód, pričom objekt_1 je prvotný pohľad a objekt_2 je pohľad, ktorý je možné otvoriť prelinkovaním. Linky v rámci Google Street View je možné konfigurovať podľa ukážkového kódu nižšie.

VAR INITPOSPANOID, STREETVIEW;

FUNCTION INITIALIZE() {

VAR STREETVIEWOPTIONS = {
ZOOM: 0,
PANOPROVIDER:  GETCUSTOMPANORAMA,
PANO : "OBJEKT_1" //NAZOV ADRESáRA, V KTOROM Sú JEDNOTLIVé
šTVORCE
};
  
VAR STREETVIEWDIV = DOCUMENT.GETELEMENTBYID('STREETVIEW_CANVAS');
STREETVIEW = NEW GOOGLE.MAPS.STREETVIEWPANORAMA(STREETVIEWDIV,
STREETVIEWOPTIONS);
GOOGLE.MAPS.EVENT.ADDLISTENER(STREETVIEW, "LINKS_CHANGED",
CREATECUSTOMLINK);
  
}

FUNCTION GETCUSTOMPANORAMATILEURL(PANOID, ZOOM, TILEX, TILEY) {
RETURN "CESTA-K-ADDRESARU/" + PANOID + '/'  + TILEX + '-' +TILEY +
'.JPG'; // CELá CESTA K SNíMKAM
}

FUNCTION GETCUSTOMPANORAMA(PANOID) {
VAR STREETVIEWPANORAMADATA = {
LINKS: [],
COPYRIGHT: 'AUTOR', //AUTORSTVO, ALEBO INá POZNáMKA
TILES: {
TILESIZE: NEW GOOGLE.MAPS.SIZE(256, 256), //ROZMER šTVORCOV
WORLDSIZE: NEW GOOGLE.MAPS.SIZE(2048, 1024), //ROZMER PANORáMY
CENTERHEADING: 275, //CENTROVANIE POHLADU PO SPUSTENí. MAALO BY
SMEROVAT NA SEVER
GETTILEURL: GETCUSTOMPANORAMATILEURL
}
};
SWITCH(PANOID) {      
CASE "OBJEKT_1": //NAZOV ADRESáRA, V KTOROM Sú JEDNOTLIVé
šTVORCE
STREETVIEWPANORAMADATA["LOCATION"] = {
PANO: 'OBJEKT_1', //NAZOV ADRESáRA, V KTOROM Sú JEDNOTLIVé
šTVORCE
DESCRIPTION: "1. SNíMKA", //NáZOV
LATLNG: NEW GOOGLE.MAPS.LATLNG(48.00000,18.00000) // GPS SúRADNICA
MIESTA SNíMANIA
};
RETURN STREETVIEWPANORAMADATA;
      
CASE "OBJEKT_2": //NAZOV ADRESáRA, V KTOROM Sú JEDNOTLIVé
šTVORCE
STREETVIEWPANORAMADATA["LOCATION"] = {
PANO: 'OBJEKT_2', //NAZOV ADRESáRA, V KTOROM Sú JEDNOTLIVé
šTVORCE
DESCRIPTION: "NáZOV DALšIEHO ZáBERU", //NáZOV
LATLNG: NEW GOOGLE.MAPS.LATLNG(48.00000,18.00000) // GPS SúRADNICA
MIESTA SNíMANIA
};
RETURN STREETVIEWPANORAMADATA;  
}
}

FUNCTION CREATECUSTOMLINK() {
//PRIDANIE LINKOV
VAR LINKS = STREETVIEW.GETLINKS();
VAR PANOID = STREETVIEW.GETPANO();
  
SWITCH(PANOID) {
CASE "OBJEKT_1":   
LINKS.PUSH({
DESCRIPTION : "NáZOV DALšIEHO ZáBERU", //NáZOV DALšIEHO GOOGLE 
STREET VIEW
PANO : "OBJEKT_2", //NAZOV ADRESáRA, V KTOROM Sú JEDNOTLIVé
šTVORCE
HEADING : 90 //CENTROVANIE
});
BREAK;
      
CASE "OBJEKT_2":
LINKS.PUSH({
DESCRIPTION : "1. SNíMKA", //NáZOV DALšIEHO GOOGLE  STREET VIEW
PANO : "OBJEKT_1", //NAZOV ADRESáRA, V KTOROM Sú JEDNOTLIVé
šTVORCE
HEADING : 270 //CENTROVANIE
});
BREAK;
}
}
GOOGLE.MAPS.EVENT.ADDDOMLISTENER(WINDOW, 'LOAD', INITIALIZE);

Vlastné Google Street View

Ukážka linku v prostredí Google Street View

Ak chceme, aby kompas v Street View zodpovedal realite, stred obrázka by mal smerovať práve na sever. Centrovanie je však možné nastaviť dodatočne aj v samotnom kóde, prostredníctvom funkcie centerHeading.

Nezabudnime na pripojenie API pomocou nasledujúceho kódu

<SCRIPT
SRC="HTTP://MAPS.GOOGLEAPIS.COM/MAPS/API/JS?SENSOR=FALSE"
TYPE="TEXT/JAVASCRIPT">
KOMENTÁRE

Meno *

E-mail

Publikované: 19. 5. 2017 | prečítané: 1537x | komentárov: (0)
Webhosting, domény, servery

Tagy článkov

  analyzy     facebook     arcgis     publikacie     hypso     dizertacka     web     gis     geomedia     konferencia     dem     grass     tajchy     idrisi     surfer     qgis     umb  

Enya - Amid The Falling Snow

Kontakt
|
Vyhľadávanie
|
HTML5
|
CSS

webmaster: posta@dkubinsky.sk

Tvorba web stránok

Web stránky, e-shopy a aplikácie efektívne, funkčne, jednoducho - postavené na vlastnom redakčnom systéme.

Web stránky a E-shopy efektívne, funkčne, jednoducho...

Návrat hore