Thread: code contribution

code contribution

From
Alex Shevlakov
Date:
Hello,

I'd like to contribute new code for Postgres geometry type 'path' operations
(including line buffer). Where should I send this?

-----------
Alex Shevlakov,
Motivation Free Software consulting,
Moscow, Russia
-----------

http://motivation.ru

Re: code contribution

From
Thomas Lockhart
Date:
> I'd like to contribute new code for Postgres geometry type 'path' operations
> (including line buffer). Where should I send this?

Send to pgsql-patches@postgresql.org. It may be helpful to (i.e. please
do) post a summary of what you are intending to send to this mailing
list so folks have an idea of what is coming...

Regards.
                   - Tom


Re: code contribution

From
"Christopher Kings-Lynne"
Date:
And remember to use 'cvs diff -c' to generate context sensitive diffs
against CVS...

Chris


> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org]On Behalf Of Thomas Lockhart
> Sent: Tuesday, 7 May 2002 10:01 PM
> To: Alex Shevlakov
> Cc: pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] code contribution
>
>
> > I'd like to contribute new code for Postgres geometry type
> 'path' operations
> > (including line buffer). Where should I send this?
>
> Send to pgsql-patches@postgresql.org. It may be helpful to (i.e. please
> do) post a summary of what you are intending to send to this mailing
> list so folks have an idea of what is coming...
>
> Regards.
>
>                     - Tom
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>



Re: code contribution

From
Alex Shevlakov
Date:
New 'path' functions (test results can be found at http://motivation.ru/grass/buff_q_example.html):

There are not many (as my task was only limited to extending GRASS vector
capabilities to buffering):

/*check if a point is within buffer of line*/
Datum           path_buffer_contain_pt(PG_FUNCTION_ARGS);

/*removes multiple repeated points from path*/ 
Datum path_without_doubles (PG_FUNCTION_ARGS);
static  PATH *          path_no_dbles(PATH *path);

/*returns closed path which is buffer to another path*/
Datum           return_path_buffer(PG_FUNCTION_ARGS);

/*used to insert points along circle segment between two ends of non-intersecting buffer segments, smoothing the
buffer*/
static Point * point_rotate (Point *lpoint, Point *ax_point, float ang,
int k, int n, int napr);

/*writes path to arcinfo UNGENERATE format which is particularly useful for viewing buffer in GRASS*/
Datum write_path_to_file(PG_FUNCTION_ARGS);
int write_path_to_file_internal(PATH *path, char *str );

/*generalize path,i.e., leave each third, or fourth, etc., point*/
Datum reduce_path_points(PG_FUNCTION_ARGS);
static PATH     *path_reduce(PATH * path, int n_reduce);

On Tue, May 07, 2002 at 07:01:05AM -0700, Thomas Lockhart wrote:
> > I'd like to contribute new code for Postgres geometry type 'path' operations
> > (including line buffer). Where should I send this?
> 
> Send to pgsql-patches@postgresql.org. It may be helpful to (i.e. please
> do) post a summary of what you are intending to send to this mailing
> list so folks have an idea of what is coming...
> 
> Regards.
> 
>                     - Tom


Re: code contribution

From
Bruce Momjian
Date:
Sorry, I am just getting to this.  I have the patch in my email box too.

Can you explain what "buffer of line" is?  I want to know if it is of
general usefulness.

---------------------------------------------------------------------------

Alex Shevlakov wrote:
> New 'path' functions (test results can be found at http://motivation.ru/grass/buff_q_example.html):
> 
> There are not many (as my task was only limited to extending GRASS vector
> capabilities to buffering):
> 
> /*check if a point is within buffer of line*/
> Datum           path_buffer_contain_pt(PG_FUNCTION_ARGS);
> 
> /*removes multiple repeated points from path*/ 
> Datum path_without_doubles (PG_FUNCTION_ARGS);
> static  PATH *          path_no_dbles(PATH *path);
> 
> /*returns closed path which is buffer to another path*/
> Datum           return_path_buffer(PG_FUNCTION_ARGS);
> 
> /*used to insert points along circle segment between two ends of non-intersecting buffer segments, smoothing the
buffer*/
> static Point * point_rotate (Point *lpoint, Point *ax_point, float ang,
> int k, int n, int napr);
> 
> /*writes path to arcinfo UNGENERATE format which is particularly useful for viewing buffer in GRASS*/
> Datum write_path_to_file(PG_FUNCTION_ARGS);
> int write_path_to_file_internal(PATH *path, char *str );
> 
> /*generalize path,i.e., leave each third, or fourth, etc., point*/
> Datum reduce_path_points(PG_FUNCTION_ARGS);
> static PATH     *path_reduce(PATH * path, int n_reduce);
> 
> On Tue, May 07, 2002 at 07:01:05AM -0700, Thomas Lockhart wrote:
> > > I'd like to contribute new code for Postgres geometry type 'path' operations
> > > (including line buffer). Where should I send this?
> > 
> > Send to pgsql-patches@postgresql.org. It may be helpful to (i.e. please
> > do) post a summary of what you are intending to send to this mailing
> > list so folks have an idea of what is coming...
> > 
> > Regards.
> > 
> >                     - Tom
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: code contribution

From
Bruce Momjian
Date:
I am not sure that this has enough general interest to be included in
our code.  If you make a loadable module, we can add it to our web site.


---------------------------------------------------------------------------

Alex Shevlakov wrote:
> New 'path' functions (test results can be found at http://motivation.ru/grass/buff_q_example.html):
> 
> There are not many (as my task was only limited to extending GRASS vector
> capabilities to buffering):
> 
> /*check if a point is within buffer of line*/
> Datum           path_buffer_contain_pt(PG_FUNCTION_ARGS);
> 
> /*removes multiple repeated points from path*/ 
> Datum path_without_doubles (PG_FUNCTION_ARGS);
> static  PATH *          path_no_dbles(PATH *path);
> 
> /*returns closed path which is buffer to another path*/
> Datum           return_path_buffer(PG_FUNCTION_ARGS);
> 
> /*used to insert points along circle segment between two ends of non-intersecting buffer segments, smoothing the
buffer*/
> static Point * point_rotate (Point *lpoint, Point *ax_point, float ang,
> int k, int n, int napr);
> 
> /*writes path to arcinfo UNGENERATE format which is particularly useful for viewing buffer in GRASS*/
> Datum write_path_to_file(PG_FUNCTION_ARGS);
> int write_path_to_file_internal(PATH *path, char *str );
> 
> /*generalize path,i.e., leave each third, or fourth, etc., point*/
> Datum reduce_path_points(PG_FUNCTION_ARGS);
> static PATH     *path_reduce(PATH * path, int n_reduce);
> 
> On Tue, May 07, 2002 at 07:01:05AM -0700, Thomas Lockhart wrote:
> > > I'd like to contribute new code for Postgres geometry type 'path' operations
> > > (including line buffer). Where should I send this?
> > 
> > Send to pgsql-patches@postgresql.org. It may be helpful to (i.e. please
> > do) post a summary of what you are intending to send to this mailing
> > list so folks have an idea of what is coming...
> > 
> > Regards.
> > 
> >                     - Tom
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026