In trunk. How about the previous issue? Is that still open? If so, can you 
please open a ticket? Thanks.

On Tuesday, 8 January 2013 05:31:28 UTC-6, Paolo valleri wrote:
>
> Hi all, I have a simple problem, how I can extract values of a single 
> point?
> I found that there are the functions ST_X, and ST_Y.
> Please find attached a patch that add them to dal and to the postgres 
> adapter, I haven't put them neither to MSSQLAdapter nor to 
> SQLITESpatiaLiteAdapter because I don't have those db to run tests.
> Now you can do something like:
> print db(db.city).select(db.city.latlng,
>                          db.city.latlng.st_x(), 
>                          db.city.latlng.st_y())
>
> city.latlng,ST_X(city.latlng),ST_Y(city.latlng)
> POINT(51.507335 -0.127683),51.507335,-0.127683
> POINT(41.901514 12.460774),41.901514,12.460774
> POINT(40.851775 14.268124),40.851775,14.268124
> The geometry field MUST contain only point otherwise it raises an error.
>
> Hope it helps
>
> Paolo
>
>
>
> On Sunday, January 6, 2013 5:29:52 PM UTC+1, Paolo valleri wrote:
>>
>> Hi Massimo, I found an other strange behavior. I tried to capitalize the 
>> name of a field, as follows:
>> db.define_table('test_geo', 
>>                 Field('loc_Test','geometry()'),
>> )
>> and I get this error:
>>
>> Traceback (most recent call last):
>>   File "/home/paolo/Dropbox/git/web2py/gluon/restricted.py", line 212, in 
>> restricted
>>     exec ccode in environment
>>   File "/home/paolo/Dropbox/git/web2py/applications/bikend/models/db.py" 
>> <http://127.0.0.1:8000/admin/default/edit/bikend/models/db.py>, line 585, in 
>> <module>
>>     db.test_geo.insert(loc_Test=geoPoint(45.89096,11.0401399))
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 7977, in insert
>>     ret =  self._db._adapter.insert(self,self._listify(fields))
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 1175, in insert
>>     raise e
>> ProgrammingError: column "loc_test" of relation "test_geo" does not exist
>> LINE 1: INSERT INTO test_geo(loc_Test) VALUES (ST_GeomFromText('POIN...
>>
>> and so I tried to insert without the capitalize and I get this error:
>>
>> Traceback (most recent call last):
>>   File "/home/paolo/Dropbox/git/web2py/gluon/restricted.py", line 212, in 
>> restricted
>>     exec ccode in environment
>>   File "/home/paolo/Dropbox/git/web2py/applications/bikend/models/db.py" 
>> <http://127.0.0.1:8000/admin/default/edit/bikend/models/db.py>, line 585, in 
>> <module>
>>     db.test_geo.insert(loc_test=geoPoint(45.89096,11.0401399))
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 7977, in insert
>>     ret =  self._db._adapter.insert(self,self._listify(fields))
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 7915, in _listify
>>     'Field %s does not belong to the table' % name)
>> SyntaxError: Field loc_test does not belong to the table
>>
>>
>> finally, I redefined the table as was before, (without any capital 
>> latter) and I get this:
>>
>> Traceback (most recent call last):
>>   File "/home/paolo/Dropbox/git/web2py/gluon/restricted.py", line 212, in 
>> restricted
>>     exec ccode in environment
>>   File "/home/paolo/Dropbox/git/web2py/applications/bikend/models/db.py" 
>> <http://127.0.0.1:8000/admin/default/edit/bikend/models/db.py>, line 583, in 
>> <module>
>>     db.test_geo.insert(Name='paolo')
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 7313, in 
>> __getattr__
>>     return self.lazy_define_table(tablename,*fields,**args)
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 7281, in 
>> lazy_define_table
>>     polymodel=polymodel)
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 965, in 
>> create_table
>>     fake_migrate=fake_migrate)
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 1068, in 
>> migrate_table
>>     self.execute(sub_query)
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 1714, in execute
>>     return self.log_execute(*a, **b)
>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 1708, in 
>> log_execute
>>     ret = self.cursor.execute(*a, **b)
>> ProgrammingError: syntax error at or near "SELECT"
>> LINE 1: ALTER TABLE test_geo ADD loc_test__tmp SELECT AddGeometryCol...
>>
>>
>>
>> Hope it helps,
>> Paolo
>>
>>
>>
>>
>>
>>
>> I changed the name of the field:
>>
>>
>> On Sunday, January 6, 2013 5:01:32 PM UTC+1, Paolo valleri wrote:
>>>
>>> well done! All the former tests worked. I will investigate more the 
>>> others functions as soon as possible.
>>>
>>> Paolo
>>>
>>>
>>> On Sunday, January 6, 2013 4:28:13 PM UTC+1, Massimo Di Pierro wrote:
>>>>
>>>> One more try please. 
>>>>
>>>> On Sunday, 6 January 2013 02:11:09 UTC-6, Paolo valleri wrote:
>>>>>
>>>>> Hi Massimo, I've tried the same 3 tests.
>>>>> The first one failed, it was working before though, the ticket:
>>>>>
>>>>> Traceback (most recent call last):
>>>>>   File "/home/paolo/Dropbox/git/web2py/gluon/restricted.py", line 212, in 
>>>>> restricted
>>>>>     exec ccode in environment
>>>>>   File "/home/paolo/Dropbox/git/web2py/applications/bikend/models/db.py" 
>>>>> <http://127.0.0.1:8000/admin/default/edit/bikend/models/db.py>, line 586, 
>>>>> in <module>
>>>>>     print db(query)._select(db.test_geo.id, db.test_geo.loc_test)
>>>>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 8928, in 
>>>>> _select
>>>>>     return adapter._select(self.query,fields,attributes)
>>>>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 1478, in 
>>>>> _select
>>>>>     sql_f = ', '.join(map(geoexpand, fields))
>>>>>   File "/home/paolo/Dropbox/git/web2py/gluon/dal.py", line 1477, in 
>>>>> geoexpand
>>>>>     return self.expand(field)
>>>>>   <span st...
>>>>> Show original 
>>>>> <https://groups.google.com/group/web2py/msg/c15e58bfcfa50047?dmode=source&output=gplain&noredirect>
>>>>>
>>>>>

-- 



Reply via email to