Using sdo_contains with transient object in Oracle - oracle

I have two varchar columns with wkt value (a polygon and a point). I want to know if there are a polygon that contains some point using Oracle.
I'm using sdo_contains command, but don't work. According the documentation, the polygon should be indexed. Can anyone help me how to get around this problem?
I don't want to create a geometry column. I can't change the table structure or add a column.

SDO_CONTAINS is a spatial operator function and does indeed require an index (or rather, an indexed geometry column).
For arbitrary in-memory geometry objects, you can use SDO_GEOM.RELATE with the CONTAINS or INSIDE mask.
https://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_objgeom.htm#BGHCDIDG

Related

How to publish oracle db layer with geoserver?

I use geoserver version 2.18.4.
And I created a store and connected the oracle db.
However, there is no geometry column in my oracle table.
I have x column and y column of latitude and longitude coordinate system.
How do I publish a layer when there is no geometry column and only has x and y coordinate columns?
If there is only x-coordinate column and y-coordinate column, I am trying to publish a layer through sql view, but how do I set the geometry?
You will need to somehow provide a Geometry column before GeoServer will consider your table.
You could create a view which generates a geometry on the fly, but this is likely to be slow for any reasonable size of data and may lead to problems with metadata.
A better solution is to add a column to your table and populate it directly using the values in the latitude and longitude columns.

Does cube of ODI support OLAP operations like dicing, drilling, pivoting

I am a newbie in ODI. I have installed ODI 12c and created a data cube in it. After mapping the data cube, it is just added into the Oracle database like a simple table. I am wondering how the cube helps us to run queries very fast and in low time.
I have searched a lot and found that OLAP cube's Operations are Dicing, Drilling, Pivoting, ...
Would you please guide me on how to drill, dice, and pivot on the cube which is created in ODI?
Any help is really appreciated.
ODI it's a tool that integrates data. The operation of Dicing, Drilling, Pivoting and so on, are operations that are made on a reporting tool such as Oracle OLAP.
You can't do that in ODI.
You could see in this page all the details rearding ODI Cubes.
EDIT 1, based on comment:
Due to the fact that when you create a Cube, you need to specify a datastore and dimensions(and also when create a dimension you need to specify a datastore) it means that a Cube have a phisical table behind.
Please read here about dimensions and then about Cubes.
Very sort extraction from the links:
A cube is a set of measures grouped together that have similar dimensionality. The axes of the cube contain dimension values and the body of the cube contains measure values.
A dimension is a structure that organizes data. For example, a products dimension organizes data about products including product information, product categories and its sub-categories. A dimension consists of a set of levels and a set of hierarchies defined over these levels.
Hope that this answer helps you,
Florin!

Using addWheel with compound shapes using physijs

Is it possible to add a compound shape when using Physijs's addWheel function (in conjunction with Vehicle), as you cannot use wheelparent.geometry which does not include the children's geometry? The geometries of the children use indexed buffer geometries, and I tried using merge to no avail (this question refers).
I guess that's a no, it cannot be done. What I did was create my own function to merge all the vertices, correctly indexed, then uses the new geometry to create a new wheel shape.

Convert Oracle relation string to POSTGIS dimensional matrix

I want to convert a query from Oracle spatial to postgis. It uses relation strings for it's sdo_relate function for which I want to get the dimensional matrix in st_relate. I tried using st_intersects, but I get overlapping areas in geometries. Can I please get some help in understanding the conversion? Thanks.
I want the postgis dimensional matrix for the following two oracle relation strings-
st_relate(geomA, geomB, 'MASK=ANYINTERACT')
st_relate(geomA, geomB, 'mask=TOUCH+INSIDE')
ST_Intersects(A,B) and ST_Contains(A,B), respectively.

In Oracle Spatial (SDO), is there a way to get the centroid point of a polygon that is contained by the surface of the polygon?

I need to find the centroid of a polygon in Oracle Spatial that exists inside of the polygon itself. I cannot use the sdo_geom.sdo_centroid method because this returns a point outside of the shape if the shape resembles a horseshoe.
I found sdo_geom.sdo_pointonsurface method, but it returns a point that is just on the edge of the polygon. While this mathematically works, it is not safe in our environment because all polygons share a boundary with other polygons and sometimes there is a slight overlap in the data. This overlap cannot include the calculated point.
Is there another approach to finding this point without writing custom code? I'm not opposed to writing custom code for this, but I would like to use something pre-built if it already exists.
Thanks!
Simon Greener has a package for a "para-centroid": codesys.geom.sdo_centroid.
You can download it, but I don't know if there is any sort of licensing that is attached to the source.
Here are links:
Oracle Locator vs Oracle Spatial: A Reflection on Oracle Licensing of the SDO_GEOM Package
Shapefile Exporter package for Oracle 10gR2

Resources