Select to view content in your preferred language

How to position CityEngine camera using lat/long coordiantes

2642
1
11-19-2015 11:56 AM
PhilErickson
New Contributor

This is my first post in GeoNet. I'm a new user to CityEngine. I am attempting to combine CityEngine screenshots with Google Street View images. Specifically I am designing complete street roadways using the Complete Streets rule, and I would like to overlay the street design in to a a real-world location from Street View. I understand how to position the camera and how to combine the CityEngine scene with the Street View image in Photoshop. I want align the CityEngine scene perfectly with Street View however. Street View provides specific lat/long coordinates, camera angle, heading, and perspective information. I would like to enter this information in to the CityEngine camera controls. I am having trouble doing this however. The CE camera control XYZ inputs are unfamiliar with me. Does anyone know how this works? I would like to input all of Street View's navigation data in to the CE camera control to create perfectly aligned scenes that would directly overlay on to a Street View image without any further image manipulation in Photoshop.

This is a test image that a colleague made. It shows what we're trying to accomplish: inserting a CE scene in to a Street View image. However positioning the camera in CE was done manually, with much trial and error. In the the perspective is still not correct and additional editing was done in Photoshop to make the CE scene fit. This resulted in some unwanted distortion to the CE scene. If Street View positioning data could be inputted in to the CE camera controls, performing this integration would be much more accurate and much quicker to do.

14thSt1stshot.JPG

0 Kudos
1 Reply
ThomasFuchs
Esri Regular Contributor

Hi Phil,

thank you for your question and welcome to GeoNet!

When providing a set of coordinates (Lat/Long) to Google Street View, the Image API returns an image of a location from which the coordinates are visible. Here is a description how to obtain exact camera coordinates (Lat/Long) of the received panorama image:

https://developers.google.com/maps/documentation/javascript/streetview#StreetViewServiceResponses

To align a CityEngine scene to a street view panorama you need to define a new camera in the Camera Menu. The CityEngine Help gives a description on how to set the camera parameters.

CityEngine Help Cameras

2015-11-23 19_04_35-Welcome _ GeoNet.png

Here is how to define the values:

  1. Angle of View
    Zoom level 1 (default) correspondents roughly to a 90° field of view
    https://developers.google.com/maps/documentation/javascript/streetview#TilingPanoramas
  2. horizontal Position (X,-Z)The geographical coordinates of the camera center have to be first transformed into the chosen cartesian scene coordinate system.
    http://cehelp.esri.com/help/topic/com.procedural.cityengine.help/html/manual/georef/scs.html
    As a final step they have to be converted to get CityEngine coordinates with y-up, meters representation
    http://cehelp.esri.com/help/topic/com.procedural.cityengine.help/html/manual/georef/vcs.html
  3. vertical Position (Y)
    The exact camera height of the panorama is usually not provided. Typically it is about 2.5m / 8 ft above street level. The Elevation of the street level at the camera position in CityEngine coordinates can be obtained from the Navigation Display by pointing the mouse on the street.
  4. Rotation
    X defines the Lateral axis (pitch) rotation
    Y defines the Vertical axis (yaw) rotation
    Z defines the Longitudinal (roll) rotation (typically 0)
  5. Distance to Point of Interest
    this value can be set to 1 in order to make small corrections in rotation.
0 Kudos