|
View:
New views
19 Messages
—
Rating Filter:
Alert me
|
|
|
Geog/Geom HackI'm interested to know what the general opinion is of the trick I've
used on ST_Buffer(geography): http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 I ask because I could apply the same idea to the larger suite of OGC SFSQL predicates before release. Is half-a-loaf better than no loaf in this case? (Note that there will be failure cases for really large geometry, like a polygon of "Asia" or "Russia" that have polygons over the dateline.) P. _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackPaul,
I would rather you didn't for 2 reasons 1) I'm lazy and for each of these things we'd have to apply the text additional function proto hack to prevent from it breaking geometry. which we will probably end up taking out anyway. 2) I don't like the hiddenness of it since it becomes especially annoying if you have your native in geometry and you are converting to geography for a special usecase, then you end up with a slower implementation as you would really end up doing accidentally geometry -> geography -> geometry ->operation (and why do I want my calcs done in UTM?) Instead of the more efficient geometry -> operation Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Paul Ramsey Sent: Friday, October 30, 2009 8:16 PM To: PostGIS Development Discussion Subject: [postgis-devel] Geog/Geom Hack I'm interested to know what the general opinion is of the trick I've used on ST_Buffer(geography): http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 I ask because I could apply the same idea to the larger suite of OGC SFSQL predicates before release. Is half-a-loaf better than no loaf in this case? (Note that there will be failure cases for really large geometry, like a polygon of "Asia" or "Russia" that have polygons over the dateline.) P. _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackI'm not sure I understand why you would ever convert a geometry to a
geography as part of a query on a geometry table. I fully expect geography to be used as a storage type, because of the utility of having the correct spherical indexes, which are not available when you're just converting in via a cast. Since there's no functions available on geography that are not already available on geometry, why would you ever do a geometry->geography cast unless you are (a) testing geography or (b) bulk converting a table into geography for storage in that type. P. On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: > Paul, > I would rather you didn't for 2 reasons > > 1) I'm lazy and for each of these things we'd have to apply the text > additional function proto hack to prevent from it breaking geometry. which > we will probably end up taking out anyway. > > 2) I don't like the hiddenness of it since it becomes especially annoying if > you have your native in geometry and you are converting to geography for a > special usecase, then you end up with a slower implementation > > as you would really end up doing accidentally > > geometry -> geography -> geometry ->operation (and why do I want my calcs > done in UTM?) > > Instead of the more efficient > > geometry -> operation > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of Paul > Ramsey > Sent: Friday, October 30, 2009 8:16 PM > To: PostGIS Development Discussion > Subject: [postgis-devel] Geog/Geom Hack > > I'm interested to know what the general opinion is of the trick I've used on > ST_Buffer(geography): > > http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 > > I ask because I could apply the same idea to the larger suite of OGC SFSQL > predicates before release. Is half-a-loaf better than no loaf in this case? > (Note that there will be failure cases for really large geometry, like a > polygon of "Asia" or "Russia" that have polygons over the dateline.) > > P. > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackPaul,
I can put a functional geography index on can't I and take advantage of geography index bindings? Lets say I have a large network of tables broken out by region so I know a specific table has one srid. For many queries, I may go to that table directly or if I'm doing single geometry processing, really don't care what srid as long as its in utm or whatever - so I can use the full power of GEOS. For my across the board distance checks and so forth, I would want to use geography and I could use a geography index if I put a functional geography index on my geometry correct? Though that needs some more testing. So in short if 90% of my workload involves geometry processing, I will want to keep my data in geometry But the 10% I would want to convert to geography on the fly. Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Paul Ramsey Sent: Friday, October 30, 2009 8:34 PM To: PostGIS Development Discussion Subject: Re: [postgis-devel] Geog/Geom Hack I'm not sure I understand why you would ever convert a geometry to a geography as part of a query on a geometry table. I fully expect geography to be used as a storage type, because of the utility of having the correct spherical indexes, which are not available when you're just converting in via a cast. Since there's no functions available on geography that are not already available on geometry, why would you ever do a geometry->geography cast unless you are (a) testing geography or (b) bulk converting a table into geography for storage in that type. P. On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: > Paul, > I would rather you didn't for 2 reasons > > 1) I'm lazy and for each of these things we'd have to apply the text > additional function proto hack to prevent from it breaking geometry. > which we will probably end up taking out anyway. > > 2) I don't like the hiddenness of it since it becomes especially > annoying if you have your native in geometry and you are converting to > geography for a special usecase, then you end up with a slower > implementation > > as you would really end up doing accidentally > > geometry -> geography -> geometry ->operation (and why do I want my > calcs done in UTM?) > > Instead of the more efficient > > geometry -> operation > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of > Paul Ramsey > Sent: Friday, October 30, 2009 8:16 PM > To: PostGIS Development Discussion > Subject: [postgis-devel] Geog/Geom Hack > > I'm interested to know what the general opinion is of the trick I've > used on > ST_Buffer(geography): > > http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c > #L541 > > I ask because I could apply the same idea to the larger suite of OGC > SFSQL predicates before release. Is half-a-loaf better than no loaf in > (Note that there will be failure cases for really large geometry, like > a polygon of "Asia" or "Russia" that have polygons over the dateline.) > > P. > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackYou *can*, but I strongly doubt you *will*. Because there's nothing in
geography that isn't already in geometry. So you as a primary geometry user are going to have no working need to cast things to geography. On the other hand, the very first question from users of geography will be "how can I access <geometry function N>?" So having a relatively full set of functions already available in geography makes sense to me, even if they are hacked in with a planar trick. P. On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation <lr@...> wrote: > Paul, > I can put a functional geography index on can't I and take advantage of > geography index bindings? > > Lets say I have a large network of tables broken out by region so I know a > specific table has one srid. > > For many queries, I may go to that table directly or if I'm doing single > geometry processing, really don't care what srid as long as its in utm or > whatever - so I can use the full power of GEOS. > > For my across the board distance checks and so forth, I would want to use > geography and I could use a geography index if I put a functional geography > index on my geometry correct? Though that needs some more testing. > > > So in short if 90% of my workload involves geometry processing, I will want > to keep my data in geometry > > But the 10% I would want to convert to geography on the fly. > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of Paul > Ramsey > Sent: Friday, October 30, 2009 8:34 PM > To: PostGIS Development Discussion > Subject: Re: [postgis-devel] Geog/Geom Hack > > I'm not sure I understand why you would ever convert a geometry to a > geography as part of a query on a geometry table. I fully expect geography > to be used as a storage type, because of the utility of having the correct > spherical indexes, which are not available when you're just converting in > via a cast. Since there's no functions available on geography that are not > already available on geometry, why would you ever do a geometry->geography > cast unless you are (a) testing geography or (b) bulk converting a table > into geography for storage in that type. > > P. > > > > On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: >> Paul, >> I would rather you didn't for 2 reasons >> >> 1) I'm lazy and for each of these things we'd have to apply the text >> additional function proto hack to prevent from it breaking geometry. >> which we will probably end up taking out anyway. >> >> 2) I don't like the hiddenness of it since it becomes especially >> annoying if you have your native in geometry and you are converting to >> geography for a special usecase, then you end up with a slower >> implementation >> >> as you would really end up doing accidentally >> >> geometry -> geography -> geometry ->operation (and why do I want my >> calcs done in UTM?) >> >> Instead of the more efficient >> >> geometry -> operation >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of >> Paul Ramsey >> Sent: Friday, October 30, 2009 8:16 PM >> To: PostGIS Development Discussion >> Subject: [postgis-devel] Geog/Geom Hack >> >> I'm interested to know what the general opinion is of the trick I've >> used on >> ST_Buffer(geography): >> >> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c >> #L541 >> >> I ask because I could apply the same idea to the larger suite of OGC >> SFSQL predicates before release. Is half-a-loaf better than no loaf in > this case? >> (Note that there will be failure cases for really large geometry, like >> a polygon of "Asia" or "Russia" that have polygons over the dateline.) >> >> P. >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackPaul,
Hmm when I am comparing distance of two geometries in different spatial refs which I do a lot. I still don't like the hack even if you disregard the above or if you must hack -- don't give it the same name as the non-hacked functions. the whole idea of picking BestSRID for a person to cater to less technical users I find extremely annoying as I can think of 20 "BestSRID" depending on what I am doing. If they get to that level of sophistication, I would rather have them think a little more and understand the implications of those decisions. We must learn to crawl before we can learn to walk,because walking without understanding will just get you into trouble in the long run. Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Paul Ramsey Sent: Friday, October 30, 2009 9:47 PM To: PostGIS Development Discussion Subject: Re: [postgis-devel] Geog/Geom Hack You *can*, but I strongly doubt you *will*. Because there's nothing in geography that isn't already in geometry. So you as a primary geometry user are going to have no working need to cast things to geography. On the other hand, the very first question from users of geography will be "how can I access <geometry function N>?" So having a relatively full set of functions already available in geography makes sense to me, even if they are hacked in with a planar trick. P. On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation <lr@...> wrote: > Paul, > I can put a functional geography index on can't I and take advantage > of geography index bindings? > > Lets say I have a large network of tables broken out by region so I > know a specific table has one srid. > > For many queries, I may go to that table directly or if I'm doing > single geometry processing, really don't care what srid as long as its > in utm or whatever - so I can use the full power of GEOS. > > For my across the board distance checks and so forth, I would want to > use geography and I could use a geography index if I put a functional > geography index on my geometry correct? Though that needs some more > > > So in short if 90% of my workload involves geometry processing, I will > want to keep my data in geometry > > But the 10% I would want to convert to geography on the fly. > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of > Paul Ramsey > Sent: Friday, October 30, 2009 8:34 PM > To: PostGIS Development Discussion > Subject: Re: [postgis-devel] Geog/Geom Hack > > I'm not sure I understand why you would ever convert a geometry to a > geography as part of a query on a geometry table. I fully expect > geography to be used as a storage type, because of the utility of > having the correct spherical indexes, which are not available when > you're just converting in via a cast. Since there's no functions > available on geography that are not already available on geometry, why > would you ever do a geometry->geography cast unless you are (a) > testing geography or (b) bulk converting a table into geography for > > P. > > > > On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: >> Paul, >> I would rather you didn't for 2 reasons >> >> 1) I'm lazy and for each of these things we'd have to apply the text >> additional function proto hack to prevent from it breaking geometry. >> which we will probably end up taking out anyway. >> >> 2) I don't like the hiddenness of it since it becomes especially >> annoying if you have your native in geometry and you are converting >> to geography for a special usecase, then you end up with a slower >> implementation >> >> as you would really end up doing accidentally >> >> geometry -> geography -> geometry ->operation (and why do I want my >> calcs done in UTM?) >> >> Instead of the more efficient >> >> geometry -> operation >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of >> Paul Ramsey >> Sent: Friday, October 30, 2009 8:16 PM >> To: PostGIS Development Discussion >> Subject: [postgis-devel] Geog/Geom Hack >> >> I'm interested to know what the general opinion is of the trick I've >> used on >> ST_Buffer(geography): >> >> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in. >> c >> #L541 >> >> I ask because I could apply the same idea to the larger suite of OGC >> SFSQL predicates before release. Is half-a-loaf better than no loaf >> in > this case? >> (Note that there will be failure cases for really large geometry, >> like a polygon of "Asia" or "Russia" that have polygons over the >> dateline.) >> >> P. >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackWe're going to have to agree to disagree on this one, Regina. Catering
to the less technical users is what this exercise is all about, to my mind, and that includes allowing easy flipping into geometry for calculations that aren't supported in geography yet. Oracle does this too. What do other folks think? P. On Fri, Oct 30, 2009 at 7:06 PM, Paragon Corporation <lr@...> wrote: > Paul, > Hmm when I am comparing distance of two geometries in different spatial refs > which I do a lot. > > I still don't like the hack even if you disregard the above or if you must > hack -- don't give it the same name as the non-hacked functions. > > the whole idea of picking BestSRID for a person to cater to less technical > users I find extremely annoying as I can think of 20 "BestSRID" depending on > what I am doing. If they get to that level of sophistication, I would > rather have them think a little more and understand the implications of > those decisions. > > We must learn to crawl before we can learn to walk,because walking without > understanding will just get you into trouble in the long run. > > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of Paul > Ramsey > Sent: Friday, October 30, 2009 9:47 PM > To: PostGIS Development Discussion > Subject: Re: [postgis-devel] Geog/Geom Hack > > You *can*, but I strongly doubt you *will*. Because there's nothing in > geography that isn't already in geometry. So you as a primary geometry user > are going to have no working need to cast things to geography. > > On the other hand, the very first question from users of geography will be > "how can I access <geometry function N>?" So having a relatively full set of > functions already available in geography makes sense to me, even if they are > hacked in with a planar trick. > > P. > > On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation <lr@...> wrote: >> Paul, >> I can put a functional geography index on can't I and take advantage >> of geography index bindings? >> >> Lets say I have a large network of tables broken out by region so I >> know a specific table has one srid. >> >> For many queries, I may go to that table directly or if I'm doing >> single geometry processing, really don't care what srid as long as its >> in utm or whatever - so I can use the full power of GEOS. >> >> For my across the board distance checks and so forth, I would want to >> use geography and I could use a geography index if I put a functional >> geography index on my geometry correct? Though that needs some more > testing. >> >> >> So in short if 90% of my workload involves geometry processing, I will >> want to keep my data in geometry >> >> But the 10% I would want to convert to geography on the fly. >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of >> Paul Ramsey >> Sent: Friday, October 30, 2009 8:34 PM >> To: PostGIS Development Discussion >> Subject: Re: [postgis-devel] Geog/Geom Hack >> >> I'm not sure I understand why you would ever convert a geometry to a >> geography as part of a query on a geometry table. I fully expect >> geography to be used as a storage type, because of the utility of >> having the correct spherical indexes, which are not available when >> you're just converting in via a cast. Since there's no functions >> available on geography that are not already available on geometry, why >> would you ever do a geometry->geography cast unless you are (a) >> testing geography or (b) bulk converting a table into geography for > storage in that type. >> >> P. >> >> >> >> On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: >>> Paul, >>> I would rather you didn't for 2 reasons >>> >>> 1) I'm lazy and for each of these things we'd have to apply the text >>> additional function proto hack to prevent from it breaking geometry. >>> which we will probably end up taking out anyway. >>> >>> 2) I don't like the hiddenness of it since it becomes especially >>> annoying if you have your native in geometry and you are converting >>> to geography for a special usecase, then you end up with a slower >>> implementation >>> >>> as you would really end up doing accidentally >>> >>> geometry -> geography -> geometry ->operation (and why do I want my >>> calcs done in UTM?) >>> >>> Instead of the more efficient >>> >>> geometry -> operation >>> >>> Thanks, >>> Regina >>> >>> -----Original Message----- >>> From: postgis-devel-bounces@... >>> [mailto:postgis-devel-bounces@...] On Behalf Of >>> Paul Ramsey >>> Sent: Friday, October 30, 2009 8:16 PM >>> To: PostGIS Development Discussion >>> Subject: [postgis-devel] Geog/Geom Hack >>> >>> I'm interested to know what the general opinion is of the trick I've >>> used on >>> ST_Buffer(geography): >>> >>> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in. >>> c >>> #L541 >>> >>> I ask because I could apply the same idea to the larger suite of OGC >>> SFSQL predicates before release. Is half-a-loaf better than no loaf >>> in >> this case? >>> (Note that there will be failure cases for really large geometry, >>> like a polygon of "Asia" or "Russia" that have polygons over the >>> dateline.) >>> >>> P. >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >>> >>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackPaul,
I suppose we can't just put this decision off till 2.0. Isn't this a bit of scope creep? I'm not absolutely sure which way is better, but I know the cost of rolling back the change is more. If you are going to do this, how many functions are you planning to do this for? I'm cc'ing the postgis users group too to get more of an opinion on this topic. So the question is it it a good idea to introduce a hack that transforms a geography into what we call BestSRID to perform geometry operations on and then transform back. My concern is that this is a silent operation that gives the impression that these functions are natively done in spheroid space just for the benefit of catering to less technical users. http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 So you can't really tell by looking the penalty Main examples of this as shown for ST_Buffer CREATE OR REPLACE FUNCTION _ST_BestSRID(geography, geography) 530 RETURNS integer 531 AS 'MODULE_PATHNAME','geography_bestsrid' 532 LANGUAGE 'C' IMMUTABLE STRICT; 533 534 -- Availability: 1.5.0 535 CREATE OR REPLACE FUNCTION _ST_BestSRID(geography) 536 RETURNS integer 537 AS 'SELECT _ST_BestSRID($1,$1)' 538 LANGUAGE 'SQL' IMMUTABLE STRICT; 539 540 -- Availability: 1.5.0 541 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8) 542 RETURNS geography 543 AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2), 4326))' 544 LANGUAGE 'SQL' IMMUTABLE STRICT; 545 Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Paul Ramsey Sent: Friday, October 30, 2009 11:07 PM To: PostGIS Development Discussion Subject: Re: [postgis-devel] Geog/Geom Hack We're going to have to agree to disagree on this one, Regina. Catering to the less technical users is what this exercise is all about, to my mind, and that includes allowing easy flipping into geometry for calculations that aren't supported in geography yet. Oracle does this too. What do other folks think? P. On Fri, Oct 30, 2009 at 7:06 PM, Paragon Corporation <lr@...> wrote: > Paul, > Hmm when I am comparing distance of two geometries in different > spatial refs which I do a lot. > > I still don't like the hack even if you disregard the above or if you > must hack -- don't give it the same name as the non-hacked functions. > > the whole idea of picking BestSRID for a person to cater to less > technical users I find extremely annoying as I can think of 20 > "BestSRID" depending on what I am doing. If they get to that level of > sophistication, I would rather have them think a little more and > understand the implications of those decisions. > > We must learn to crawl before we can learn to walk,because walking > without understanding will just get you into trouble in the long run. > > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of > Paul Ramsey > Sent: Friday, October 30, 2009 9:47 PM > To: PostGIS Development Discussion > Subject: Re: [postgis-devel] Geog/Geom Hack > > You *can*, but I strongly doubt you *will*. Because there's nothing in > geography that isn't already in geometry. So you as a primary geometry > user are going to have no working need to cast things to geography. > > On the other hand, the very first question from users of geography > will be "how can I access <geometry function N>?" So having a > relatively full set of functions already available in geography makes > sense to me, even if they are hacked in with a planar trick. > > P. > > On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation <lr@...> wrote: >> Paul, >> I can put a functional geography index on can't I and take advantage >> of geography index bindings? >> >> Lets say I have a large network of tables broken out by region so I >> know a specific table has one srid. >> >> For many queries, I may go to that table directly or if I'm doing >> single geometry processing, really don't care what srid as long as >> its in utm or whatever - so I can use the full power of GEOS. >> >> For my across the board distance checks and so forth, I would want to >> use geography and I could use a geography index if I put a functional >> geography index on my geometry correct? Though that needs some more > testing. >> >> >> So in short if 90% of my workload involves geometry processing, I >> will want to keep my data in geometry >> >> But the 10% I would want to convert to geography on the fly. >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of >> Paul Ramsey >> Sent: Friday, October 30, 2009 8:34 PM >> To: PostGIS Development Discussion >> Subject: Re: [postgis-devel] Geog/Geom Hack >> >> I'm not sure I understand why you would ever convert a geometry to a >> geography as part of a query on a geometry table. I fully expect >> geography to be used as a storage type, because of the utility of >> having the correct spherical indexes, which are not available when >> you're just converting in via a cast. Since there's no functions >> available on geography that are not already available on geometry, >> why would you ever do a geometry->geography cast unless you are (a) >> testing geography or (b) bulk converting a table into geography for > storage in that type. >> >> P. >> >> >> >> On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: >>> Paul, >>> I would rather you didn't for 2 reasons >>> >>> 1) I'm lazy and for each of these things we'd have to apply the text >>> additional function proto hack to prevent from it breaking geometry. >>> which we will probably end up taking out anyway. >>> >>> 2) I don't like the hiddenness of it since it becomes especially >>> annoying if you have your native in geometry and you are converting >>> to geography for a special usecase, then you end up with a slower >>> implementation >>> >>> as you would really end up doing accidentally >>> >>> geometry -> geography -> geometry ->operation (and why do I want my >>> calcs done in UTM?) >>> >>> Instead of the more efficient >>> >>> geometry -> operation >>> >>> Thanks, >>> Regina >>> >>> -----Original Message----- >>> From: postgis-devel-bounces@... >>> [mailto:postgis-devel-bounces@...] On Behalf Of >>> Paul Ramsey >>> Sent: Friday, October 30, 2009 8:16 PM >>> To: PostGIS Development Discussion >>> Subject: [postgis-devel] Geog/Geom Hack >>> >>> I'm interested to know what the general opinion is of the trick I've >>> used on >>> ST_Buffer(geography): >>> >>> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in. >>> c >>> #L541 >>> >>> I ask because I could apply the same idea to the larger suite of OGC >>> SFSQL predicates before release. Is half-a-loaf better than no loaf >>> in >> this case? >>> (Note that there will be failure cases for really large geometry, >>> like a polygon of "Asia" or "Russia" that have polygons over the >>> dateline.) >>> >>> P. >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >>> >>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackPaul,
For what its worth, here is another reason why I don't like this idea and I think we should at least think about its ramifications more so should put it off for consideration until 2.0. In geometry processing, its common practice to apply a lot of functions in succession process1(process2(process3(geometry/geography) With your hackish approach -- the unsuspecting novice user will be incurring a lot of transformation rounding errors with each process The advanced user, won't know if this is okay or not -- because they can't tell by looking at the function call the hidden transformations going on. If these did not exist, they would transform once before the processes and once after) and incurr much less penalty But if they both exist, they will treat them as being on equal footing ST_Buffer(geometry) and ST_Buffer(geography) So your approach while well-meaning gives a questionable benefit to novices and is putting experienced users at a disadvantage. Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Paragon Corporation Sent: Friday, October 30, 2009 11:54 PM To: 'PostGIS Development Discussion' Cc: 'PostGIS Users Discussion' Subject: Re: [postgis-devel] Geog/Geom Hack Paul, I suppose we can't just put this decision off till 2.0. Isn't this a bit of scope creep? I'm not absolutely sure which way is better, but I know the cost of rolling back the change is more. If you are going to do this, how many functions are you planning to do this for? I'm cc'ing the postgis users group too to get more of an opinion on this topic. So the question is it it a good idea to introduce a hack that transforms a geography into what we call BestSRID to perform geometry operations on and then transform back. My concern is that this is a silent operation that gives the impression that these functions are natively done in spheroid space just for the benefit of catering to less technical users. http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 So you can't really tell by looking the penalty Main examples of this as shown for ST_Buffer CREATE OR REPLACE FUNCTION _ST_BestSRID(geography, geography) 530 RETURNS integer 531 AS 'MODULE_PATHNAME','geography_bestsrid' 532 LANGUAGE 'C' IMMUTABLE STRICT; 533 534 -- Availability: 1.5.0 535 CREATE OR REPLACE FUNCTION _ST_BestSRID(geography) 536 RETURNS integer 537 AS 'SELECT _ST_BestSRID($1,$1)' 538 LANGUAGE 'SQL' IMMUTABLE STRICT; 539 540 -- Availability: 1.5.0 541 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8) 542 RETURNS geography 543 AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2), 4326))' 544 LANGUAGE 'SQL' IMMUTABLE STRICT; 545 Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Paul Ramsey Sent: Friday, October 30, 2009 11:07 PM To: PostGIS Development Discussion Subject: Re: [postgis-devel] Geog/Geom Hack We're going to have to agree to disagree on this one, Regina. Catering to the less technical users is what this exercise is all about, to my mind, and that includes allowing easy flipping into geometry for calculations that aren't supported in geography yet. Oracle does this too. What do other folks think? P. On Fri, Oct 30, 2009 at 7:06 PM, Paragon Corporation <lr@...> wrote: > Paul, > Hmm when I am comparing distance of two geometries in different > spatial refs which I do a lot. > > I still don't like the hack even if you disregard the above or if you > must hack -- don't give it the same name as the non-hacked functions. > > the whole idea of picking BestSRID for a person to cater to less > technical users I find extremely annoying as I can think of 20 > "BestSRID" depending on what I am doing. If they get to that level of > sophistication, I would rather have them think a little more and > understand the implications of those decisions. > > We must learn to crawl before we can learn to walk,because walking > without understanding will just get you into trouble in the long run. > > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of > Paul Ramsey > Sent: Friday, October 30, 2009 9:47 PM > To: PostGIS Development Discussion > Subject: Re: [postgis-devel] Geog/Geom Hack > > You *can*, but I strongly doubt you *will*. Because there's nothing in > geography that isn't already in geometry. So you as a primary geometry > user are going to have no working need to cast things to geography. > > On the other hand, the very first question from users of geography > will be "how can I access <geometry function N>?" So having a > relatively full set of functions already available in geography makes > sense to me, even if they are hacked in with a planar trick. > > P. > > On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation <lr@...> wrote: >> Paul, >> I can put a functional geography index on can't I and take advantage >> of geography index bindings? >> >> Lets say I have a large network of tables broken out by region so I >> know a specific table has one srid. >> >> For many queries, I may go to that table directly or if I'm doing >> single geometry processing, really don't care what srid as long as >> its in utm or whatever - so I can use the full power of GEOS. >> >> For my across the board distance checks and so forth, I would want to >> use geography and I could use a geography index if I put a functional >> geography index on my geometry correct? Though that needs some more > testing. >> >> >> So in short if 90% of my workload involves geometry processing, I >> will want to keep my data in geometry >> >> But the 10% I would want to convert to geography on the fly. >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of >> Paul Ramsey >> Sent: Friday, October 30, 2009 8:34 PM >> To: PostGIS Development Discussion >> Subject: Re: [postgis-devel] Geog/Geom Hack >> >> I'm not sure I understand why you would ever convert a geometry to a >> geography as part of a query on a geometry table. I fully expect >> geography to be used as a storage type, because of the utility of >> having the correct spherical indexes, which are not available when >> you're just converting in via a cast. Since there's no functions >> available on geography that are not already available on geometry, >> why would you ever do a geometry->geography cast unless you are (a) >> testing geography or (b) bulk converting a table into geography for > storage in that type. >> >> P. >> >> >> >> On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: >>> Paul, >>> I would rather you didn't for 2 reasons >>> >>> 1) I'm lazy and for each of these things we'd have to apply the text >>> additional function proto hack to prevent from it breaking geometry. >>> which we will probably end up taking out anyway. >>> >>> 2) I don't like the hiddenness of it since it becomes especially >>> annoying if you have your native in geometry and you are converting >>> to geography for a special usecase, then you end up with a slower >>> implementation >>> >>> as you would really end up doing accidentally >>> >>> geometry -> geography -> geometry ->operation (and why do I want my >>> calcs done in UTM?) >>> >>> Instead of the more efficient >>> >>> geometry -> operation >>> >>> Thanks, >>> Regina >>> >>> -----Original Message----- >>> From: postgis-devel-bounces@... >>> [mailto:postgis-devel-bounces@...] On Behalf Of >>> Paul Ramsey >>> Sent: Friday, October 30, 2009 8:16 PM >>> To: PostGIS Development Discussion >>> Subject: [postgis-devel] Geog/Geom Hack >>> >>> I'm interested to know what the general opinion is of the trick I've >>> used on >>> ST_Buffer(geography): >>> >>> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in. >>> c >>> #L541 >>> >>> I ask because I could apply the same idea to the larger suite of OGC >>> SFSQL predicates before release. Is half-a-loaf better than no loaf >>> in >> this case? >>> (Note that there will be failure cases for really large geometry, >>> like a polygon of "Asia" or "Russia" that have polygons over the >>> dateline.) >>> >>> P. >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >>> >>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackI still think I'm right :) Honestly, I've got to a lot of trouble to
make this stuff for newbies, and I don't think "learn how it works" is the right answer for them. They had that option before, but taking GIS 101 is not an option for these people, they need something that "just works". It's easier to teach the experienced people the pitfalls than the inexperienced people the basics. BTW, I just upgraded distance_sphere and distance_spheroid to be as powerful (handling point/line/polygon) as the geography variants, removing excuses for transforming geometries into geographies for processing purposes. P. On Fri, Oct 30, 2009 at 9:15 PM, Paragon Corporation <lr@...> wrote: > Paul, > For what its worth, here is another reason why I don't like this idea and I > think we should at least think about its ramifications more so should put it > off for consideration until 2.0. > > In geometry processing, its common practice to apply a lot of functions in > succession > > process1(process2(process3(geometry/geography) > > With your hackish approach -- the unsuspecting novice user will be incurring > a lot of transformation rounding errors with each process > > The advanced user, won't know if this is okay or not -- because they can't > tell by looking at the function call the hidden transformations going on. > > If these did not exist, they would transform once before the processes and > once after) and incurr much less penalty > > But if they both exist, they will treat them as being on equal footing > > ST_Buffer(geometry) and ST_Buffer(geography) > > > So your approach while well-meaning gives a questionable benefit to novices > and is putting experienced users at a disadvantage. > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of Paragon > Corporation > Sent: Friday, October 30, 2009 11:54 PM > To: 'PostGIS Development Discussion' > Cc: 'PostGIS Users Discussion' > Subject: Re: [postgis-devel] Geog/Geom Hack > > Paul, > I suppose we can't just put this decision off till 2.0. Isn't this a bit of > scope creep? I'm not absolutely sure which way is better, but I know the > cost of rolling back the change is more. > > If you are going to do this, how many functions are you planning to do this > for? > > I'm cc'ing the postgis users group too to get more of an opinion on this > topic. > > So the question is it it a good idea to introduce a hack that transforms a > geography into what we call BestSRID to perform geometry operations on and > then transform back. My concern is that this is a silent operation that > gives the impression that these functions are natively done in spheroid > space just for the benefit of catering to less technical users. > > http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 > > So you can't really tell by looking the penalty > > Main examples of this as shown for ST_Buffer > > CREATE OR REPLACE FUNCTION _ST_BestSRID(geography, geography) > 530 RETURNS integer > 531 AS 'MODULE_PATHNAME','geography_bestsrid' > 532 LANGUAGE 'C' IMMUTABLE STRICT; > 533 > 534 -- Availability: 1.5.0 > 535 CREATE OR REPLACE FUNCTION _ST_BestSRID(geography) > 536 RETURNS integer > 537 AS 'SELECT _ST_BestSRID($1,$1)' > 538 LANGUAGE 'SQL' IMMUTABLE STRICT; > 539 > 540 -- Availability: 1.5.0 > 541 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8) > 542 RETURNS geography > 543 AS 'SELECT > geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), > _ST_BestSRID($1)), $2), 4326))' > 544 LANGUAGE 'SQL' IMMUTABLE STRICT; > 545 > > > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of Paul > Ramsey > Sent: Friday, October 30, 2009 11:07 PM > To: PostGIS Development Discussion > Subject: Re: [postgis-devel] Geog/Geom Hack > > We're going to have to agree to disagree on this one, Regina. Catering to > the less technical users is what this exercise is all about, to my mind, and > that includes allowing easy flipping into geometry for calculations that > aren't supported in geography yet. Oracle does this too. > > What do other folks think? > > P. > > On Fri, Oct 30, 2009 at 7:06 PM, Paragon Corporation <lr@...> wrote: >> Paul, >> Hmm when I am comparing distance of two geometries in different >> spatial refs which I do a lot. >> >> I still don't like the hack even if you disregard the above or if you >> must hack -- don't give it the same name as the non-hacked functions. >> >> the whole idea of picking BestSRID for a person to cater to less >> technical users I find extremely annoying as I can think of 20 >> "BestSRID" depending on what I am doing. If they get to that level of >> sophistication, I would rather have them think a little more and >> understand the implications of those decisions. >> >> We must learn to crawl before we can learn to walk,because walking >> without understanding will just get you into trouble in the long run. >> >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of >> Paul Ramsey >> Sent: Friday, October 30, 2009 9:47 PM >> To: PostGIS Development Discussion >> Subject: Re: [postgis-devel] Geog/Geom Hack >> >> You *can*, but I strongly doubt you *will*. Because there's nothing in >> geography that isn't already in geometry. So you as a primary geometry >> user are going to have no working need to cast things to geography. >> >> On the other hand, the very first question from users of geography >> will be "how can I access <geometry function N>?" So having a >> relatively full set of functions already available in geography makes >> sense to me, even if they are hacked in with a planar trick. >> >> P. >> >> On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation <lr@...> wrote: >>> Paul, >>> I can put a functional geography index on can't I and take advantage >>> of geography index bindings? >>> >>> Lets say I have a large network of tables broken out by region so I >>> know a specific table has one srid. >>> >>> For many queries, I may go to that table directly or if I'm doing >>> single geometry processing, really don't care what srid as long as >>> its in utm or whatever - so I can use the full power of GEOS. >>> >>> For my across the board distance checks and so forth, I would want to >>> use geography and I could use a geography index if I put a functional >>> geography index on my geometry correct? Though that needs some more >> testing. >>> >>> >>> So in short if 90% of my workload involves geometry processing, I >>> will want to keep my data in geometry >>> >>> But the 10% I would want to convert to geography on the fly. >>> >>> Thanks, >>> Regina >>> >>> -----Original Message----- >>> From: postgis-devel-bounces@... >>> [mailto:postgis-devel-bounces@...] On Behalf Of >>> Paul Ramsey >>> Sent: Friday, October 30, 2009 8:34 PM >>> To: PostGIS Development Discussion >>> Subject: Re: [postgis-devel] Geog/Geom Hack >>> >>> I'm not sure I understand why you would ever convert a geometry to a >>> geography as part of a query on a geometry table. I fully expect >>> geography to be used as a storage type, because of the utility of >>> having the correct spherical indexes, which are not available when >>> you're just converting in via a cast. Since there's no functions >>> available on geography that are not already available on geometry, >>> why would you ever do a geometry->geography cast unless you are (a) >>> testing geography or (b) bulk converting a table into geography for >> storage in that type. >>> >>> P. >>> >>> >>> >>> On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> wrote: >>>> Paul, >>>> I would rather you didn't for 2 reasons >>>> >>>> 1) I'm lazy and for each of these things we'd have to apply the text >>>> additional function proto hack to prevent from it breaking geometry. >>>> which we will probably end up taking out anyway. >>>> >>>> 2) I don't like the hiddenness of it since it becomes especially >>>> annoying if you have your native in geometry and you are converting >>>> to geography for a special usecase, then you end up with a slower >>>> implementation >>>> >>>> as you would really end up doing accidentally >>>> >>>> geometry -> geography -> geometry ->operation (and why do I want my >>>> calcs done in UTM?) >>>> >>>> Instead of the more efficient >>>> >>>> geometry -> operation >>>> >>>> Thanks, >>>> Regina >>>> >>>> -----Original Message----- >>>> From: postgis-devel-bounces@... >>>> [mailto:postgis-devel-bounces@...] On Behalf Of >>>> Paul Ramsey >>>> Sent: Friday, October 30, 2009 8:16 PM >>>> To: PostGIS Development Discussion >>>> Subject: [postgis-devel] Geog/Geom Hack >>>> >>>> I'm interested to know what the general opinion is of the trick I've >>>> used on >>>> ST_Buffer(geography): >>>> >>>> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in. >>>> c >>>> #L541 >>>> >>>> I ask because I could apply the same idea to the larger suite of OGC >>>> SFSQL predicates before release. Is half-a-loaf better than no loaf >>>> in >>> this case? >>>> (Note that there will be failure cases for really large geometry, >>>> like a polygon of "Asia" or "Russia" that have polygons over the >>>> dateline.) >>>> >>>> P. >>>> _______________________________________________ >>>> postgis-devel mailing list >>>> postgis-devel@... >>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>> >>>> >>>> >>>> _______________________________________________ >>>> postgis-devel mailing list >>>> postgis-devel@... >>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >>> >>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
|
|
|
Re: Geog/Geom HackNicklas and Paul,
Yap that's the main point. To add
I'm not really in disagreement with Paul. I see his
point too. I'm just prodding him to think about all his use cases a little
more because I don't feel he has.
My feelings to sum up
1) We have not thought about the complete ramifications of
this hack and I'm really concerned about the novice that transitions to an
expert rather than just getting them hooked on PostGIS. Perhaps I'm being
overly silly with that and even said, Paul's approach might be an easier to
transition solution.
2) My concern is
the penalty of putting it in and having to take it out later might be very great
(both from a code, testing, as well as a mindset perspective). I
just feel it needs more thought and testing and really if we want to make our
December deadline, I don't want it rushed in so lightly.
Unless of course Paul -- you want to wait till January or
February to release 1.5?
Now the ST_Max_Distance is a separate issue. I would put
in the ST_ConvexHull hack in place. The reason being is that it just
improves performance any way I can think you slice it and an experienced user
would do exactly the same thing always and when you finally incorporate it
into the core function, there is no change in existing code just a speed
improvement. So to me its basically our ST_DWithin hack -- a very tried
and trued obvious answer. Its an implementation detail with no clear leaky
effects.
With that said, there are some clear functions in geometry
that are safe to put a geography cover over. Those ones where there is
clearly only one answer and don't involve transformation.
like ST_X, ST_Y etc. That don't require transformation
so no screw up in data. Also observe that even the geometry(geography ....
in these there is no penalty becuase the geometry/geography isn't changing so
the planner can cache the geometry to geography conversion. The
ST_Transformation ones however, the geometry/geography is changing slightly at
each step since ST_Tranformation is a lossy operation so you are not only
incurring overhead (because these answers can't be cached), but also adding in
extra errors .
To me this is a bleeding abstraction and that is the main
reason I don't like it.
So getting back to you Paul,
What functions exactly are you planning to put a veil
over? ST_Buffer well that one is used so much and is not as exact anyway
that I suppose I can grudgingly accept that as okay.
Thanks,
Regina
From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of nicklas.aven@... Sent: Saturday, October 31, 2009 10:04 AM To: PostGIS Development Discussion Subject: Re: [postgis-devel] Geog/Geom Hack Hallo
I can see the points from both of you. I think the most
important argument from you Regina is that it is not transparent enough. A
skillfull user trying postgis might be disapointed when realizing that the
nested functions caused an unnecessary big rounding-error.
But if it is obvious that it is a "special" function at least
for the experienced user knowing about common function-names I don't think it is
a big problem and might work as an easy shortcut at least during the process of
learning.
As I understand it this could be a solution for using many
functions against geography so, why not note it in the function name
like:
ST_tBuffer for transformed buffer. Then when time is to
introduse a "real" variant of the function they can coexist and it will not
change the bahavior inside an application without someone consciously changes
the function name and remove the t.
the t would be independent of geography-geometry in semantics
and just indicate that it is a lower-precision variant. I fit was commonly used
it would work as a warning to experienced users.
I have a similar question about st_max_distance. The function
gets very much more effective when ran together with convexhull. I saw the trick
in ST_MinimumBoundingCircle and id makes a big
difference to do :
st_max_distance(st_convexhull(the_geom)) instead of just
st_max_distance(the_geom).
The question
is: Should that be put in the sql-function?
My opinion
now is that we just tell about it in the documentation and aims at doing that
trick internally in C in the future. Maybe together with moving the whole
convexhull to postgis-native from geos. It didn't look that impossible fromthe
JTS-code.
/Nicklas
2009-10-31 Paul Ramsey wrote: I still think I'm right :) Honestly, I've got to a lot of trouble to >make this stuff for newbies, and I don't think "learn how it works" is >the right answer for them. They had that option before, but taking GIS >101 is not an option for these people, they need something that "just >works". It's easier to teach the experienced people the pitfalls than >the inexperienced people the basics. > >BTW, I just upgraded distance_sphere and distance_spheroid to be as >powerful (handling point/line/polygon) as the geography variants, >removing excuses for transforming geometries into geographies for >processing purposes. > >P. > >On Fri, Oct 30, 2009 at 9:15 PM, Paragon Corporation >> Paul, >> For what its worth, here is another reason why I don't like this idea and I >> think we should at least think about its ramifications more so should put it >> off for consideration until 2.0. >> >> In geometry processing, its common practice to apply a lot of functions in >> succession >> >> process1(process2(process3(geometry/geography) >> >> With your hackish approach -- the unsuspecting novice user will be incurring >> a lot of transformation rounding errors with each process >> >> The advanced user, won't know if this is okay or not -- because they can't >> tell by looking at the function call the hidden transformations going on. >> >> If these did not exist, they would transform once before the processes and >> once after) and incurr much less penalty >> >> But if they both exist, they will treat them as being on equal footing >> >> ST_Buffer(geometry) and ST_Buffer(geography) >> >> >> So your approach while well-meaning gives a questionable benefit to novices >> and is putting experienced users at a disadvantage. >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of Paragon >> Corporation >> Sent: Friday, October 30, 2009 11:54 PM >> To: 'PostGIS Development Discussion' >> Cc: 'PostGIS Users Discussion' >> Subject: Re: [postgis-devel] Geog/Geom Hack >> >> Paul, >> I suppose we can't just put this decision off till 2.0. Isn't this a bit of >> scope creep? I'm not absolutely sure which way is better, but I know the >> cost of rolling back the change is more. >> >> If you are going to do this, how many functions are you planning to do this >> for? >> >> I'm cc'ing the postgis users group too to get more of an opinion on this >> topic. >> >> So the question is it it a good idea to introduce a hack that transforms a >> geography into what we call BestSRID to perform geometry operations on and >> then transform back. My concern is that this is a silent operation that >> gives the impression that these functions are natively done in spheroid >> space just for the benefit of catering to less technical users. >> >> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 >> >> So you can't really tell by looking the penalty >> >> Main examples of this as shown for ST_Buffer >> >> CREATE OR REPLACE FUNCTION _ST_BestSRID(geography, geography) >> 530 RETURNS integer >> 531 AS 'MODULE_PATHNAME','geography_bestsrid' >> 532 LANGUAGE 'C' IMMUTABLE STRICT; >> 533 >> 534 -- Availability: 1.5.0 >> 535 CREATE OR REPLACE FUNCTION _ST_BestSRID(geography) >> 536 RETURNS integer >> 537 AS 'SELECT _ST_BestSRID($1,$1)' >> 538 LANGUAGE 'SQL' IMMUTABLE STRICT; >> 539 >> 540 -- Availability: 1.5.0 >> 541 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8) >> 542 RETURNS geography >> 543 AS 'SELECT >> geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), >> _ST_BestSRID($1)), $2), 4326))' >> 544 LANGUAGE 'SQL' IMMUTABLE STRICT; >> 545 >> >> >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of Paul >> Ramsey >> Sent: Friday, October 30, 2009 11:07 PM >> To: PostGIS Development Discussion >> Subject: Re: [postgis-devel] Geog/Geom Hack >> >> We're going to have to agree to disagree on this one, Regina. Catering to >> the less technical users is what this exercise is all about, to my mind, and >> that includes allowing easy flipping into geometry for calculations that >> aren't supported in geography yet. Oracle does this too. >> >> What do other folks think? >> >> P. >> >> On Fri, Oct 30, 2009 at 7:06 PM, Paragon Corporation >>> Paul, >>> Hmm when I am comparing distance of two geometries in different >>> spatial refs which I do a lot. >>> >>> I still don't like the hack even if you disregard the above or if you >>> must hack -- don't give it the same name as the non-hacked functions. >>> >>> the whole idea of picking BestSRID for a person to cater to less >>> technical users I find extremely annoying as I can think of 20 >>> "BestSRID" depending on what I am doing. If they get to that level of >>> sophistication, I would rather have them think a little more and >>> understand the implications of those decisions. >>> >>> We must learn to crawl before we can learn to walk,because walking >>> without understanding will just get you into trouble in the long run. >>> >>> >>> Thanks, >>> Regina >>> >>> -----Original Message----- >>> From: postgis-devel-bounces@... >>> [mailto:postgis-devel-bounces@...] On Behalf Of >>> Paul Ramsey >>> Sent: Friday, October 30, 2009 9:47 PM >>> To: PostGIS Development Discussion >>> Subject: Re: [postgis-devel] Geog/Geom Hack >>> >>> You *can*, but I strongly doubt you *will*. Because there's nothing in >>> geography that isn't already in geometry. So you as a primary geometry >>> user are going to have no working need to cast things to geography. >>> >>> On the other hand, the very first question from users of geography >>> will be "how can I access >>> relatively full set of functions already available in geography makes >>> sense to me, even if they are hacked in with a planar trick. >>> >>> P. >>> >>> On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation >>>> Paul, >>>> I can put a functional geography index on can't I and take advantage >>>> of geography index bindings? >>>> >>>> Lets say I have a large network of tables broken out by region so I >>>> know a specific table has one srid. >>>> >>>> For many queries, I may go to that table directly or if I'm doing >>>> single geometry processing, really don't care what srid as long as >>>> its in utm or whatever - so I can use the full power of GEOS. >>>> >>>> For my across the board distance checks and so forth, I would want to >>>> use geography and I could use a geography index if I put a functional >>>> geography index on my geometry correct? Though that needs some more >>> testing. >>>> >>>> >>>> So in short if 90% of my workload involves geometry processing, I >>>> will want to keep my data in geometry >>>> >>>> But the 10% I would want to convert to geography on the fly. >>>> >>>> Thanks, >>>> Regina >>>> >>>> -----Original Message----- >>>> From: postgis-devel-bounces@... >>>> [mailto:postgis-devel-bounces@...] On Behalf Of >>>> Paul Ramsey >>>> Sent: Friday, October 30, 2009 8:34 PM >>>> To: PostGIS Development Discussion >>>> Subject: Re: [postgis-devel] Geog/Geom Hack >>>> >>>> I'm not sure I understand why you would ever convert a geometry to a >>>> geography as part of a query on a geometry table. I fully expect >>>> geography to be used as a storage type, because of the utility of >>>> having the correct spherical indexes, which are not available when >>>> you're just converting in via a cast. Since there's no functions >>>> available on geography that are not already available on geometry, >>>> why would you ever do a geometry->geography cast unless you are (a) >>>> testing geography or (b) bulk converting a table into geography for >>> storage in that type. >>>> >>>> P. >>>> >>>> >>>> >>>> On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation >>>>> Paul, >>>>> I would rather you didn't for 2 reasons >>>>> >>>>> 1) I'm lazy and for each of these things we'd have to apply the text >>>>> additional function proto hack to prevent from it breaking geometry. >>>>> which we will probably end up taking out anyway. >>>>> >>>>> 2) I don't like the hiddenness of it since it becomes especially >>>>> annoying if you have your native in geometry and you are converting >>>>> to geography for a special usecase, then you end up with a slower >>>>> implementation >>>>> >>>>> as you would really end up doing accidentally >>>>> >>>>> geometry -> geography -> geometry ->operation (and why do I want my >>>>> calcs done in UTM?) >>>>> >>>>> Instead of the more efficient >>>>> >>>>> geometry -> operation >>>>> >>>>> Thanks, >>>>> Regina >>>>> >>>>> -----Original Message----- >>>>> From: postgis-devel-bounces@... >>>>> [mailto:postgis-devel-bounces@...] On Behalf Of >>>>> Paul Ramsey >>>>> Sent: Friday, October 30, 2009 8:16 PM >>>>> To: PostGIS Development Discussion >>>>> Subject: [postgis-devel] Geog/Geom Hack >>>>> >>>>> I'm interested to know what the general opinion is of the trick I've >>>>> used on >>>>> ST_Buffer(geography): >>>>> >>>>> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in. >>>>> c >>>>> #L541 >>>>> >>>>> I ask because I could apply the same idea to the larger suite of OGC >>>>> SFSQL predicates before release. Is half-a-loaf better than no loaf >>>>> in >>>> this case? >>>>> (Note that there will be failure cases for really large geometry, >>>>> like a polygon of "Asia" or "Russia" that have polygons over the >>>>> dateline.) >>>>> >>>>> P. >>>>> _______________________________________________ >>>>> postgis-devel mailing list >>>>> postgis-devel@... >>>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> postgis-devel mailing list >>>>> postgis-devel@... >>>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>>> >>>> _______________________________________________ >>>> postgis-devel mailing list >>>> postgis-devel@... >>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>> >>>> >>>> >>>> _______________________________________________ >>>> postgis-devel mailing list >>>> postgis-devel@... >>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >_______________________________________________ >postgis-devel mailing list >postgis-devel@... >http://postgis.refractions.net/mailman/listinfo/postgis-devel > > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackPaul,
But I actually don't care about those functions as much as I care about ST_DWithin so I'm still going to convert to geography thank you very much :) Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Paul Ramsey Sent: Saturday, October 31, 2009 12:56 AM To: PostGIS Development Discussion Subject: Re: [postgis-devel] Geog/Geom Hack I still think I'm right :) Honestly, I've got to a lot of trouble to make this stuff for newbies, and I don't think "learn how it works" is the right answer for them. They had that option before, but taking GIS 101 is not an option for these people, they need something that "just works". It's easier to teach the experienced people the pitfalls than the inexperienced people the basics. BTW, I just upgraded distance_sphere and distance_spheroid to be as powerful (handling point/line/polygon) as the geography variants, removing excuses for transforming geometries into geographies for processing purposes. P. On Fri, Oct 30, 2009 at 9:15 PM, Paragon Corporation <lr@...> wrote: > Paul, > For what its worth, here is another reason why I don't like this idea > and I think we should at least think about its ramifications more so > should put it off for consideration until 2.0. > > In geometry processing, its common practice to apply a lot of > functions in succession > > process1(process2(process3(geometry/geography) > > With your hackish approach -- the unsuspecting novice user will be > incurring a lot of transformation rounding errors with each process > > The advanced user, won't know if this is okay or not -- because they > can't tell by looking at the function call the hidden transformations > > If these did not exist, they would transform once before the processes > and once after) and incurr much less penalty > > But if they both exist, they will treat them as being on equal footing > > ST_Buffer(geometry) and ST_Buffer(geography) > > > So your approach while well-meaning gives a questionable benefit to > novices and is putting experienced users at a disadvantage. > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of > Paragon Corporation > Sent: Friday, October 30, 2009 11:54 PM > To: 'PostGIS Development Discussion' > Cc: 'PostGIS Users Discussion' > Subject: Re: [postgis-devel] Geog/Geom Hack > > Paul, > I suppose we can't just put this decision off till 2.0. Isn't this a > bit of scope creep? I'm not absolutely sure which way is better, but > I know the cost of rolling back the change is more. > > If you are going to do this, how many functions are you planning to do > this for? > > I'm cc'ing the postgis users group too to get more of an opinion on > this topic. > > So the question is it it a good idea to introduce a hack that > transforms a geography into what we call BestSRID to perform geometry > operations on and then transform back. My concern is that this is a > silent operation that gives the impression that these functions are > natively done in spheroid space just for the benefit of catering to less > > http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c > #L541 > > So you can't really tell by looking the penalty > > Main examples of this as shown for ST_Buffer > > CREATE OR REPLACE FUNCTION _ST_BestSRID(geography, geography) 530 > RETURNS integer > 531 AS 'MODULE_PATHNAME','geography_bestsrid' > 532 LANGUAGE 'C' IMMUTABLE STRICT; > 533 > 534 -- Availability: 1.5.0 > 535 CREATE OR REPLACE FUNCTION _ST_BestSRID(geography) > 536 RETURNS integer > 537 AS 'SELECT _ST_BestSRID($1,$1)' > 538 LANGUAGE 'SQL' IMMUTABLE STRICT; > 539 > 540 -- Availability: 1.5.0 > 541 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8) > 542 RETURNS geography > 543 AS 'SELECT > geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), > _ST_BestSRID($1)), $2), 4326))' > 544 LANGUAGE 'SQL' IMMUTABLE STRICT; > 545 > > > > Thanks, > Regina > > -----Original Message----- > From: postgis-devel-bounces@... > [mailto:postgis-devel-bounces@...] On Behalf Of > Paul Ramsey > Sent: Friday, October 30, 2009 11:07 PM > To: PostGIS Development Discussion > Subject: Re: [postgis-devel] Geog/Geom Hack > > We're going to have to agree to disagree on this one, Regina. Catering > to the less technical users is what this exercise is all about, to my > mind, and that includes allowing easy flipping into geometry for > calculations that aren't supported in geography yet. Oracle does this too. > > What do other folks think? > > P. > > On Fri, Oct 30, 2009 at 7:06 PM, Paragon Corporation <lr@...> wrote: >> Paul, >> Hmm when I am comparing distance of two geometries in different >> spatial refs which I do a lot. >> >> I still don't like the hack even if you disregard the above or if you >> must hack -- don't give it the same name as the non-hacked functions. >> >> the whole idea of picking BestSRID for a person to cater to less >> technical users I find extremely annoying as I can think of 20 >> "BestSRID" depending on what I am doing. If they get to that level >> of sophistication, I would rather have them think a little more and >> understand the implications of those decisions. >> >> We must learn to crawl before we can learn to walk,because walking >> without understanding will just get you into trouble in the long run. >> >> >> Thanks, >> Regina >> >> -----Original Message----- >> From: postgis-devel-bounces@... >> [mailto:postgis-devel-bounces@...] On Behalf Of >> Paul Ramsey >> Sent: Friday, October 30, 2009 9:47 PM >> To: PostGIS Development Discussion >> Subject: Re: [postgis-devel] Geog/Geom Hack >> >> You *can*, but I strongly doubt you *will*. Because there's nothing >> in geography that isn't already in geometry. So you as a primary >> geometry user are going to have no working need to cast things to >> >> On the other hand, the very first question from users of geography >> will be "how can I access <geometry function N>?" So having a >> relatively full set of functions already available in geography makes >> sense to me, even if they are hacked in with a planar trick. >> >> P. >> >> On Fri, Oct 30, 2009 at 5:46 PM, Paragon Corporation <lr@...> wrote: >>> Paul, >>> I can put a functional geography index on can't I and take advantage >>> of geography index bindings? >>> >>> Lets say I have a large network of tables broken out by region so I >>> know a specific table has one srid. >>> >>> For many queries, I may go to that table directly or if I'm doing >>> single geometry processing, really don't care what srid as long as >>> its in utm or whatever - so I can use the full power of GEOS. >>> >>> For my across the board distance checks and so forth, I would want >>> to use geography and I could use a geography index if I put a >>> functional geography index on my geometry correct? Though that >>> needs some more >> testing. >>> >>> >>> So in short if 90% of my workload involves geometry processing, I >>> will want to keep my data in geometry >>> >>> But the 10% I would want to convert to geography on the fly. >>> >>> Thanks, >>> Regina >>> >>> -----Original Message----- >>> From: postgis-devel-bounces@... >>> [mailto:postgis-devel-bounces@...] On Behalf Of >>> Paul Ramsey >>> Sent: Friday, October 30, 2009 8:34 PM >>> To: PostGIS Development Discussion >>> Subject: Re: [postgis-devel] Geog/Geom Hack >>> >>> I'm not sure I understand why you would ever convert a geometry to a >>> geography as part of a query on a geometry table. I fully expect >>> geography to be used as a storage type, because of the utility of >>> having the correct spherical indexes, which are not available when >>> you're just converting in via a cast. Since there's no functions >>> available on geography that are not already available on geometry, >>> why would you ever do a geometry->geography cast unless you are (a) >>> testing geography or (b) bulk converting a table into geography for >> storage in that type. >>> >>> P. >>> >>> >>> >>> On Fri, Oct 30, 2009 at 5:24 PM, Paragon Corporation <lr@...> >>>> Paul, >>>> I would rather you didn't for 2 reasons >>>> >>>> 1) I'm lazy and for each of these things we'd have to apply the >>>> text additional function proto hack to prevent from it breaking geometry. >>>> which we will probably end up taking out anyway. >>>> >>>> 2) I don't like the hiddenness of it since it becomes especially >>>> annoying if you have your native in geometry and you are converting >>>> to geography for a special usecase, then you end up with a slower >>>> implementation >>>> >>>> as you would really end up doing accidentally >>>> >>>> geometry -> geography -> geometry ->operation (and why do I want my >>>> calcs done in UTM?) >>>> >>>> Instead of the more efficient >>>> >>>> geometry -> operation >>>> >>>> Thanks, >>>> Regina >>>> >>>> -----Original Message----- >>>> From: postgis-devel-bounces@... >>>> [mailto:postgis-devel-bounces@...] On Behalf Of >>>> Paul Ramsey >>>> Sent: Friday, October 30, 2009 8:16 PM >>>> To: PostGIS Development Discussion >>>> Subject: [postgis-devel] Geog/Geom Hack >>>> >>>> I'm interested to know what the general opinion is of the trick >>>> I've used on >>>> ST_Buffer(geography): >>>> >>>> http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in. >>>> c >>>> #L541 >>>> >>>> I ask because I could apply the same idea to the larger suite of >>>> OGC SFSQL predicates before release. Is half-a-loaf better than no >>>> loaf in >>> this case? >>>> (Note that there will be failure cases for really large geometry, >>>> like a polygon of "Asia" or "Russia" that have polygons over the >>>> dateline.) >>>> >>>> P. >>>> _______________________________________________ >>>> postgis-devel mailing list >>>> postgis-devel@... >>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>> >>>> >>>> >>>> _______________________________________________ >>>> postgis-devel mailing list >>>> postgis-devel@... >>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >>> >>> >>> _______________________________________________ >>> postgis-devel mailing list >>> postgis-devel@... >>> http://postgis.refractions.net/mailman/listinfo/postgis-devel >>> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> >> >> _______________________________________________ >> postgis-devel mailing list >> postgis-devel@... >> http://postgis.refractions.net/mailman/listinfo/postgis-devel >> > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > > > _______________________________________________ > postgis-devel mailing list > postgis-devel@... > http://postgis.refractions.net/mailman/listinfo/postgis-devel > postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
|
|
|
|
|
|
|
|
|
Re: Geog/Geom HackMy opinion is, that if this is to be implemented, it must be
properly documented (for all affected functions and for the geography support in general). The support for geography in 1.5 will also have to be called "experimental" with this kind of behaviour. Since the plan is to implement all the functions properly in the future, I think it is a good idea to use the function names that are going to be used in the future (as Paul suggests). However, I guess it can be a lot of work to do a proper implementation of some of these functions for geography. Paul's approach is clearly a hack, and the results will be unreliable. Examples: Using this approach, a geography line may not be contained in it's buffer. An intersection between to geography lines will in the normal case not be on any of the original lines. So, we must expect a lot of topological inconsistencies using this approach. For cases where it is not possible to find an OK "BestSRID", an error should probably be thrown. Håvard Tveite Paul Ramsey wrote: > I'm interested to know what the general opinion is of the trick I've > used on ST_Buffer(geography): > > http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c#L541 > > I ask because I could apply the same idea to the larger suite of OGC > SFSQL predicates before release. Is half-a-loaf better than no loaf in > this case? (Note that there will be failure cases for really large > geometry, like a polygon of "Asia" or "Russia" that have polygons over > the dateline.) > > P. -- Håvard Tveite Department of Mathematical Sciences and Technology, UMB Drøbakveien 31, POBox 5003, N-1432 Ås, NORWAY Phone: +47 64965483 Fax: +47 64965401 http://www.umb.no/imt/ _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackHavard,
Good points. You stated my concerns better than I could. I see the benefit of having these functions and even think we should have them linked in our documentation, but I don't want to "pollute" our production waters with them. So I would much prefer just a link to these functions as a separate thing people can improve on. As Nicklas and I think Steve mentioned -- use it almost like a tutorial to demonstrate how you can expand on the functionality of geography and see how people improve on it. the problem with putting it in our production code is a) People will see it as a black box and won't bother to look behind the covers and then they'll be disappointed when they run into issues and think the whole geography datatype is a hack. b) With our new policy of release, we won't be able to make patches to it or add new ones until the next minor. Which to me puts novices at a great disadvantage. c) I don't feel we know absolutely the best way of doing these even from a hack point of view and I would like to see what others come up with as solutions. The geography functions we have in place are really spectacular I think. They do the right thing - they measure around a sphere/spheroid and use a more advanced spatial index (though just WGS84 for this first release). Sure they don't do everything, but they satisfy the number one need of many people - How do I figure out proximities, areas, lengths and get real accurate distances with long lat data and still have full power of spatial indexes? I would hate for people to think the whole thing is a hack by introducing these things in what we call "production". Thanks, Regina -----Original Message----- From: postgis-devel-bounces@... [mailto:postgis-devel-bounces@...] On Behalf Of Havard Tveite Sent: Monday, November 02, 2009 5:13 AM To: PostGIS Development Discussion Subject: Re: [postgis-devel] Geog/Geom Hack My opinion is, that if this is to be implemented, it must be properly documented (for all affected functions and for the geography support in general). The support for geography in 1.5 will also have to be called "experimental" with this kind of behaviour. Since the plan is to implement all the functions properly in the future, I think it is a good idea to use the function names that are going to be used in the future (as Paul suggests). However, I guess it can be a lot of work to do a proper implementation of some of these functions for geography. Paul's approach is clearly a hack, and the results will be unreliable. Examples: Using this approach, a geography line may not be contained in it's buffer. An intersection between to geography lines will in the normal case not be on any of the original lines. So, we must expect a lot of topological inconsistencies using this approach. For cases where it is not possible to find an OK "BestSRID", an error should probably be thrown. Håvard Tveite Paul Ramsey wrote: > I'm interested to know what the general opinion is of the trick I've > used on ST_Buffer(geography): > > http://trac.osgeo.org/postgis/browser/trunk/postgis/geography.sql.in.c > #L541 > > I ask because I could apply the same idea to the larger suite of OGC > SFSQL predicates before release. Is half-a-loaf better than no loaf in > this case? (Note that there will be failure cases for really large > geometry, like a polygon of "Asia" or "Russia" that have polygons over > the dateline.) > > P. -- Håvard Tveite Department of Mathematical Sciences and Technology, UMB Drøbakveien 31, POBox 5003, N-1432 Ås, NORWAY Phone: +47 64965483 Fax: +47 64965401 http://www.umb.no/imt/ _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
|
|
Re: Geog/Geom HackParagon Corporation wrote:
> I'm not really in disagreement with Paul. I see his point too. I'm > just prodding him to think about all his use cases a little more because > I don't feel he has. > > My feelings to sum up > 1) We have not thought about the complete ramifications of this hack and > I'm really concerned about the novice that transitions to an expert > rather than just getting them hooked on PostGIS. Perhaps I'm being > overly silly with that and even said, Paul's approach might be an easier > to transition solution. > > 2) My concern is the penalty of putting it in and having to take it out > later might be very great (both from a code, testing, as well as a > mindset perspective). I just feel it needs more thought and testing and > really if we want to make our December deadline, I don't want it rushed > in so lightly. I agree with Regina here: I'd be a bit nervous about creating a whole set of functions based on a UTM hack that hasn't been field-tested. I think I'd like to see one or two functions based upon the geography type which make use of the hack in 1.5, and then if the feedback is good, roll it out to other functions in a later release. ATB, Mark. -- Mark Cave-Ayland - Senior Technical Architect PostgreSQL - PostGIS Sirius Corporation plc - control through freedom http://www.siriusit.co.uk t: +44 870 608 0063 Sirius Labs: http://www.siriusit.co.uk/labs _______________________________________________ postgis-devel mailing list postgis-devel@... http://postgis.refractions.net/mailman/listinfo/postgis-devel |
| Free embeddable forum powered by Nabble | Forum Help |