[GIS] Can QGIS use a non-spatial Oracle Database

oracle-dbmsqgisshapefile

I'm building my first plugin in qgis, that needs to read some coordinates from an oracle database (not oracle spatial database) and create a shapefile with this points. I'm searching but only find to in oracle spatial!

Is there a way to do this in a simple oracle database?

Best Answer

This is a common and old misunderstanding.

Since Oracle 9, standard Oracle has had all the basic functionality to store and retrieve SDO_GEOMETRY in an Oracle database, and this functionality was dubbed "Oracle Locator" by Oracle. You don't need Oracle Spatial for that. Oracle Spatial just adds more geometric functions, allowing you to do some basic geoprocessing using Oracle SQL.

But most GIS's, like ArcGIS, don't even use (or at least didn't) this functionality, as things like calculating the Intersection between two polygons, are implemented at the application level (e.g. ArcMap, AutoCAD Map, QGIS), instead of the database level.

Having these spatial functions at the database level, as with Oracle Spatial, is only a real benefit if you intend to do either SQL command line work, or special custom application development (e.g. web-application) without use of a pre-existing GIS desktop application.