How can I calculate 3D distance with OS10g

Hi,
How can i calculate 3D distance between two objects using OS 10g?
Thanks,

If you have two 3d points you can:
Make them into a line string
Linear reference the 3d line string
The length of the 3d line string is the distance between the points
3d linear referencing is not supported for geodetic (non-cartesian) data.
In 11g of course the story changes drastically.
Here is a simple example:
create or replace function points3dDistance(geom1 sdo_geometry,geom2 sdo_geometry)
return number deterministic as
geom sdo_geometry;
length number;
begin
-- creating a 3d line segment
  geom := sdo_geometry(3002,null,null,sdo_elem_info_array(),sdo_ordinate_array());
-- not checking, but should be cartesian coordinate system
-- also geom1 and geom2 coordinate systems must match
  geom.sdo_srid := geom1.sdo_srid;
-- creating a line segment from two points
  geom.sdo_elem_info.extend(3);
  geom.sdo_elem_info := sdo_elem_info_array(1,2,1);
  geom.sdo_ordinates.extend(6);
-- if production i would check first for sdo_ordinates/elem info
-- and make sure point data with the right number or ordinates
-- since only demo assume input data comes from sdo_point in geom1 and geom2
  geom.sdo_ordinates(1) := geom1.sdo_point.x;
  geom.sdo_ordinates(2) := geom1.sdo_point.y;
  geom.sdo_ordinates(3) := geom1.sdo_point.z;
  geom.sdo_ordinates(4) := geom2.sdo_point.x;
  geom.sdo_ordinates(5) := geom2.sdo_point.y;
  geom.sdo_ordinates(6) := geom2.sdo_point.z;
-- Now convert to lrs3d and get the length
  return sdo_lrs.measure_range_3d(sdo_lrs.convert_to_lrs_geom_3d(geom));
end;
select points3dDistance(
  sdo_geometry(3001,41048,sdo_point_type(5000,5000,0),null,null),
  sdo_geometry(3001,41048,sdo_point_type(5000,6000,1000),null,null))
from dual;

Similar Messages

  • How can i calculate overtime hours with PCR?

    hi all,
    i was wandering, can i calculate overtime hours in this case?
    example my DWS for this day is 08.00 - 16.00
    i do early overtime from 06.00 - 08.00, and after my working hours is finished, i do late overtime from 16.00 - 19.00
    (in TIP it is separated in 2 rows)
    how can i calculate my total overtime with pcr? i want to use the total for another calculation..
    06.00 - 08.00 : 2 hours
    16.00 - 19.00 : 3 hours
    +
            total      : 5 hours.
    thx all..

    ZPRN    DVARSTPRSNT
    N      COLOP*
    Y     DOUTTPORIGS
    Y E  HRS=0     HRS=PNUM  ADDDB9066 COLOP*
    Y *  COLOP*
    THE ZPRN PCR WILL GET THE TOTAL NUMBER WORKING HRS IN TIME TYPE 9066
    Now we will write a pcr to get overtime details
          DVARSTDPRCL
    *    DVARSTHOLCL
    * 1  D HRS=D9066  HRS-S HRS?0
    * 1 * ADDDB9067
    * 1 < COLOP*
    0 *
    NOW THIS PCR WILL BRING THE OVERTIME
    BASED ON YOUR DAILY WORK SCHEDULES U NEED TO CHANGE VARSTDPRCL NOW MY RULES WILL WORK FOR ALL THE SHIFTS OTHER THAN WEEKLY OFFS
    REGARDS,
    RAJA SEKHAR.

  • How can I calculate the characters with spaces in a document on pages

    I'm currently using pages to write my personal statement up on, although i need to keep my characters including spaces under 4000 characters and also have no more than 47 lines. I've found how to do a word count and find how many charcaters I've used, but i can't see anywhere the information that I actually need to find! Someone please help, thankyou

    How can you calculate the number of lines if you don't know how many characters there are to a line?
    This is 2013. We are using word processors with real fonts, not terminals or teletypers or typewriters.
    If you must have 47 lines then shrink the point size of the font until it fits.
    Peter

  • How can i calculate tempsize and logdir size ?

    Hello:
    I have one database on a primary server and its replica on a replica server.
    Since one week to now, Mexican Exchange have had a considerable growth on transactions.
    My database works in line, every night all data is cleaned waiting for new data on next day.
    From last Thursday (29 april 2010) my replicas have had problems on drop all data using delete from.
    I use delete from because those tables are Oracle cache groups defined.
    Looking for error on tterrors logs (yesterday I got this error) I could see that replica was ran out of temporal memory.
    On line database and replica database I have defined same temporal memory size, on this case 512Mb. But primary database did not send any error about this parameter, so if I checked “monitor” columns on database, my temp_in_use size is too less than temp_allocate_size.
    My problem is, how can I calculate temp_allocate_size ?
    So I have had close to 3,000,000 record on a simple table, I mean, I could have 2 or 3 tables with same number of rows.
    If I have this parameter (may be 9,000,000) rows to be deleted, is there any way to calculate temp_allocate_size ?
    But now, I suppose that I need enogh space on “LogDir”, my high_water_mark for permanent memory is 10GB, I have defined 16 gb for LogDir, but if I stopped replication since the operation starts, I had 100% space used at middle of my operation, so 5Gb on real database used, it is using close to 16 gb on LogDir.
    My second doubt … is there any way to calculate LogDir size having the maximum database size ??
    Thanks a lot for your help.
    Regards.

    I think that approaching this from the perspective of increasing temporary space and log space is not the best way.
    Firstly, there are better ways to delete all rows from a table instead of using delete...
    1. For regular tables (ones that are not part of a cache group) you can use TRUNCATE TABLE ... This operation is replicated but the voilume of replicated data is vastly smaller than if you delete all rows individually. Also, it should take a lot less Temp space on both the source and target system.
    2. For cache tables, you could use UNLOAD CACHE GROUP ... This is similar to TRUNCATE but for cache tables. Again, this operation is replicated. Note that if you are using AWT or SWT cache groups and you DELETE in TimesTen then the data is also deleted from Oracle... is that wjhat is desired?
    If you have to use DELETE then it is very important that you delete the rows in small batches rather than as one huge transaction. Trying to replicate a delete of 3M rows will cause huge problems for replication. A much better solution is to delete in smaller batches using some application logic as follows:
    loop:
    commit;
    DELETE FIRST 1000 FROM sometable;
    If rowcount > 0 then goto loop;
    commit;
    This approach has 5 benefits:
    1. Much less Temp space will be needed.
    2. Replication will be able to process the delets as they occur rather than waiting until all 3M rows have been deleted and then trying to tepliate a single transaction of 3M deletes. This will greatly improve replication performance and also prevent excessive log file buildup.
    3. Checkpointing will be able to purge log files as the delete progresses rather than having to wait until all rowsw have been deleted. This will prevent excessive log file buildup.
    4. The overall time required will be much reduced compared to deleting all rows in a single delete.
    You should not stop replication while the delete s are being done as this just causes log file accumulation.
    To answer your original question. it is not possible ot 'calculate' the required temp space pof log space; rather one must use observed data from when the system is running to determine the necessary size. For Temp size, you can look at the Temp high water mark to see the maximum space used and then set TempSize to somewhat more than that value. For log space, you need enough to sustain the maximum amount of log data generated with some contingency. Running our of log space is a very bad idea...
    If you adopt my suggestions above then you can avoid these issues and also complete the cleanup of data in a shorter time.
    Chris

  • How can we calculate no.of leave used by the employee except sunday.

    Dear Friends,
    i have query how can we calculate no.of leave taken by the employee except sunday & government holiday.
    Example: A person take a sick leave From 13/02/2008 to 20/02/2008 with in that period 17th was sunday.
    when we calculate absence day for that person,Total value is 8 days but exact output is 7days only.How can i get exact result,any function module is avilable for this issue .
    Thanks & Regards,
    Rajkumar.A

    Hi,
    you have to consider SL leave as in holiday's So you can check with clinet if client says consider you can otherwise you con't
    its depend client requirement
    and you can go to controlls inSAP and change absence controlls for SL with holidays
    Regards
    Suresh

  • How can I create drop shadows with PSE10

    How can I create drop shadows with PSE10 & PE10?

    Layer styles let you quickly apply effects to an entire layer. In the Effects panel, you can view a variety of predefined layer styles and apply a style with just a click of the mouse.
    Three different layer styles applied to text 
    The boundaries of the effect are automatically updated when you edit that layer. For example, if you apply a drop shadow style to a text layer, the shadow changes automatically when you edit the text.
    Layer styles are cumulative, which means that you can create a complex effect by applying multiple styles to a layer. You can apply one style from each style library per layer. You can also change a layer’s style settings to adjust the final result.
    When you apply a style to a layer, a style icon appears to the right of the layer’s name in the Layers panel. Layer styles are linked to the layer contents. When you move or edit the contents of the layer, the effects are modified correspondingly.
    Once you choose Layer > Layer Style > Style Settings, you can edit the settings of a layer’s style or apply other style settings or attributes available in the dialog box.
    Lighting Angle Specifies the lighting angle at which the effect is applied to the layer.
    Drop Shadow
    Specifies the distance of a drop shadow from the layer’s content. You can also set the size and opacity with the sliders.
    Outer Glow Size Specifies the size of a glow that emanates from the outside edges of the layer’s content. You can also set the opacity with the slider.
    Inner Glow Size Specifies the size of a glow that emanates from the inside edges of the layer’s content. You can also set the opacity with the slider.
    Bevel Size Specifies the size of beveling along the inside edges of the layer’s content.
    Bevel Direction Specifies the direction of the bevel, either up or down.
    Stroke Size Specifies the size of the stroke.
    Stroke Opacity Specifies the opacity of the stroke.

  • How can I calculate which is the index (x-value) correspondant to a certain value of a signal?

    I just want to calculate the quality of the peak in a FFT, defined as you can see in the attached file.
    For that, I would need to know how can I calculate in Labview the index or indices (x-value) correspondant to a certain amplitude value of the function.
    Kind regards, and thank you for reading,
    Jose
    Solved!
    Go to Solution.
    Attachments:
    quality.jpg ‏6 KB

    If you know the lineshape (e.g. Lorentzian), you can use nonlinear fit. This will give you the most accurate value.
    In the most simple case (insignificant offset and noise, no other peaks) you can apply the following code (if there are other peaks, then take a apropriate array subset before applying the code). To get correct units, just scale with df.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    WidthAtHalfHeight.png ‏52 KB

  • How can I calculate the request time ?

    Hello,
    How can I calculate the total consume time in each request ?
    For example, I want to start calculating the time when I click on a Link or a button and the end time when it completed load the page !
    Eric

    You could use a filter like this one:
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.text.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    public class TimeFilter implements Filter {
        // The filter configuration object we are associated with.  If
        // this value is null, this filter instance is not currently
        // configured.
        private FilterConfig filterConfig = null;
        private static final boolean debug = false;
        private long start = 0;
        private long end = 0;
        public TimeFilter() {
        private void doBeforeProcessing(ServletRequest request, ServletResponse response)
        throws IOException, ServletException {
            if (debug) log("CalendarFilter:DoBeforeProcessing");
            System.out.print("In Filter  ");
            this.start = System.currentTimeMillis();
            System.out.println((new java.util.Date()).toString() +
                               " start request ");
        private void doAfterProcessing(ServletRequest request, ServletResponse response)
        throws IOException, ServletException {
            if (debug) log("TimeFilter:DoAfterProcessing");
            System.out.println("Completion Time = " + (System.currentTimeMillis() - start));
         * @param request The servlet request we are processing
         * @param result The servlet response we are creating
         * @param chain The filter chain we are processing
         * @exception IOException if an input/output error occurs
         * @exception ServletException if a servlet error occurs
        public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain)
        throws IOException, ServletException {
            if (debug) log("TimeFilter:doFilter()");
            doBeforeProcessing(request, response);
            Throwable problem = null;
            try {
                chain.doFilter(request, response);
            catch(Throwable t) {
                problem = t;
                t.printStackTrace();
            doAfterProcessing(request, response);
            // If there was a problem, we want to rethrow it if it is
            // a known type, otherwise log it.
            if (problem != null) {
                if (problem instanceof ServletException) throw (ServletException)problem;
                if (problem instanceof IOException) throw (IOException)problem;
                sendProcessingError(problem, response);
         * Return the filter configuration object for this filter.
        public FilterConfig getFilterConfig() {
            return (this.filterConfig);
         * Set the filter configuration object for this filter.
         * @param filterConfig The filter configuration object
        public void setFilterConfig(FilterConfig filterConfig) {
            this.filterConfig = filterConfig;
         * Destroy method for this filter
        public void destroy() {
         * Init method for this filter
        public void init(FilterConfig filterConfig) {
            this.filterConfig = filterConfig;
            if (filterConfig != null) {
                if (debug) {
                    log("TimeFilter:Initializing filter");
         * Return a String representation of this object.
        public String toString() {
            if (filterConfig == null) return ("TimeFilter()");
            StringBuffer sb = new StringBuffer("TimeFilter(");
            sb.append(filterConfig);
            sb.append(")");
            return (sb.toString());
        private void sendProcessingError(Throwable t, ServletResponse response) {
            String stackTrace = getStackTrace(t);
            if(stackTrace != null && !stackTrace.equals("")) {
                try {
                    response.setContentType("text/html");
                    PrintStream ps = new PrintStream(response.getOutputStream());
                    PrintWriter pw = new PrintWriter(ps);
                    pw.print("<html>\n<head>\n</head>\n<body>\n"); //NOI18N
                    // PENDING! Localize this for next official release
                    pw.print("<h1>The resource did not process correctly</h1>\n<pre>\n");
                    pw.print(stackTrace);
                    pw.print("</pre></body>\n</html>"); //NOI18N
                    pw.close();
                    ps.close();
                    response.getOutputStream().close();;
                catch(Exception ex){ }
            else {
                try {
                    PrintStream ps = new PrintStream(response.getOutputStream());
                    t.printStackTrace(ps);
                    ps.close();
                    response.getOutputStream().close();;
                catch(Exception ex){ }
        public static String getStackTrace(Throwable t) {
            String stackTrace = null;
            try {
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                t.printStackTrace(pw);
                pw.close();
                sw.close();
                stackTrace = sw.getBuffer().toString();
            catch(Exception ex) {}
            return stackTrace;
        public void log(String msg) {
            filterConfig.getServletContext().log(msg);
    }and in the web.xml :
       <filter>
            <filter-name>TimeFilter</filter-name>
            <filter-class>
                com.filter.TimeFilter
            </filter>
        <filter-mapping>
            <filter-name>TimeFilter</filter-name>
            <url-pattern>/services/*</url-pattern>
        </filter-mapping > 

  • How can I calculate the value of the cell, which depends on other rows?

    Hi, all!
    I have an application with table. In this table i have calculate some fields, that doesn't exists in data class and depends on other row values, e.g. current row number, or sum of previous rows. How can i calculate this values in TableView?
    The problem is that I have no information about the current row number in the cell value factory.
    Example:
    public class Transaction {
         public String getName();
         public BigInteger getAmount();
    } // There is no getter for "Balance"
    Result table should be something like this:
    Name
    Amount
    Balance
    transaction1
    300
    300
    transaction2
    200
    500
    transaction3
    500
    1000
    Also, after sorting by "Amount", "Balance" should be recalculated:
    Name
    Amount
    Balance
    transaction3
    500
    500
    transaction1
    300
    800
    transaction2
    200
    1000

    Strings can be converted to numbers by various parse methods. For instance Strings can be converted to double via Double.parseDouble(myString).
    That being said, it appears that your textfield will contain numbers and operators, and so these operators will need to be parsed too. I would advise you to search on the terms Java infix postfix.

  • How can I calculate disk space/DB space and storage spaces.

    Hi all,
    How can I calculate space clauses and memory related parameters for tables and table spaces? Updation is not allowed in these tables.
    I have to create a database also.
    I expect a reply with examples.
    [email protected]
    [email protected]
    Thanks for all replies .

    Boby,
    The formula to estimate the storage parameters for tables and indexes are the following:
    Table size = db block size * (# of Estimated rows in 12 months * average row length)/(db block size-90) *(1-PCTFREE/100)
    Let assume that you want to create a table called Jose_tab,
    db block size = 4092
    Estimated row length in 12 months = 1000
    Average row len = 100
    PCTFREE(Updation is not allowed) = 0
    Then, your INITIAL storage parameter will be estimated as follows:
    4092*1000*100
    (4092-90)*(1-0/100)
    = About 10M
    Your create table command will look like this,
    CREATE TABLE jose_tab
    (col1 VARCHAR2(10), col2 NUMBER(2),
    ....coln VARCHAR2(100))
    STORAGE(INITIAL 10M NEXT 10M
    PCTINCREASE 0)
    PCTFREE 0 PCTUSED 80
    TABLESPACE tablespace_name;
    Storage parameters for tablespace depends on the amount of disk space available. You can ignore tablespace storage parameters since the size of the tablespace is determined by the size(s) of the data files. Refer to the DBA manual for details.
    John

  • How can i calculate manually fact and dimensional table ralations?

    hi friends,
    how can i know the information dimension table >15 of fact table, how can i calculate thses percentages manually?
    regards
    suneel.

    hi Suneel,
    it's another topic, to improve query performance, we evaluate if aggregate help or not, to justify we use bw statistic or ST03N, where summarization ratio is > 10;
    the summarization ratio = number of record read from database / number of record transferred,
    we need also the other parameter 'percentage of db time', time spent on database / total query runtime.
    check
    SAP BW Query Performance Tuning with Aggregates
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3f66ba90-0201-0010-ac8d-b61d8fd9abe9
    hope this helps.

  • How can I calculate the total time in java?

    Hello!
    I need to calculate the total time!
    For example I have start time:
              Format formatter1;
              Date date1 = new Date();
              formatter1 = new SimpleDateFormat("hh:mm:ss");
              String startTime = formatter1.format(date1);
              //startTime = "14:20:40";
    And I have finish time:
              Format formatter2;
              Date date2 = new Date();
              formatter2 = new SimpleDateFormat("hh:mm:ss");
              String finishTime = formatter2.format(date2);
              //finishTime = "08:30:55";
    So, after manually calculating, I get total time: "18:10:15"
    How can I calculate the total time in java? (Using formatter1 and formatter2 I suppose)
    What I need is to print "total 18:10:15"
    Thanks!

    800512 wrote:
    I did the following but, I think something is wrong here:
    I defined before: Date date1 = new Date(); Date date2 = new Date();
    And it should be exactly 5 seconds between them.
    I found delta between date1 and date2:
    Format formatter = new SimpleDateFormat("HH:mm:ss");
              long timeInMilliFromStart = date1.getTime() - date2.getTime() ;
              Date date3 = new Date(timeInMilliFromStart);
              String timeInSecFromStart = formatter.format(date3);
    and I get always
    //timeInSecFromStart = 02:00:05
    But it should be exactly 00:00:05.
    What can be a problem?Because, like I said, a Date measure an instant in time, not a duration. So when you have 5000 ms, and you turn that into a Date, that means 5 sec. after the epoch, which works out to 1/1/1970 00:00:05.000 GMT.
    As I mentioned, if you're not currently in GMT, then you have to set the TZ of the DateFormat to GMT. Right now, it's showing you the time in your TZ. If you included the date in your SimpleDateFormat, you'd see either 1/1/1970 or 12/31/1969, depending on which TZ you're in.
    Bottom line: You're trying to use these classes in a way they're not meant for, and while you can get the results you want for a limited set of inputs if you understand what these classes do and how to work with that, it's a brittle approach and comes with all kinds of caveats.

  • Text on path: How can I calculate the text length?

    Hi
    I have a text on path (spline item). Now I need the length of this text and the length of the spline item.
    I try to calculate the text length using IWaxLine::GetWidth(), but this is always 0.
    - How can I calculate the length of this text?
    - How can I calculate the length of the spline item?
    Thanks
    Hans

    It would be interesting if you could describe the purpose of your "length", but I don't have an answer anyway. Would the bounding box be sufficient?
    Considering that TOP may be combined with arbitrary spline paths, this could become an exercise in higher math. I haven't yet encountered a function that returns the mathematical length of such a spline.
    Otherwise it could be solved if you iterate and sum up the relevant points of the bounding box (ascender, descender, baseline?) of individual glyphs.
    Be warned that the whole TOP looks alien, as if it were a transplant from a different program. Experience also shows that documented and actually used interfaces / commands are completely different animals ...
    Dirk

  • How can I calculate network bandwidth

    For Master-Master-Replcation with more 100 tables in more 10 replication groups I want to calculate the network bandwith. Do you have information about how can I calculate?

    Hi,
    Please have a look at below thread.
    #http://stackoverflow.com/questions/4590682/how-to-measure-windows-azure-bandwidth-usage-programmatically
    Here is a snippet.
    The Azure SDK doesn't provide any billing or consumption information programatically. As lgorek stated, you can approximate usage with IIS And WCF performance counters.And you'll also be able to use your own logging to track traffic from different users. 
    However, you won't be able to track bandwidth consumed when users download content from blob storage. Well, you could, but only if all of your blobs were private and you streamed their content through your web application instead of direct links on your web
    pages .
    Best Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How can I associate 2 appleids with one account or use a different Appleid for imessage as described in another post?

    How can I associate 2 appleids with one account or use a different Appleid for imessage as described in another post?
    I have rejoined the iPhone community, not with one iPhone but with two. My wife agreed to move from the unenlightened!
    I have set up both under my apple account and want to keep it that way. But I do not want iMessages going to both phones. I would like separate message queues but share all apps and other purches from the store.
    I have created a separate AppleID for her but under Settings>Message>Receive At (it currently says 2 addresses) > ... will not allow me to change the current eMail address and when I add hers (her appleid) it errors out. The only thing I can do in the Apple ID field is to manage my account and not change it to hers.
    How can I have 2 iPhones (and my iPad) on the same account but have separate identies?
    Thanks,
    LpGrumpy

    1. Yes. Restart with the Option key held down as needed.
    2. No, it won't be a problem.
    (83373)

Maybe you are looking for