# What is the correct way to convert screen coordinates to Cartesian3

**URL:** <https://community.cesium.com/t/what-is-the-correct-way-to-convert-screen-coordinates-to-cartesian3/2851>\
**Category:** CesiumJS\
**Created:** [July 27, 2015, 5:41pm UTC](https://community.cesium.com/t/what-is-the-correct-way-to-convert-screen-coordinates-to-cartesian3/2851 "2015-07-27T17:41:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dmitri.pissarenko](https://avatars.discourse-cdn.com/v4/letter/d/b38774/32.png) [@dmitri.pissarenko](https://community.cesium.com/u/dmitri.pissarenko)\
**Post date:** [July 27, 2015, 5:41pm UTC](https://community.cesium.com/t/what-is-the-correct-way-to-convert-screen-coordinates-to-cartesian3/2851/1 "2015-07-27T17:41:15Z")

</div>

Hello!

Imagine I want to put a model at the place, where the user clicks.

How do I convert mouse coordinates to Cartesian3 coordinates?

I tried following approaches and none of them works.

1)  
&nbsp;&nbsp;&nbsp;&nbsp;var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);  
&nbsp;&nbsp;&nbsp;&nbsp;handler.setInputAction(function(movement) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var cartesianCoordinates = Cesium.Cartesian3.clone(movement.position);  
&nbsp;&nbsp;&nbsp;&nbsp;}, Cesium.ScreenSpaceEventType.LEFT\_DOWN);

2)

var handler = new Cesium.ScreenSpaceEventHandler(canvas);  
&nbsp;&nbsp;&nbsp;&nbsp;handler.setInputAction(function(movement) {  
&nbsp;&nbsp;&nbsp;&nbsp;var canvas = viewer.canvas;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var cartesianCoordinates = new Cesium.Cartesian3(  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movement.position.x / canvas.clientWidth,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movement.position.y / canvas.clientHeight,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);  
&nbsp;&nbsp;&nbsp;&nbsp;}, Cesium.ScreenSpaceEventType.LEFT\_DOWN);

3)

&nbsp;&nbsp;&nbsp;&nbsp;var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);  
&nbsp;&nbsp;&nbsp;&nbsp;handler.setInputAction(function(movement) {  
&nbsp;&nbsp;&nbsp;&nbsp;var canvas = viewer.canvas;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var cartesianCoordinates = new Cesium.Cartesian3(  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movement.position.x / canvas.clientWidth,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- movement.position.y / canvas.clientHeight,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.);  
&nbsp;&nbsp;&nbsp;&nbsp;}, Cesium.ScreenSpaceEventType.LEFT\_DOWN);

So how do I it correctly?

Thanks in advance

Dmitri Pisarenko

---

<div class="post-metadata">

**Author:** ![hannah](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/hannah/32/4509_2.png) [@hannah](https://community.cesium.com/u/hannah)\
**Post date:** [July 27, 2015, 5:47pm UTC](https://community.cesium.com/t/what-is-the-correct-way-to-convert-screen-coordinates-to-cartesian3/2851/2 "2015-07-27T17:47:30Z")

</div>

Hello Dmitri,

You need to use [Camera.pickEllipsoid](http://cesiumjs.org/Cesium/Build/Documentation/Camera.html#pickEllipsoid) to get the globe position.

Take a look at our picking demo: [http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Picking.html&label=Showcases](http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Picking.html&label=Showcases)

The first example uses pickEllipsoid to get the Cartesian3 position for displaying a label with the longitude and latitude coordinates.

Best,

Hannah

---

<div class="post-metadata">

**Author:** ![Dmitri\_Pisarenko](https://avatars.discourse-cdn.com/v4/letter/d/f4b2a3/32.png) [@Dmitri\_Pisarenko](https://community.cesium.com/u/Dmitri_Pisarenko)\
**Post date:** [July 29, 2015, 5:46pm UTC](https://community.cesium.com/t/what-is-the-correct-way-to-convert-screen-coordinates-to-cartesian3/2851/3 "2015-07-29T17:46:08Z")

</div>

Hello, Hannah!

Many thanks for your answer, now it works.

Best regards

Dmitri Pisarenko
