Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in
/home/pacs/mma00/users/panotwins/doms/panotwins.de/subs/wp/wp-content/plugins/wp-syntax/wp-syntax.php on line
380
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in
/home/pacs/mma00/users/panotwins/doms/panotwins.de/subs/wp/wp-content/plugins/wp-syntax/wp-syntax.php on line
380
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in
/home/pacs/mma00/users/panotwins/doms/panotwins.de/subs/wp/wp-content/plugins/wp-syntax/wp-syntax.php on line
380
Preface
Some information on this post is outdated! Google Views has been migrated to Google Maps / Google Streeet View. Outdated information has been struck through.
Last year Google added a new feature to their set of web based applications. Publishing geo located spherical panoramas (aka Photo Spheres) on Views.
In another article, Markus already described the complete workflow which is needed to publish a panoramic image on Views and embed it into your website.
I already described different methods of adding mandatory Photo Sphere meta data to an equirectangular image in a second article. One of the methods described a custom meta data panel which could be used within Photoshop CS6 and Photoshop CC to read and write the photosphere meta data.
As Adobe changed their specification for creating meta data panels for Photoshop CC 2014, I redid the description…
Note for downloading the XML files
Depending on your browser it could be the best option to click the XML download link and use the context menu to save the link as XML to your local computer!
Custom photo sphere meta data panel for Photoshop CC 2014
First you have to identify the proper location for the File Panels. On a Windows system running PS CC 2014 the files are located in
C:\Users\[Username]\AppData\Roaming\Adobe\XMP\Metadata Extensions
or directly using the appropriate environment variable:
%USERPROFILE%\AppData\Roaming\Adobe\XMP\Metadata Extensions
PS CC 2014 running on Mac OS uses the following location
[Username]/Library/Application Support/Adobe/XMP/Metadata Extensions
Navigate to the location and create a sub directory named
Photosphere
with two subdirectories named
schema
and
view
Change to the newly created directory ‘Photosphere’ and create a file named
manifest.xml
with the following content (or download the file here):
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2014 by Jürgen Matern (/author/juergen/)
This file is licensed under the Creative Commons Attribution ShareAlike 3.0
License (http://creativecommons.org/licenses/by-sa/3.0/).
In short: you are free to share and make derivative works of the file under
the conditions that you appropriately attribute it and that you distribute
it only under a license identical to this one.
Photosphere File Info Panel (manifest.xml)
-->
<extension xmlns="http://ns.adobe.com/metadata/extension/1.0/"
name="Photosphere"
version="1.0"
locFilePrefix="photosphere">
</extension> |
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2014 by Jürgen Matern (/author/juergen/)
This file is licensed under the Creative Commons Attribution ShareAlike 3.0
License (http://creativecommons.org/licenses/by-sa/3.0/).
In short: you are free to share and make derivative works of the file under
the conditions that you appropriately attribute it and that you distribute
it only under a license identical to this one.
Photosphere File Info Panel (manifest.xml)
-->
<extension xmlns="http://ns.adobe.com/metadata/extension/1.0/"
name="Photosphere"
version="1.0"
locFilePrefix="photosphere">
</extension>
Change to the newly created directory ‘schema’ and create a file named
photosphereSchema.xml
with the following content (or download the file here):
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2014 by Jürgen Matern (/author/juergen/)
This file is licensed under the Creative Commons Attribution ShareAlike 3.0
License (http://creativecommons.org/licenses/by-sa/3.0/).
In short: you are free to share and make derivative works of the file under
the conditions that you appropriately attribute it and that you distribute
it only under a license identical to this one.
Photosphere File Info Panel (photosphereSchema.xml)
-->
<xmp_definitions>
<!-- Defining the namespace and prefix of the schema -->
<xmp_schema prefix='GPano' namespace='http://ns.google.com/photos/1.0/panorama/' label='Photosphere' description='Properties for Photospheres'>
<!-- Defining the properties -->
<xmp_property name='StitchingSoftware' category='external' type='openchoice' element_type='text' label='Stitching Software:' description='The software which created the panorama.'>
<xmp_choice raw_value='PTGui Pro 10.0.10' label='PTGui Pro 10.0.10'/>
<xmp_choice raw_value='PTGui 10.0.10' label='PTGui 10.0.10'/>
<xmp_choice raw_value='Hugin' label='Hugin'/>
</xmp_property>
<xmp_property name='ProjectionType' category='external' type='closedchoice' element_type='text' label='Pano Projection:' description='Currently Google applications only support equirectangular projection.' >
<xmp_choice raw_value='equirectangular' label='equirectangular'/>
<xmp_choice raw_value='' label='none specified'/>
</xmp_property>
<xmp_property name='UsePanoramaViewer' category='external' type='boolean' label='Use Panorama Viewer:' description='Set this value if the image should show as photosphere.' />
<xmp_property name='PoseHeadingDegrees' category='external' type='real' label='Heading:' description='This field is only mandatory for Google Maps. It is the direction in the middle of the image in degrees. North=0, East=90, South=180, West=270. See [GPS].' />
<xmp_property name='CroppedAreaImageWidthPixels' category='external' type='integer' label='Cropped Area Image Width:' description='For full spheres the same as Full Pano Width and width of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='CroppedAreaImageHeightPixels' category='external' type='integer' label='Cropped Image Heigth:' description='For full spheres the same as Full Pano heigth and height of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='FullPanoWidthPixels' category='external' type='integer' label='Full Pano Width:' description='For full spheres this equals to the height of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='FullPanoHeightPixels' category='external' type='integer' label='Full Pano Heigth:' description='For full spheres this equals to the height of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='CroppedAreaLeftPixels' category='external' type='integer' label='Cropped Pixels Left:' description='Set to 0 for full spheres.'/>
<xmp_property name='CroppedAreaTopPixels' category='external' type='integer' label='Cropped Pixels Top:' description='Set to 0 for full spheres.'/>
<xmp_property name='SourcePhotosCount' category='external' type='integer' label='Source Photos Count:' description='Number of source image. This value is optional.'/>
<xmp_property name='FirstPhotoDate' category='external' type='date' label='First Photo Date' description='Date and time of the first image taken. This value is optional.'/>
<xmp_property name='LastPhotoDate' category='external' type='date' label='Last Photo Date' description='Date and time of the last image taken. This value is optional.'/>
</xmp_schema>
</xmp_definitions> |
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2014 by Jürgen Matern (/author/juergen/)
This file is licensed under the Creative Commons Attribution ShareAlike 3.0
License (http://creativecommons.org/licenses/by-sa/3.0/).
In short: you are free to share and make derivative works of the file under
the conditions that you appropriately attribute it and that you distribute
it only under a license identical to this one.
Photosphere File Info Panel (photosphereSchema.xml)
-->
<xmp_definitions>
<!-- Defining the namespace and prefix of the schema -->
<xmp_schema prefix='GPano' namespace='http://ns.google.com/photos/1.0/panorama/' label='Photosphere' description='Properties for Photospheres'>
<!-- Defining the properties -->
<xmp_property name='StitchingSoftware' category='external' type='openchoice' element_type='text' label='Stitching Software:' description='The software which created the panorama.'>
<xmp_choice raw_value='PTGui Pro 10.0.10' label='PTGui Pro 10.0.10'/>
<xmp_choice raw_value='PTGui 10.0.10' label='PTGui 10.0.10'/>
<xmp_choice raw_value='Hugin' label='Hugin'/>
</xmp_property>
<xmp_property name='ProjectionType' category='external' type='closedchoice' element_type='text' label='Pano Projection:' description='Currently Google applications only support equirectangular projection.' >
<xmp_choice raw_value='equirectangular' label='equirectangular'/>
<xmp_choice raw_value='' label='none specified'/>
</xmp_property>
<xmp_property name='UsePanoramaViewer' category='external' type='boolean' label='Use Panorama Viewer:' description='Set this value if the image should show as photosphere.' />
<xmp_property name='PoseHeadingDegrees' category='external' type='real' label='Heading:' description='This field is only mandatory for Google Maps. It is the direction in the middle of the image in degrees. North=0, East=90, South=180, West=270. See [GPS].' />
<xmp_property name='CroppedAreaImageWidthPixels' category='external' type='integer' label='Cropped Area Image Width:' description='For full spheres the same as Full Pano Width and width of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='CroppedAreaImageHeightPixels' category='external' type='integer' label='Cropped Image Heigth:' description='For full spheres the same as Full Pano heigth and height of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='FullPanoWidthPixels' category='external' type='integer' label='Full Pano Width:' description='For full spheres this equals to the height of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='FullPanoHeightPixels' category='external' type='integer' label='Full Pano Heigth:' description='For full spheres this equals to the height of the image in pixels (see [Image Size] further down).'/>
<xmp_property name='CroppedAreaLeftPixels' category='external' type='integer' label='Cropped Pixels Left:' description='Set to 0 for full spheres.'/>
<xmp_property name='CroppedAreaTopPixels' category='external' type='integer' label='Cropped Pixels Top:' description='Set to 0 for full spheres.'/>
<xmp_property name='SourcePhotosCount' category='external' type='integer' label='Source Photos Count:' description='Number of source image. This value is optional.'/>
<xmp_property name='FirstPhotoDate' category='external' type='date' label='First Photo Date' description='Date and time of the first image taken. This value is optional.'/>
<xmp_property name='LastPhotoDate' category='external' type='date' label='Last Photo Date' description='Date and time of the last image taken. This value is optional.'/>
</xmp_schema>
</xmp_definitions>
Change to the newly created directory ‘view’ and create a file named
photosphereView.xml
with the following content (or download the file here):
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2014 by Jürgen Matern (/author/juergen/)
This file is licensed under the Creative Commons Attribution ShareAlike 3.0
License (http://creativecommons.org/licenses/by-sa/3.0/).
In short: you are free to share and make derivative works of the file under
the conditions that you appropriately attribute it and that you distribute
it only under a license identical to this one.
Photosphere File Info Panel (photosphereView.xml)
-->
<views xmlns="http://ns.adobe.com/metadata/ui/1.0/">
<view
xmlns:exif="http://ns.adobe.com/exif/1.0/"
xmlns:GPano='http://ns.google.com/photos/1.0/panorama/'
name="Photosphere"
label="Photosphere"
description="This view shows the GPano properties and some other values from the EXIF metadata.">
<section label="Photosphere" type="labelled">
<property name='GPano:StitchingSoftware' />
<property name='GPano:ProjectionType' />
<property name='GPano:UsePanoramaViewer' />
<property name='GPano:PoseHeadingDegrees' />
<property name='GPano:CroppedAreaImageWidthPixels' />
<property name='GPano:CroppedAreaImageHeightPixels' />
<property name='GPano:FullPanoWidthPixels' />
<property name='GPano:FullPanoHeightPixels' />
<property name='GPano:CroppedAreaLeftPixels' />
<property name='GPano:CroppedAreaTopPixels' />
<property name='GPano:SourcePhotosCount' />
<property name='GPano:FirstPhotoDate' />
<property name='GPano:LastPhotoDate' />
</section>
<section label="Image Size" type="labelled">
<property name="exif:PixelXDimension"/>
<property name="exif:PixelYDimension"/>
</section>
<section label="GPS" type="labelled">
<property name='exif:GPSLongitude' />
<property name='exif:GPSLatitude' />
<property name='exif:GPSAltitude' />
<property name='exif:GPSImgDirection' />
<property name='exif:GPSDestLongitude' />
<property name='exif:GPSDestLatitude' />
</section>
</view>
</views> |
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2014 by Jürgen Matern (/author/juergen/)
This file is licensed under the Creative Commons Attribution ShareAlike 3.0
License (http://creativecommons.org/licenses/by-sa/3.0/).
In short: you are free to share and make derivative works of the file under
the conditions that you appropriately attribute it and that you distribute
it only under a license identical to this one.
Photosphere File Info Panel (photosphereView.xml)
-->
<views xmlns="http://ns.adobe.com/metadata/ui/1.0/">
<view
xmlns:exif="http://ns.adobe.com/exif/1.0/"
xmlns:GPano='http://ns.google.com/photos/1.0/panorama/'
name="Photosphere"
label="Photosphere"
description="This view shows the GPano properties and some other values from the EXIF metadata.">
<section label="Photosphere" type="labelled">
<property name='GPano:StitchingSoftware' />
<property name='GPano:ProjectionType' />
<property name='GPano:UsePanoramaViewer' />
<property name='GPano:PoseHeadingDegrees' />
<property name='GPano:CroppedAreaImageWidthPixels' />
<property name='GPano:CroppedAreaImageHeightPixels' />
<property name='GPano:FullPanoWidthPixels' />
<property name='GPano:FullPanoHeightPixels' />
<property name='GPano:CroppedAreaLeftPixels' />
<property name='GPano:CroppedAreaTopPixels' />
<property name='GPano:SourcePhotosCount' />
<property name='GPano:FirstPhotoDate' />
<property name='GPano:LastPhotoDate' />
</section>
<section label="Image Size" type="labelled">
<property name="exif:PixelXDimension"/>
<property name="exif:PixelYDimension"/>
</section>
<section label="GPS" type="labelled">
<property name='exif:GPSLongitude' />
<property name='exif:GPSLatitude' />
<property name='exif:GPSAltitude' />
<property name='exif:GPSImgDirection' />
<property name='exif:GPSDestLongitude' />
<property name='exif:GPSDestLatitude' />
</section>
</view>
</views>
The properties ‘SourcePhotosCount’, ‘FirstPhotoDate’ and ‘LastPhotoDate’ are optional values for a photosphere.
Then open the file info dialog of Photoshop CC 2014. When all the meta data is missing, the new panel looks like this on a german installation:
And the following screenshot shows the panel, when the meta data fields are already populated.