| 02:01:15 | simplexio: | lbracher: st_endpoint( st_geomn( geom, "last_linestring" ) |
| 02:01:54 | simplexio: | lbracher: assuming that those lines are in right order in multiline |
| 02:02:36 | simplexio: | lbracher: or if st_linemerge( geom ), produces linestring then just using st_endpoint |
| 02:04:35 | simplexio: | lbracher: or extracting all linestring from multiline merging them with own pathcreator |
| 02:04:42 | simplexio: | like i did |
| 02:06:16 | simplexio: | lbracher: but far as i know multilinestring is just colelction of string and there are no guarantee( sp? ) that last one in colelction really is last one or first on "line" |
| 03:14:12 | simplexio: | for future reference coelction = collection |
| 04:21:58 | lbracher: | simplexio: thank you! : ) |
| 04:35:39 | simplexio: | been working on samekind problem |
| 04:36:19 | simplexio: | have to create linestring from colelction of linestrings |
| 04:36:58 | simplexio: | god i hate those "traffic circles", howto figure which point should be endpoint for it |
| 06:13:11 | lbracher: | simplexio: what is a traffic circle? |
| 06:14:28 | lbracher: | simplexio: do you know how to return the set of records that have a certain point in its geometry? |
| 06:36:11 | simplexio: | lbracher: "traffic circle" = place where is crossing, but road makes circle |
| 06:37:02 | simplexio: | talking about roads ... |
| 06:38:34 | simplexio: | lbracher: an, you need to make point and then ask st_within( geomA, geomB ) |
| 06:39:13 | simplexio: | ot st_contains |
| 06:40:01 | lbracher: | simplexio: well, my problem is: i have the extreme points of roads |
| 06:40:33 | lbracher: | i would like to know which roads crosses that road in this point |
| 06:40:46 | lbracher: | i mean, in the extreme points. |
| 06:40:56 | simplexio: | extreme means ? start and enpoints ? |
| 06:41:02 | lbracher: | yes |
| 06:41:43 | simplexio: | you could try st_crosses( geom,geom ) |
| 06:44:00 | simplexio: | something like this : select * from table t, startpoints s where st_crosses( s.geom, t.geom ) + something to limit test |
| 06:44:36 | simplexio: | im little on rust, havent done sql for two weeks : ) |
| 06:47:34 | simplexio: | also you could limit that query with where st_intersects( s.geom,t.geom ) = TRUE |
| 06:51:11 | simplexio: | where you need that info |
| 06:51:21 | simplexio: | because that sound like routing |
| 06:51:41 | simplexio: | and there are ready solutions for calculating needed tables |
| 06:57:18 | lbracher: | hmmm... let me try here... |
| 07:02:53 | lbracher: | doesn´t work... =/ |
| 07:03:48 | lbracher: | i´m trying this way: |
| 07:04:03 | lbracher: | i got the start point with this sql: |
| 07:04:27 | lbracher: | select astext( startpoint( the_geom ) ) from streets where gid = 1; |
| 07:04:38 | lbracher: | i got this: |
| 07:04:45 | lbracher: | POINT( 287838.063119921 7474235.97659941 ) |
| 07:04:56 | lbracher: | so, i tried: |
| 07:05:33 | lbracher: | select intersects( GeomFromText( 'POINT( 287838.063119921 7474235.97659941 )' ), s.the_geom ) from streets s where s.gid = 1; |
| 07:05:48 | lbracher: | returned false... =/ |
| 07:06:06 | simplexio: | hmm.. |
| 07:06:51 | simplexio: | select * from streets s, ( select select astext( startpoint( the_geom ) ) from streets where gid = 1 |
| 07:06:54 | simplexio: | ups |
| 07:08:32 | simplexio: | select * from streets s, ( select startpoint( the_geom ) as geom from streets where gid = 1 ) b WHERE st_interescts( b.geom, s.the_geom ) = TRUE |
| 07:09:04 | simplexio: | that should work.. after you fix that typo on st_intersects |
| 07:10:12 | lbracher: | yes, it works! |
| 07:10:24 | lbracher: | thank you so much, simplexio! : ) |
| 07:12:10 | simplexio: | http://postgis.refractions.net/docs/ and http://postgis.refractions.net/docs/ch06.html#id2594743 |
| 07:12:11 | sigq: | Title: PostGIS Manual ( at postgis.refractions.net ) |
| 07:12:36 | simplexio: | last one has all functions |