Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lat Long #9

Open
dmgctrlr opened this issue Apr 27, 2016 · 8 comments
Open

Lat Long #9

dmgctrlr opened this issue Apr 27, 2016 · 8 comments
Labels

Comments

@dmgctrlr
Copy link

I'm trying to use this with map latitudes / longitudes.

Calling $voronoi->compute with 10 sites appears to hang.

My bbox is
$bbox->xl = -113;
$bbox->xr = -111;
$bbox->yt = 31;
$bbox->yb = 34;

but the Nurbs_Point x and y are floats, for example -111.972288 33.428495

Am I doing something wrong?

@sroze
Copy link
Owner

sroze commented Apr 27, 2016

Hi @dmgctrlr! That's normal that points' coordinates are floats. However, it might be a bug if the x is slightly outside of the bbox...

Could you create a PR with a failing test? Or at least giving me a "failing" example?

@sroze sroze added the bug label Apr 27, 2016
@dmgctrlr
Copy link
Author

Hi @sroze! thanks for your response. I'm not 100% sure that its failing, but even after 20 minutes it has not completed, whereas your example runs very fast. Here is an var_export of my $sites array is :

array (
0 =>
Nurbs_Point::__set_state(array(
'x' => '-112.121262',
'y' => '33.416515',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
1 =>
Nurbs_Point::__set_state(array(
'x' => '-112.064830',
'y' => '33.419762',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
2 =>
Nurbs_Point::__set_state(array(
'x' => '-112.050127',
'y' => '33.706717',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
3 =>
Nurbs_Point::__set_state(array(
'x' => '-112.105545',
'y' => '33.688492',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
4 =>
Nurbs_Point::__set_state(array(
'x' => '-111.945614',
'y' => '33.290901',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
5 =>
Nurbs_Point::__set_state(array(
'x' => '-111.663908',
'y' => '33.342023',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
6 =>
Nurbs_Point::__set_state(array(
'x' => '-111.993568',
'y' => '33.424774',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
7 =>
Nurbs_Point::__set_state(array(
'x' => '-111.787722',
'y' => '33.504458',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
8 =>
Nurbs_Point::__set_state(array(
'x' => '-111.857654',
'y' => '33.442678',
'z' => NULL,
'id' => NULL,
'halfedges' =>
array (
),
)),
);

And my bbox is like this:

$bbox = new stdClass();
$bbox->xl = -114;
$bbox->xr = -110;
$bbox->yt = 31;
$bbox->yb = 34;

When I then do

$voronoi = new Voronoi();
$diagram = $voronoi->compute( $sites, $bbox );

it does not complete. Am I misunderstanding something?

@sroze
Copy link
Owner

sroze commented Apr 27, 2016

Erm, could you create a gist or something that I can run by copy/pasting to reproduce and hopeful fix the bug? Thanks :)

@dmgctrlr
Copy link
Author

dmgctrlr commented Apr 27, 2016

Is this suitable? Sorry I'm not very github savvy

https://gist.github.com/dmgctrlr/7dcf8b9f942c2f964546e78816480ef6

@dmgctrlr
Copy link
Author

If it helps, when I use only the first 3 points in that array, it returns quite quickly. But if I extend that to the first 4 or 5 points, thats when it hangs.

@sroze
Copy link
Owner

sroze commented Jun 2, 2019

Can you check again with master? This issue might have been the cause 🤔
#13

@chandon
Copy link

chandon commented Jun 22, 2019

Got the same problem with last master (including #13)
Example with var_dump :
array (size=5)
0 =>
object(sroze\voronoi\Nurbs\Point)[14130]
public 'x' => string '50.793264' (length=9)
public 'y' => string '4.310584' (length=8)
public 'z' => null
public 'id' => null
public 'halfedges' =>
array (size=0)
empty
1 =>
object(sroze\voronoi\Nurbs\Point)[14131]
public 'x' => string '41.841491200825956' (length=18)
public 'y' => string '12.552025384655735' (length=18)
public 'z' => null
public 'id' => null
public 'halfedges' =>
array (size=0)
empty
2 =>
object(sroze\voronoi\Nurbs\Point)[14132]
public 'x' => string '41.90518551884903' (length=17)
public 'y' => string '12.59976169311517' (length=17)
public 'z' => null
public 'id' => null
public 'halfedges' =>
array (size=0)
empty
3 =>
object(sroze\voronoi\Nurbs\Point)[14133]
public 'x' => string '41.93228688638168' (length=17)
public 'y' => string '12.594373965606678' (length=18)
public 'z' => null
public 'id' => null
public 'halfedges' =>
array (size=0)
empty
4 =>
object(sroze\voronoi\Nurbs\Point)[14134]
public 'x' => string '48.2632233' (length=10)
public 'y' => string '14.2610947' (length=10)
public 'z' => null
public 'id' => null
public 'halfedges' =>
array (size=0)
empty

@chandon
Copy link

chandon commented Jun 22, 2019

This implementation is really not working, there should by a typo somewhere. Results are not consistants with 4 points...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants