SDO_ORDINATE_ARRAY precision control

Dear all,

Greetings.

Hello.

I met a problem dealing with storing the geometry with correct values SDO_ORDINATES accuracy. When I download the geometries in Oracle, I had chosen FME (software does convert and automatically download data.) BUT when I export the ordinates of geometry to the other calculations or analysis programs, I found the details for each point of contact information is too many (I really useless that much, in addition, he has problems for floating numbers calculations.) For example, the lat/long value would be 10.0000000000000001 / 20.0000000000.

In the other program, I cut the data without these numbers a lot, but I also need to refer to the database, and there are already some lost data. I would like to have the data cut into the database once I have download the data in oracle. I can't find a feature or command so far, / of the FME or the documents of the oracle. Everyone knew this, please leave me your comments. Thanks in advance.



Kind regards
Jun

You can do it in FME using the [CoordinateRounder | http://docs.safe.com/fme/html/Transformers/content/transformers/coordinaterounder.htm] transformer.

There is no function available in planning to do, but its pretty simple to do. Here is an example of a function:

CREATE OR REPLACE Function Round_Coordinates(p_geometry IN MDSYS.SDO_GEOMETRY, p_tolerance IN NUMBER)
    RETURN MDSYS.SDO_GEOMETRY
    IS
     v_dim            number;
     v_gtype          number;
     v_geometry       mdsys.sdo_geometry := p_geometry;
     v_ordinates      mdsys.sdo_ordinate_array;
     v_round_factor number;
Begin

    v_gtype := Mod(p_geometry.sdo_gtype,10);
    v_dim :=  SUBSTR(p_geometry.sdo_gtype,1,1);
    v_ordinates := p_geometry.sdo_ordinates;            

    -- Compute rounding factors
    v_round_factor := round(log(10,(1/p_tolerance)/2));

    -- If point update differently to other shapes...
    IF ( v_geometry.sdo_point is not null ) Then
      v_geometry.sdo_point.X := round(v_geometry.sdo_point.x, v_round_factor);
      v_geometry.sdo_point.Y := round(v_geometry.sdo_point.y, v_round_factor);
      If v_dim > 2 Then
        v_geometry.sdo_point.z := round(v_geometry.sdo_point.z, v_round_factor);
      End If;
    END IF;

    IF ( v_gtype <> 1 ) THEN
         FOR i in v_ordinates.FIRST..v_ordinates.LAST LOOP
              v_ordinates(i) := round(v_ordinates(i), v_round_factor);
          END LOOP;
     END IF;

    RETURN mdsys.sdo_geometry(v_geometry.sdo_gtype,
                              v_geometry.sdo_srid,
                              v_geometry.sdo_point,
                              v_geometry.sdo_elem_info,
                              v_ordinates);
END Round_Coordinates;
/

Tags: Database

Similar Questions

  • Precise control of mixer

    Hello

    I wonder, is it possible to precisely drag/move/move and knobs in Logic Pro X mixer? I mean that normally if you click and hold the slider and make it slide simultaneously works normally. But as I remember in other DAWs method with using the key 'control', or 'command' or something like that and that didn't exist by dragging the sliders is very slow with accuracy.

    But I can't find this option in Logic Pro. Could you help me? Thanks in advance for any help.

    I'm sorry for the stupid question, I would never ask for such a thing in the forum, but I really just spend an hour to find the answer in google. Without doubt, I used the wrong keywords, but I tried a lot of things and found nothing that helps me. So maybe you could help me?

    "Hold the SHIFT key while dragging the Volume knob to change the volume level of the finer increments"

    http://help.Apple.com/LogicPro/Mac/10.2.3/#/lgcp8ec34eec

  • Feature Request: Precise control of the entered address AutoComplete

    I got caught by unexpected autocompletion several times. Of course, I'm responsible for the system of double-checking the recipient before sending, but it can be an easy mistake to make when in a hurry. I suggest allowing the user to customize the AutoComplete so that it matches their style of work better.

    Some issues I've noticed are:
    (i) multiple matches:
    'maggie' corresponds to:
    < [email protected] > (corresponding to the address)
    Maggie Surname < [email protected] > (corresponding to the name)

    "ad" is:
    ADA name < [email protected] >
    Allan Dyer < [email protected] >

    (II) end unexpected:
    With 'automatically add outbound e-mail addresses to my collected addresses"turned on, you reply to a message will add the address in the address book, but the user may not be aware of the real e-mail, or the conflicts it causes with existing addresses in the address book. The user types a fragment that previously only had a single game and sends the message before realizing there was a new selected correspondence.

    Additional controls, I suggest:

    Name / address function / game name or address

    Include / exclude option for each address book
    Reason: The user can select which group of contacts is used to auto-complete. If the collected addresses is excluded by default, then there is less chance of an unexpected AutoComplete.

    Minimum match length (characters)
    Reason: One or two character matches are much more likely to have accidental encounters.

    Thank you.

    Thank you agdyer for your great suggesion. It'll be a great feature. Watch our dev team he's.

  • Double digital precision control using the D:H:M format has problem increment/decrement

    I have a VI that allows users to define the range of dates in a control, and it does not work as it should.  Specifically, the control is the standard digital control of the modern palette, this is the data type is Double, and it is in the format % <%D:%H:%M> t.  The problem is that when I have the cursor in the hours (two digits highlighted), when I use the keyboard keys arrow up and down or buttons increase/decrease control, instead of the increment or decrement, the minutes.  When I have the cursor over the days, the inc/dec intervenes on the hours.  Has no way to increase/decrease the days in the control either.  In addition, if the cursor the cursor in the line rather than a selection, changing values are the values to the right of the cursor on the line - even the opposite of the features of LabVIEW with other digital formats.

    In addition, the left-right arrow keys won't move the selection / cursor in the control, except to spend hours to days - no other movement is possible.

    Is this a known issue?  I'm the see in 2010 SP1 and LV LV 2012

    I have attached a VI composed solely of misconduct control.

    In addition, I tried digital controls system palettes, classic and Express and they do the same thing (or worse).

    I guess at this point, I'll need to use separate controls for each field, the event handlers for the arrows, etc., but the complexity which adds is almost painful.  If anyone has another idea, I'm all ears.

    Thank you,

    Erik

    took an hour and built a work around for the problem.  No was not as bad as I thought originally that are curious differences between the Terminal command, local variables and value - namely, the Value property is the value after the event, while others have the value of pre-event for the control.  This always works for my application.

    This version is in LV 2010 SP1, which is as far as I can go.

  • Precise control of the position of the arrow

    Somehow, I just can't control position arrow to fine resolution. When I try to drag the end of an arrow, it always changes by a great distance (say 1 cm). It seems that the end should be on a grid. Is there an option in acrobat to change this?

    View > snap to grid (deselect)

  • Precise control of the crop tool

    I use Photoshop Elements 9 on Mac OS 10.7.2. Is there a way to fine-tune the crop tool movement? When a phot of culture, the culture box seems to jump by one pixel. Is there a button I can key crop that will allow a fluid movement?

    You should be able to hold the command key to prevent the crop tool to slam on the edge of the document.

    MTSTUNER

  • Oscillation of PID control

    Hello

    I have a loop of circulating water, and I control the temperature in the following way:

    The sensor is a thermistor bridge, this bridge is driven with an accuracy of 5V reference (http://www.voltagestandard.com/New_Products.html). The output of this bridge is connected to a nanovoltmeter Keithley 2182. My LabView PID control (I bought the PID toolkit) drives a current source Keithley 2400 which is connected to a water - air heat exchanger Peltier solid state. On the side of this heat exchanger air is at a controlled temperature of the cabinet (air temperature stability is +-0.02 Celsius). The thermistor Bridge gives a signal of 50 mV/Kelvin to the excitement of 5V.

    I have attached a photo where you can see measurement of a time data (sampling rate of 1 Hz). In general, I have a stability +-3rd-6 volt (standard deviation), which corresponds to the stability of Kelvin +-6-5.

    I've set this PID command with the Ziegler-Nicholes tuning protocol standard, then first that I brought the stable oscillation system, and I measured the ultimate period time (1.375 minutes), and the nec plus ultra (147). The table Z - N gave to these values the following PID parameters:

    P = 86.47

    I have 0,687 min =

    D = min 0,171

    Overall, I am satisfied with my temperature control, but I'm looking for advice how to remove the visible oscillatory effect. This oscillation has a period of about 30-40 minutes, as you can see in the picture.

    Is there something I could try to make my even more precise control? (it is also possible that I'm already at the possible gate given by the structural limits...)

    Thank you very much!

    Martins wrote:

    Is there something I could try to make my even more precise control? (it is also possible that I'm already at the possible gate given by the structural limits...)

    Can trace you to the output of the control loop (the value being written to the power source)? Specifically, draw out of the Keithley (if available), since the PID algorithm can output values with a finer resolution the Keithley can generate; Otherwise, around the PID output to match the resolution of the Keithley. See if the current alternates constantly between two specific output values, or if the output is continuously evolving during the swing.

    What I think is happening, is that you have reached the limit of resolution of the power source, in this case, it will be difficult to eliminate this oscillation using PID, because the current source cannot output the exact value that you would allow to maintain the equilibrium temperature. If it does, the output changes between the two values from the nearest exit of you and you will always have a swing. You can try to increase the full gain (reduce integration time) to see if you can get a faster response and reduce the amplitude of the oscillation, but the trade-off is perhaps more great overtaking when you change the set value.

  • fine control "zoom."

    People - looking for a way to precisely control an image magnification in a container of Vision.  So far, I have only to find IMAQ WindZoom which seems to work only on windows outside and around a zoom factors of 1 to 16.  Considers that the image size window is fixed.

    Something similar to MS Word Zoom control where a zoom factor % can be specified is desired:

    Any thoughts?

    Thank you

    Don

    Vision display controls have a property called ZoomSingle which gives exactly the level of control you're looking for.

  • Access control and security group

    Hi all

    I need to know about the access control and what data are suitable for the security group and roles if I have the script like this:

    i. There are 2 different app namely ARA (96 branches with different types of reports) and TRACS400 (6 branches with different types of reports)

    II al ' ARA, users of Branch01 can NOT check Branch02.

    III. different report type is measured by Branch01 and Branch02 are different.

    IV. in Branch01, there are some reports are Read (Cannot download) only and some reports are read and write (downloadable).

    My questions are:

    1. from the above scenario, do I need create all the 96 security group and assign it to different leadership roles?

    2. How can I control read and write access, as I have tested the READ access the user is still able to download the report.

    3. How can I control to branch 01, report Type A is a read and report Type B read and write access?

    4. I noticed that if I use the account, the security group can be used be limited to 50 only security groups. Is this good? I may be an application later in the future. These 2 request for test only. But if I do not use the account, there are any number of security groups that can be used?

    Appreciate for your help.

    Hi aziela

    As mentioned by the friends of the forum, it is advisable to have the minimum security group given that its impact on the scalability of the application (rule). Accounts provide the best security solution of dimension view group.

    Security group corresponds to the role, role is mapped to the users. The permissions are obtained at the level of role-SG.

    Accounts are mapped directly to users. So you can have a precise control at the level of the user (eliminating the abstraction of the role).

    All these aspects are impacting performance where rule of thumb is mentioned in the documentation. In general, if a user belongs to many groups and accounts then it will take more time to process the request of content for this user.

    w.r.t. prohibiting the read-only users so that they will not be able to download content, there is a setting, please try option mentioned in this link http://docs.oracle.com/cd/E14571_01/doc.1111/e10792/e01_interface001.htm#CACCFHHA

    WRT performance calculation, see http://docs.oracle.com/cd/E14571_01/doc.1111/e10792/c03_security003.htm#CSMSP143

    Hope this helps

  • Message access control in the OSB proxy service when the Service Type is the Any SOAP Service

    Hello

    We have a proxy OSB service where the Service Type is 'no matter what SOAP Service'. We use Auth.xml to authenticate messages to achieve this proxy service.

    It is, ca we apply Message this proxy access control so that only user A is allowed to sent message has and only user B is allowed to message sent B?

    Us know if the proxy OSB service is based on a wsdl, then we can apply access control message for each operation in the Security tab - and thus specify which user can access the operation. But unfortunately, we have not a wsdl, because this service proxy is a proxy gateway and must accept any SOAP message reaches.

    For example, if the user name in the SOAP header is msgAUser, get is accepted.

    "< soapenv:Envelope xmlns:soapenv ="http://schemas.xmlsoap.org/soap/envelope/">"

    < soapenv:Header >

    "< xmlns:wsse wsse: Security ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">."

    < wsse: UsernameToken >

    < wsse:Username >msgAUser< / wsse:Username >

    < wsse:Password >msgApwd< / wsse:Password >

    < / wsse: UsernameToken >

    < / wsse: Security >

    < / soapenv:Header >

    < soapenv:Body >

    <Get>

    ...

    < /Get>

    < / soapenv:Body >

    < / soapenv:Envelope >

    If the user name in the SOAP header is msgBUser, then MessageB is accepted.

    "< soapenv:Envelope xmlns:soapenv ="http://schemas.xmlsoap.org/soap/envelope/">"

    < soapenv:Header >

    "< xmlns:wsse wsse: Security ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">."

    < wsse: UsernameToken >

    < wsse:Username >msgBUser< / wsse:Username >

    < wsse:Password >msgBpwd< / wsse:Password >

    < / wsse: UsernameToken >

    < / wsse: Security >

    < / soapenv:Header >

    < soapenv:Body >

    <MessageB>

    ...

    < /MessageB>

    < / soapenv:Body >

    < / soapenv:Envelope >

    Any suggestions please?

    Understood.

    My current client, we have faced the same problem and implemented a similar design which nevertheless has important benefits.

    The problem with proxy input all SOAP is not only in the complexities of authentication. Most important, resources fine grain (thread) management becomes impossible: proxy entry has a workmanager, one constraint of son max. If any single service behind entered proxy knows an influx of requests (because of a peak or a misconfigured customer), he eats the workmanager dry and the rest of the services become too inadmissible.

    In this spirit, we have implemented the following diagram. It's a little more complicated, but it serves us well for a few years already:

    EntryProxy 1-> Interceptor entering Proxy-> Proxy 1

    EntryProxy 2-> Interceptor entering Proxy-> Proxy 2

    ...

    Enter proxy doesn't do Nothing but shall forward the request for interception of incoming traffic. Power of Attorney of the entry, however, has its own WSDL, authentication and the workmanager which allows precise control.

    Another important aspect of a proxy of the entry, it is that it passes a custom header containing the name of the destination of the interceptor, e.g. TargetURI = "ProxyService/Paypal/Paypal.

    Incoming Interceptor Proxy performs all recording, the error handling and other common tasks.

    Then, according to the last header, the proxy of the interceptor makes a dynamic call to route to the specified destination.

    Yes, this design has an additional moving part - a proxy entry - but he a) works b) guard control all in our hands. The entry proxy is a very small point; When I need to make a new one, I just copy an existing one and replace the WSDL file and the value of the TargetURI - 30 seconds of work.

    Hope that helps.

    Vlad

    http://vladimirdyuzhev.com

  • How can I make the more precise and less smooth pencil tool?

    Ive moved the slider of fidelity to "specific", but the lines are always really smooth. I need a line in stairs with several anchor points, but do not see this option in illustrator CS6. Thank you!

    Hello Jimi,

    Looks like you are using Adobe Illustrator CC and not AICS6. AICC had introduced these controls as stated in your pencil tool dialog box. Please upgrade to the AICC 2014 of Ai version where you could see an additional parameter for more precise controls.

    Take a look at the tools pencil AICC 2014 dialog:

    There are now 5 ticks instead of 4 in fidelity. The leftmost is accurate is the new control added to make things same as in AICS6.

    Thank you

    Dhirendra

  • Control packets on the Socket API

    This sounds like a strange question.

    I have an application that connects to a banking service ISO using Java Sockets, TCP/IP. The application is ready, but we have had delays in receiving messages. The Bank says they must receive each message in a single TCP/IP packet. Now who doesn't make sense for me because I can't control how TCP/IP sends out packets through the network. In the Socket API I see not all methods to control this with the exception of TcpDelay. So is just a question, there a way to control how packets are sent to the network?

    Kind regards

    Nestor Boscan

    No, you can't control with the socket API like everything which is abstracted away (thank God!). IMO the requirement itself seems counterproductive to limit and at least error prone if you ask me.

    Maybe the NIO package provides more precise control, but I don't remember having read about it. If anything I would look into the NIO of Java 7 features.

  • Question of gain control button?

    Hello

    can I ask a question on the button http://help.adobe.com/en_US/audition/cs/using/WSD74F344C-FF2D-4661-8436-170EE5F3DC3A.html# control gain

    My question is on the its function, is there an effects of hearing which does the same job, but I can shape with sliders for better control

    and my second question about the gain control know that I can use it in batch mode

    I run audition cs3

    Thank you

    You can get more precise control if you hold down the CTRL key while moving the mouse up and down. Also if you click on the number of color on the head to the top of the volume you can enter an exact number of dB to increase or decrease the level. You add a sign less to reduce the level.

    However, another way to btter to change the level of your audio files is to use the effect of amplification effects/Amplitude and Compression. It is the effect to be used in the batch of files. It does not give you the chart feed back of the TODAY but can be more accurate.

  • How to use the Tablet 3 rd-Party controls (what?)

    Hello, I am new to hearing CS6. I have a Google Nexus 7 Tablet. I would use it for the mixture, but I don't know what 3rd party programs are compatible with the hearing CS6 looks that Adobe does not promote everything on the site, just refferes to them as programs 3rd party. I have creative cloud if that helps.

    Lucaro71 wrote:

    Hello, I am new to hearing CS6. I have a Google Nexus 7 Tablet. I would use it for mixing...

    Hmm... I'll make a suggestion that you don't like... and it's that you get used to hearing and he can do by using a mouse before you think of any form of control of the tablet - that is assuming you can do work at all (which wasn't easy), but...

    It goes like this: I did some experiments with a Tablet and hearing all the time, and I have to say that using such a mixer is less satisfactory - there are delays, and there is absolutely no subtlety on this at all. You spend a lot of time trying to make sure that your fingers are in the right place - and at the same time, of neccessity, must be addressed on the hearing screen - so effectively that you watch two screens at the same time. And that slows you down - a lot.

    What is rather better is to use a kind of remote control surface that has real faders - these are much easier to locate, and because you get the tactile feedback, everything is much more accurate. They are available, and they work fine. Mackie make a very nice...

    The thing the whole tablet, in which case the hearing, is nothing more than a gimmick. They have an audio of any use at all, you may be wondering? Well, there is at least one scenario where they are coming into their own, and it's like PA remotes. If you have a small jury rig PA for your group, using one of them you can set levels from a distance, without using a mixer remotely and the associated snake. And you can test it in several places in the room, too. And for this kind of application, this level of control is very good. But regarding the mixing table with precision control of hearing - quite frankly, as I fear, forget about it.

    And the reason why I proposed learning all about what hearing is capable with a mouse in the first place, is that when you get finally play with a Tablet, you'll realize exactly how much control you have lost, fairly quickly.

  • Links precisely defined on the clickable map, Flash?

    Hello

    I am to make a clickable map divided into regions, where it is possible to see some info when you rollover precisely defined regions, and when you click on this region > access a specific Web site. It is the best way to do this in Flash, or are there ways other or easier?

    Flash is probably your best bet for precise control of interactive areas.

Maybe you are looking for