[postgis-users] Storing geometries in variables
Stephen Woodbridge
stephenwoodbridge37 at gmail.com
Fri Aug 21 11:46:17 PDT 2020
Hi Shao,
You need to read up on plpgsql stored procedures. This allows you to
write functions that you can call from SQL. Sql is not a programming
language like Python/Perl/Basic/etc, It is a query language for working
with relational databases and operates on sets of records.
PostgreSQL stored procedures allow you to write and apply functions to
records or columns via the SQL language. This is what PostGIS does. If
you have a table of polygons, you can apply an area calculation to the
polygons in the table of some subset of them like:
select *, st_area(geom) as area from my_table;
select *, st_area(geom) as area from my_table where gid=1234;
If you want to write some complex analysis, write a stored procedure and
then apply it like above. plpgsql has flow control, variables, etc like
many other languages.
-Steve
On 8/21/2020 2:33 PM, Shaozhong SHI wrote:
> Hi, Ruven Brooks,
>
> I am trying to explore its potential and versatility.
>
> Can standard SQL work like a program?
>
> As I understand, DO statement is similar to a function.
>
> What I am interested in is to fully understand its capabilities and
> working like a program.
>
> Working like to powerful program would allow data manipulation.
>
> Have you tried writing DO statement with Python?
>
> Regards,
>
> Shao
>
> On Fri, 21 Aug 2020 at 18:52, <ruvenml at beamerbrooks.com
> <mailto:ruvenml at beamerbrooks.com>> wrote:
>
>
> The DO statement is not in standard SQL; it is a PostgreSQL
> extension used to implement procedural languages like PL/SQL. Are
> you writing PL/SQL code? If so, it would be useful to have an
> explanation of what you are trying to compute, particularly if the
> computations are geometric ones.
>
> Ruven Brooks
>
> On 8/21/2020 11:18 AM, Shaozhong SHI wrote:
>> Hi, Ruven Brooks,
>>
>> This is a good point.
>>
>> I was testing in a Do statement. I created a geometry variable.
>> It seems that it stored a geometry object. However, a very long
>> code appeared. It does not seem that the geometry object was not
>> actually stored.
>>
>> Regards,
>>
>> Shao
>>
>> On Fri, 21 Aug 2020 at 15:32, <ruvenml at beamerbrooks.com
>> <mailto:ruvenml at beamerbrooks.com>> wrote:
>>
>> SQL itself has no variables. What programming language are
>> you using and how does it call SQL? PosgGIS supports WKT
>> format so pretty much any programming language which can
>> store strings can store geometry.
>>
>> Ruven Brooks
>>
>> On 8/21/2020 7:54 AM, Shaozhong SHI wrote:
>>> Has anyone got experience in storing geometries in
>>> variables, so that these can be used in a program?
>>>
>>> Regards,
>>>
>>> Shao
>>>
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at lists.osgeo.org <mailto:postgis-users at lists.osgeo.org>
>>> https://lists.osgeo.org/mailman/listinfo/postgis-users
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at lists.osgeo.org
>> <mailto:postgis-users at lists.osgeo.org>
>> https://lists.osgeo.org/mailman/listinfo/postgis-users
>>
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at lists.osgeo.org <mailto:postgis-users at lists.osgeo.org>
>> https://lists.osgeo.org/mailman/listinfo/postgis-users
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org <mailto:postgis-users at lists.osgeo.org>
> https://lists.osgeo.org/mailman/listinfo/postgis-users
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list