Esri / wind-js

An demo animation of wind on a Canvas layer in the JSAPI
MIT License
735 stars 214 forks source link

EPSG 4326 projection support? #30

Open Begio opened 6 years ago

Begio commented 6 years ago

I am interested in using your plugin in order to represent data of automatic weather stations interpoleting them on a grid. I have achieved good outcomes with Web Mercator EPSG3857 projection. I would like to know if you could help me editing your script so that I can use it with EPSG 4326 projection. Find attached two images:

Web Mercator EPSG3857 https://imgur.com/MqbwGsR https://imgur.com/B86uBQb EPSG 4326 projection: https://imgur.com/NmRXUTI

I look forward to your response.

Many thanks in advance.

Kind regards.

jgravois commented 6 years ago

hi @Begio! I can definitely try and help if you have a specific question.

Begio commented 6 years ago

Hi @jgravois,

I've partly managed to solve the problem by modifying the H parameter in the function "distortion" from windy.js.

var H = Math.pow(10, -5.2) ; with a value around 3, particles appear in movement.

https://imgur.com/TKD0dw8

The problem is that the canvas image created does not adjust to the interpolated values in windy.js, that is to say, the grid of values adjusts perfectly to (latitude, longitude, value) but the canvas image is put above these latlon values (literally the problem lies on the latitude (height), not the longitude (width)), although the movement of the particles and their intensity are correct. It's like if the image wasn't correctly fit in the map in the 4326 projection and keeps the Web Mercator.

Do you have any idea about what could be happening regarding to the generated canvas bounds? Maybe the distortion function is not correct in another projection apart from Web Mercator? Where and how could I change the mercator projection to 4326? I guess it lies in the invert (x, y, windy) function.

I've also seen that the function includes a variable called "projection" which is defined in the 274 line and I don't know where could it be used nor the function it has.

Kind regards.