I'd like to learn how to write PL/SQL spatial functions for use in an Oracle ST_GEOMETRY geodatabase. And I figure, the best way to learn something is to start with something that works, thoroughly study it, and then start writing my own functions from there.

So, I'd like to start with an existing SDE.ST_GEOMETRY function. How can I get the PL/SQL definition of SDE.ST_GEOMETRY functions, such as ST_NumPoints (or any other function for that matter)?

I've poked around the web looking for sample SQL for getting the source PL/SQL of functions. There's a lot of talk of packages, etc. and I'm just not really sure where to start.

  • 1
    There are far better ways to learn how to use SDE.ST_GEOMETRY in PL/SQL. Not only are the packages opaque, but they hit DLL functions. – Vince Nov 4 '16 at 20:40
  • Vince, the dream killer! What do you suggest as better ways to learn to use SDE.ST_GEOMETRY in PL/SQL? Is there an ST_GEOMETRY object model diagram? How do I know how to work with things like vertices and M values? Example: dba.stackexchange.com/questions/149428/… – Wilson Nov 5 '16 at 1:15
  • There are books on Oracle Spatial (my organization doesn't have Oracle Spatial), but there are not books on SDE.ST_GEOMETRY. The online documentation is good, but it doesn't tell me how to do spatial analysis, construct/deconstruct geometries, make efficient queries, etc. I'm eager to learn, but am having trouble getting off the ground. – Wilson Nov 5 '16 at 1:25
  • 1
    Standard SQL is standard SQL, and the PL/SQL language introduces its own quirks. If spatial analysis is your goal, the SQL toolbox might be too low-level to start. I've always believed that you should use the higher level of abstractions at first, and then when you're comfortable there, you'll have a better idea of what can be accomplished (and a decent database design to start from). Any way you cook it though, this isn't really a topic compatible with the "Focused Question/Best Answer" model use here in GIS SE. – Vince Nov 5 '16 at 2:18

Vince answered the question in a comment. In short, it's not possible.

"Not only are the packages opaque, but they hit DLL functions."

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.