|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Filter 3D points with postgis, st_disjoint st_intersectsHi all, I've just discover that I've a trouble (another) with 3D.
I've 2 set of records, one is full, the other have some hole inside. I'm looking a way to extract ( building some 3d polygons or 3d lines ) point that are in the first full set, not present in the second. ( Find the hole ) I was thinking about using st_intersects &| st_disjoint but I realize that select st_disjoint( st_setsrid(st_makepoint(585000, 226500, 0),21781), st_setsrid(st_makepoint(585000, 226500, 100),21781) ) , st_intersects( st_setsrid(st_makepoint(585000, 226500, 0),21781), st_setsrid(st_makepoint(585000, 226500, 100),21781) ) return false,true ... which should return true,false. Did I need to invent my st_intersects3D function which would you st_intersects with X,Y and an another check on Z equality ? Did you think it's a good idea. PS : I'm using postgis 1.3.5 now, did the 1.4.0 release could help me in this case ? Many thanks in advance for your precious advise -- Bruno Friedmann _______________________________________________ postgis-users mailing list postgis-users@... http://postgis.refractions.net/mailman/listinfo/postgis-users |
|
|
Re: Filter 3D points with postgis, st_disjoint st_intersects2009/10/14 Bruno Friedmann <bruno@...>:
> Hi all, I've just discover that I've a trouble (another) with 3D. > > I've 2 set of records, one is full, the other have some hole inside. > I'm looking a way to extract ( building some 3d polygons or 3d lines ) point that are in the first full set, not present in the > second. ( Find the hole ) > > I was thinking about using st_intersects &| st_disjoint but I realize that > > select st_disjoint( > st_setsrid(st_makepoint(585000, 226500, 0),21781), > st_setsrid(st_makepoint(585000, 226500, 100),21781) > ) > , > st_intersects( > st_setsrid(st_makepoint(585000, 226500, 0),21781), > st_setsrid(st_makepoint(585000, 226500, 100),21781) > ) > > return false,true ... which should return true,false. I think whats happening is that although the coords are stored x,y,z... the calculations project them first. So its not a 3D comparison. > > Did I need to invent my st_intersects3D function which would you st_intersects with X,Y and an another check on Z equality ? > > Did you think it's a good idea. > > PS : I'm using postgis 1.3.5 now, did the 1.4.0 release could help me in this case ? > > Many thanks in advance for your precious advise > > > -- > > Bruno Friedmann > > _______________________________________________ > postgis-users mailing list > postgis-users@... > http://postgis.refractions.net/mailman/listinfo/postgis-users > -- Brian Modra Land line: +27 23 5411 462 Mobile: +27 79 69 77 082 5 Jan Louw Str, Prince Albert, 6930 Postal: P.O. Box 2, Prince Albert 6930 South Africa http://www.zwartberg.com/ _______________________________________________ postgis-users mailing list postgis-users@... http://postgis.refractions.net/mailman/listinfo/postgis-users |
|
|
Re: Filter 3D points with postgis, st_disjoint st_intersectsNo, ST_Intersects is just a 2D only operation. Extra dimensions are
not accounted for. Once you get into operations on polygons, it becomes impossible to do 3D ops, since the 3D volumetric shape of a polygon-with-zs is ambiguous for most cases. P. On Tue, Oct 13, 2009 at 11:33 PM, Brian Modra <brian@...> wrote: > 2009/10/14 Bruno Friedmann <bruno@...>: >> Hi all, I've just discover that I've a trouble (another) with 3D. >> >> I've 2 set of records, one is full, the other have some hole inside. >> I'm looking a way to extract ( building some 3d polygons or 3d lines ) point that are in the first full set, not present in the >> second. ( Find the hole ) >> >> I was thinking about using st_intersects &| st_disjoint but I realize that >> >> select st_disjoint( >> st_setsrid(st_makepoint(585000, 226500, 0),21781), >> st_setsrid(st_makepoint(585000, 226500, 100),21781) >> ) >> , >> st_intersects( >> st_setsrid(st_makepoint(585000, 226500, 0),21781), >> st_setsrid(st_makepoint(585000, 226500, 100),21781) >> ) >> >> return false,true ... which should return true,false. > > I think whats happening is that although the coords are stored > x,y,z... the calculations project them first. > So its not a 3D comparison. > >> >> Did I need to invent my st_intersects3D function which would you st_intersects with X,Y and an another check on Z equality ? >> >> Did you think it's a good idea. >> >> PS : I'm using postgis 1.3.5 now, did the 1.4.0 release could help me in this case ? >> >> Many thanks in advance for your precious advise >> >> >> -- >> >> Bruno Friedmann >> >> _______________________________________________ >> postgis-users mailing list >> postgis-users@... >> http://postgis.refractions.net/mailman/listinfo/postgis-users >> > > > > -- > Brian Modra Land line: +27 23 5411 462 > Mobile: +27 79 69 77 082 > 5 Jan Louw Str, Prince Albert, 6930 > Postal: P.O. Box 2, Prince Albert 6930 > South Africa > http://www.zwartberg.com/ > _______________________________________________ > postgis-users mailing list > postgis-users@... > http://postgis.refractions.net/mailman/listinfo/postgis-users > postgis-users mailing list postgis-users@... http://postgis.refractions.net/mailman/listinfo/postgis-users |
| Free embeddable forum powered by Nabble | Forum Help |