> > Ok, > > basically I have table location(id int, point geometry(POINT)) and function > getallpointsincircle(longitude, latitude, radius) which gives set of > internal indexes from location table if point in table is in the radius of > parameters of function. Inside function I am using st_dwithin > > declare > t2_row location%rowtype; > po geometry;begin > po:=st_geomfromtext('POINT('||lon||' '||lat||')',3044); > for t2_row in select * from location > loop > if st_dwithin(t2_row.point,po, radius) is truethen return next t2_row.id;end > if;end loop;return;end; > > > idst_astext > 12 > POINT(7.4545 44) > 13 > POINT(7.49785 44) > 14 > POINT(7.6845 44) > 15 > POINT(7.96311 44) > 16 > POINT(55.859755 9.847419) > > these are test values in location table, as you can see point(16) has > measured coords, others are bogus. > Now, when I execute my function select > getallpointsincircle(56.162882,10.203944,45000.0), all the indexes are > returned. Approximately the distance between these places is 40 km. But when > I exchange 45000.0 with 0.46 i will get proper index(16 in this case). > > > > 2011/3/7 Mike Toews <mwto...@gmail.com> > > You are using EPSG:3044, correct? >> http://spatialreference.org/ref/epsg/3044/ >> >> <http://spatialreference.org/ref/epsg/3044/>This projection has units of >> metres. ST_DWithin and related functions use the same units of length as >> defined in the projection, which in this case is metres, not degrees. You >> may need to elaborate with an example. >> >> -Mike >> >> >> On 7 March 2011 23:41, michal nagy <lachim1...@gmail.com> wrote: >> >>> Well, it sitll does not solve my problem. As I said I am using >>> geometry(planar) with SRID 3044, where units are degrees, therefore when >>> using st_dwithin will still take input in degrees. >>> >>> 2011/3/7 Paragon Corporation <l...@pcorp.us> >>> >>>> Use ST_DWithin instead. >>>> http://www.postgis.org/documentation/manual-1.5SVN/ST_DWithin.html >>>> >>>> We cover this topic in detail in the first chapter of our book which is >>>> a free download. >>>> >>>> http://www.postgis.us/chapter_01 >>>> >>>> Leo and Regina >>>> >>>> ------------------------------ >>>> *From:* postgis-users-boun...@postgis.refractions.net [mailto: >>>> postgis-users-boun...@postgis.refractions.net] *On Behalf Of *michal >>>> nagy >>>> *Sent:* Monday, March 07, 2011 2:29 AM >>>> *To:* postgis-users@postgis.refractions.net >>>> *Subject:* [postgis-users] meters to degrees >>>> >>>> >>>> Hello everyone, >>>> >>>> I am new to Postgres and PostGIS. I have encountered one problem, that I >>>> can not deal with.I have table with various points that have SRID=3044, >>>> which should be UTM zone including Jutland. I have created function to >>>> loop through all points in table and check if they are within given >>>> radius(using geometry and function st_point_inside_circle). Now to the >>>> problem, for some reason st_point_inside_circle takes radius in degrees, >>>> which is very inconvenient for me. I would really need to change to >>>> metres. If anyone has a suggestion, pls let me know. >>>> >>>> Thank you for help >>>> >>>> Michal >>>> >>>> _______________________________________________ >>>> postgis-users mailing list >>>> >>>> postgis-users@postgis.refractions.net >>>> http://postgis.refractions.net/mailman/listinfo/postgis-users >>>> >>>> >>> >>> _______________________________________________ >>> postgis-users mailing list >>> postgis-users@postgis.refractions.net >>> http://postgis.refractions.net/mailman/listinfo/postgis-users >>> >>> >> >
_______________________________________________ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users