[Qgis-developer] Native SQL Anywhere plugin+provider contributed to trunk

Tim Sutton lists at linfiniti.com
Wed Dec 22 15:55:37 EST 2010


Hi

On Wed, Dec 22, 2010 at 10:42 PM,  <Dave.DeHaan at sybase.com> wrote:
> Hi Tim: Please see my inline responses below.
>

---8<------------snip----------

>>
>> Thanks - yes I discovered the context help when setting up the QGIS
>> SQL Anywhere provider connection. I am up and running now thanks. As
>> initial feedback (after playing with it for 10 mins) is that it seems
>> to run without problems and do what it says on the box. The only
>> hiccup I have encountered so far is that the sql loader script for
>> Alaska data does not seem to run cleanly. I removed some of the shp
>> layer names from the initial list as I only have alaska, lakes and
>> majrivers here on my local setup. When the script ran, it dropped the
>> tables based on layer names ok but trying to load the shapefiles it
>> would report something like:
>>
>> Failed to load  '/home/timlinux/gisdata/Alaska/.shp'
>>
>> i.e. it was not properly concatenating in the layernams for the shp
>> loader part of the script.
>
> Hmm, that's somewhat puzzling.  I tested the script under both Windows and
> Linux.  The script rather crudely assumes that the list of names built at
> the top is of the form "A,B,...,Z".  Is it possible that during your
> modification to restrict to alaska, lakes, and majrivers you inadvertently
> introduced an extra comma into the string value (likely at the front)?
>

I believe that you are correct - I reverted my changes to the script
so I can't verify it now but I believe I did leave in a leading comma.

>>
>> Since I was eager just to see a pretty picture, I shamelessly cheated
>> to get the alaska boundary and then a local EPSG:4326 based dataset to
>> load by simply calling:
>>
>> CALL load_shapefile( '/home/timlinux/gisdata/Alaska/alaska.shp',
>> 1000002964, 'QGIS_alaska' );
>> CALL load_shapefile(
>> '/home/timlinux/gisdata/Africa/Jozi/2628-Vector-WGS84/
>> 2628_ROAD_LINE_2006_12.shp',
>> 1000004326, 'QGIS_jozi_roads' );
>>
>> It would be interesting to run some benchmarks comparing SQL Anywhere
>> with SpatialLite and PostgreSQL/PostGIS. If I have some time I will do
>> some simple tests of that nature.
>
> I'd be interested in your results.  I will take this opportunity to note,
> however, that SA 12.0.0 was the first release of our spatial support.  SA
> 12.0.1 will be released in early 2011, and it will contain substantial
> performance improvements for spatial (particularly for
> loading/querying/manipulating large geometry values).  Waiting a few months
> for 12.0.1 before running benchmark comparisons would be great :).
>

Ok good will do.

>>
>> Thanks for the contribution! No doubt you will start getting a trickle
>> of queries as more people start to explore the new goodies :-)
>>
>
> I hope so!  At least, I hope some people try it out.  Ideally, everything
> would be so straightforward and work so smoothly that very few questions
> arise :-).
>

Yup :-)

Regards

Tim

> --Dave
>
>
>> Regards
>>
>> Tim
>>
>>
>> > Let me know if you encounter anything that needs clarification.
>> >
>> > Best regards,
>> > Dave
>> >
>> > ----
>> > David E. DeHaan
>> > Query Processing team
>> > Sybase iAnywhere
>> >
>> >
>> >
>> >  From:       Tim Sutton <lists at linfiniti.com>
>> >
>> >  To:         <Dave.DeHaan at sybase.com>
>> >
>> >  Cc:         <qgis-developer at lists.osgeo.org>
>> >
>> >  Date:       12/22/2010 02:18 PM
>> >
>> >  Subject:    Re: [Qgis-developer] Native SQL Anywhere plugin
>> +provider contributed to trunk
>> >
>> >
>> >
>> >
>> >
>> >
>> > Hi again
>> >
>> > On Wed, Dec 22, 2010 at 9:10 PM, Tim Sutton <lists at linfiniti.com>
> wrote:
>> >> Hi Dave
>> >>
>> >> Just getting around to test driving the new provider.
>> >>
>> >> What is the correct value for 'servername' in the dbisql gui (assuming
>> >> having followed your instructions below and that the database I
>> >> created is called 'gis').
>> >>
>> >
>> > Ok I came right by doing 'start and connect', and then leaving the
>> > servername blank.
>> >
>> > Regards
>> >
>> > Tim
>> >
>> >> Thanks
>> >>
>> >> Tim
>> >>
>> >>
>> >> On Thu, Dec 16, 2010 at 12:00 AM,  <Dave.DeHaan at sybase.com> wrote:
>> >>>
>> >>> Hello QGIS Devs,
>> >>>
>> >>> As per discussion on qgis-psc a couple of weeks ago, I have just
>> >>> contributed (rev. 14918) a native plugin+provider for Sybase SQL
>> > Anywhere
>> >>> (trunk/qgis/src/plugins/sqlanywhere;
>> > trunk/qgis/src/providers/sqlanywhere),
>> >>> similar in functionality to the PostGIS and SpatiaLite providers.
> Due
>> > to a
>> >>> legal technicality, this code needed to be released under GPL v3
> rather
>> >>> than the usual GPL v2 used by the rest of the QGIS project.
>> >>>
>> >>> I've tested the code under both Ubuntu 10.04 (gcc) and Windows XP
> (MSVC
>> >>> 2008).  If there are developers out there on other platforms, could
> you
>> >>> please let me know if the plugin fails to either compile or load on
> your
>> >>> platform (loading it should add a toolbar button and a couple menu
>> >>> options)?
>> >>>
>> >>> If anyone is interested in taking the plugin/provider for a test
> drive,
>> >>> here is a quick set of steps to get you started:
>> >>>
>> >>>  1. Download the free Developer's Edition of SQL Anywhere 12.0.0
> here:
>> >>> http://www.sybase.com/detail?id=1016644
>> >>>
>> >>>  2. Install the SQL Anywhere 12.0.0 engine on your database host
>> >>>
>> >>>  3. Install the SQL Anywhere 12.0.0 client libraries on your QGIS
> client
>> >>> (only necessary if client and host are different machines)
>> >>>
>> >>>  4. Use 'dbinit my_database_name' to initialize a blank database on
> the
>> >>> host.  The default user/password is initialized to 'dba'/'sql'.
>> >>>
>> >>>  5. Use 'dbsrv12 my_database_name' to start the database server on
> the
>> >>> host.
>> >>>
>> >>>  6. Populate the database with sample spatial data.  To facilitate
> this
>> >>> step, I have contributed the SQL script
>> >>> src/providers/sqlanywhere/load_alaska_shapes.sql which loads the
> Alaska
>> >>> VMap0 shapefiles into new tables.  Use the 'Interactive SQL' tool
>> > (dbisql)
>> >>> on the database host to open/execute this script (you will need to
>> > modify a
>> >>> few variables at the top of the script to tell it where to find the
>> >>> shapefiles, which are assumed to be on the filesystem of the database
>> >>> host).
>> >>>
>> >>>  7. Start up QGIS, and load the SQL Anywhere plugin.  This will add a
>> >>> button to the data sources toolbar, as well as the menu entries
>> > 'Plugins->
>> >>> SQL Anywhere' and 'Layer->Add SQL Anywhere Layer...'
>> >>>
>> >>>  8. Adding a SQL Anywhere layer should invoke a dialogue box for
>> > choosing
>> >>> a connection and searching the database schema for geometry columns
>> >>> (similar look/feel/functionality to the PostGIS and SpatiaLite
> toolbar
>> >>> buttons).  If you instead receive a message box, it means that it
> can't
>> >>> find the SQL Anywhere client libraries installed in step 3 (or step 2
> if
>> >>> client=host).
>> >>>
>> >>> Please let me know if you have any
>> > questions/comments/suggestions/bugs...
>> >>>
>> >>> Thanks,
>> >>> Dave
>> >>>
>> >>> ----
>> >>> David DeHaan
>> >>> SQL Anywhere Research and Development
>> >>> Sybase iAnywhere
>> >>> ddehaan at sybase.com
>> >>>
>> >>> _______________________________________________
>> >>> Qgis-developer mailing list
>> >>> Qgis-developer at lists.osgeo.org
>> >>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Tim Sutton - QGIS Project Steering Committee Member (Release  Manager)
>> >> ==============================================
>> >> Please do not email me off-list with technical
>> >> support questions. Using the lists will gain
>> >> more exposure for your issues and the knowledge
>> >> surrounding your issue will be shared with all.
>> >>
>> >> Visit http://linfiniti.com to find out about:
>> >>  * QGIS programming and support services
>> >>  * Mapserver and PostGIS based hosting plans
>> >>  * FOSS Consulting Services
>> >> Skype: timlinux
>> >> Irc: timlinux on #qgis at freenode.net
>> >> ==============================================
>> >>
>> >
>> >
>> >
>> > --
>> > Tim Sutton - QGIS Project Steering Committee Member (Release  Manager)
>> > ==============================================
>> > Please do not email me off-list with technical
>> > support questions. Using the lists will gain
>> > more exposure for your issues and the knowledge
>> > surrounding your issue will be shared with all.
>> >
>> > Visit http://linfiniti.com to find out about:
>> >  * QGIS programming and support services
>> >  * Mapserver and PostGIS based hosting plans
>> >  * FOSS Consulting Services
>> > Skype: timlinux
>> > Irc: timlinux on #qgis at freenode.net
>> > ==============================================
>> >
>> >
>> >
>> >
>> >
>>
>>
>>
>> --
>> Tim Sutton - QGIS Project Steering Committee Member (Release  Manager)
>> ==============================================
>> Please do not email me off-list with technical
>> support questions. Using the lists will gain
>> more exposure for your issues and the knowledge
>> surrounding your issue will be shared with all.
>>
>> Visit http://linfiniti.com to find out about:
>>  * QGIS programming and support services
>>  * Mapserver and PostGIS based hosting plans
>>  * FOSS Consulting Services
>> Skype: timlinux
>> Irc: timlinux on #qgis at freenode.net
>> ==============================================
>>
>
>



-- 
Tim Sutton - QGIS Project Steering Committee Member (Release  Manager)
==============================================
Please do not email me off-list with technical
support questions. Using the lists will gain
more exposure for your issues and the knowledge
surrounding your issue will be shared with all.

Visit http://linfiniti.com to find out about:
 * QGIS programming and support services
 * Mapserver and PostGIS based hosting plans
 * FOSS Consulting Services
Skype: timlinux
Irc: timlinux on #qgis at freenode.net
==============================================


More information about the Qgis-developer mailing list