3d length calculation

I have some road data in Gauß-Krüger zone 5 projection with the associated mean-sea-level heights.
I've defined a compound coordinate system taht consists of a vertical and projected coordinate system. Taking the transverse-mercator projection into account is it mathematically correct to calculate 3d length of those lines using the heights stored with the projected geometries? Or would it be more accurate to convert the data back to the geographic coordinate reference system (WGS84 for instance) with ellipsoidal heights to do this calculation? Will Spatial do 3d length calculation with geographic coordinate system?

Hi,-
Sure, it is sound to do 3D length calculation. I was not meaning the opposite.
The question is how to define the 3D length in your geographic coordinate system.
You just gave one example: 2d projected coordinates and mean-sea-level heights (basically height above the geoid).
However, this may not serve general purpose as you also mentioned.
That is why i mentioned once you define your 3D length, then we can start talking about accuracy.
If you do calculations on small segments, you can stick to projected space as i mentioned previously.
Can we ask what your application is about? Maybe we can suggest more depending on your application
which tries to compute the 3D length.
Thanks

Similar Messages

  • Conversion of String to Bytes and Length Calculation

    hi,
    How can I convert
    String to Bytes
    Bytes to String
    int to Bytes
    Bytes to int
    & int to String
    And I have to calculate the Length in Bytes of a String and int.
    Thanks

    double d = Double.parseDouble(new String(byteDouble)); Java doesn't seem to accept to convert byteDouble to a String...
    Exception in thread "main" java.lang.NumberFormatException: For input string: "[B@1d9fd51"
      at java.lang.NumberFormatException.forInputString (NumberFormatException.java:48)
      at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1213)

  • Wrong clip length calculation

    I only just noticed, but iMovie calculates clip lengths/ transition lengths wrong.
    If you have two clips of 1 second, the total duration is 2 seconds. If you introduce a 10-frame transition, it reduces BOTH clips by 10 frames each, not 5 frames each. The total duration is now 1 second 15 frames.
    I was making slideshows of a lot of images with cross dissolve transitions, and it is really noticeable.
    This is a genuine bug, right? How does Apple get to hear about it and fix it?

    If you take ten frames from the end of clip one, and ten frames from the beginning of clip two, that transition takes 20 frames.
    No, you take the last 10 frames from clip one and play at the same time as the first 10 frames of clip two. At the beginning of the 10 frame transition you can see only clip 1 and at the end only clip 2.
    Logically you should then reduce clip one by 10 frames, and clip 2 by 10 frames, leaving the project duration the same.
    You can't do that without duplicating frames.
    In the example I started with, I introduced a 10-frame transition and it reduced both clips by 10 frames, reducing the duration of the project.
    Yes, that's how most transitions works.
    But it shouldn't reduce the duration of the project by inserting a transition, should it?
    It must, unless you duplicate frames. (The "Overlap" transition does just that.)
    Take a look at:
    http://geethree.com/slick/galleries/s1demopages/s1transbarnopen.html
    You see that you must show frames from clip A and clip B at the same time.

  • Length of component (DC) name

    Hi,
    What is the allowed length of a component (DC) name? A DC Project name includes the following details: JDI track, SC, CompName, vendor name.
    While creating a DC project, if the name exceeds 8 char it shows a warning. What is allowed length here?
    I refered the following link:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/01/bb91ee812c3242964d01e791526ce8/frameset.htm
    If my DC project name is "JDI_JD_Dmyappmyapp_project~sap.com", what is the length of my component.
    Regards,
    Piyush.

    Hi Satyajit,
    Thanks for ur answer.
    What if my component name "sap.com/my_app..../myapp" is more than 40 Char? Will it give any problem in future, like at compilation issues etc? I hope it does allow us to create a component that is more than 40 Char.
    I have created a component which is more than 40 char in length (calculated as u suggested). In my local environment its working fine. But my client says it might cause compilation issues later.
    Regards,
    Piyush.

  • How to pass Null in adapter return variable?

    Hi,
    I have AD as Resource. I need to implement that if some field suppose : UserName length is greater than 5 NULL should be passed as value for the field UserName on AD Resource Form else the user name present.I have made a prepop adapter for it .In which firstly using utility task i calulated length of UserNAme variable(resolve at runtime).THen put a simple if condition that if length calculated is less than 5 return userNAme .
    If userNAme is less than 5 AD is successfully provisioned to user but if userName length is more than 5 AD Resource was not provisioned to user successfully .System Validation Task failed and there were no details in Response description of this task ....
    Tried three ways for else :
    1.In else condition i took a Literal->Text literal-> value left blank
    2.In else condition i took a Literal->Text literal-> NULL (written null in value field)
    3.Did'nt take else condition
    Please help how can i implement it ...
    Thanks in advance ...
    Edited by: 900157 on Feb 17, 2012 5:23 AM

    System Validation is the task that saves the form. It will "fail" for 2 reason.
    1. Auto Save is not selected on your Provisioning Process Definition. This means you must manually open the form and click save.
    2. You have not provided value to the required fields. This will result if you do not provide a default value, or a pre-populate adapter to the field. I assume this is your issue that your adapter is not filling in the field. If you want to make a field not required, you will need to create a new version of the form in the design console, remove the property of required from the field, and make the form active. This will most likely break the system though because those fields are required for a reason.
    -Kevin

  • Inconsistency File Content Conversion

    Hi,
    My scenario is file to r/3 wherein the source file is a fixed length file.  So I am using file content conversion in my sender adapter.
    My source structure looks like:-
    DT_TRAN
    |__RECORD  1..unbounded
    |_____HEADER    1
    |_____QUOTE      0...unbounded
    |_____ORDER      0...unbounded
    |_____INVOICE    0...unbounded
    |_____BILLING     0...unbounded
    |_____CONTACT  0...unbounded
    |_____FOOTER    1
    I am getting this error while executing the scenario.
    Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in recordset structure validation (line no. 5: missing structure(s) before type 'Header'.
    However, I checked the record in line no.5 and it's clean and perfect.  But still getting the error.  If I remove this record and execute, the file is picked and data is processed.
    In File Content Conversion, I have used the following parameters:-
    Recordset Name = Record
    Recordset Structure = HEADER,1,QUOTE,,ORDER,,INVOICE,,BILLING,,CONTACT,*,FOOTER,1
    I am using Key Fields to separately identify the details records.  I used ignoreRecordsetName = true.  In this case, in XML message payload does not contain <Record> node and so there is an error.
    Can anyone suggest, how to overcome the issue such that all the records in the file are processed.
    Thanks.
    Balakrishnan

    The content conversion parameters are:-
    Record.endSeparator = 'nl'
    Record.fieldNames = HEADER,QUOTE,ORDER,INVOICE,BILLING,CONTACT,FOOTER
    Record.fieldSeparator = 'nl'
    like the above, i have done for all the nodes.  However, if i remove the record from line 5 and process the file, the file is picked up and processed succesfully.  i have checked many times. the line no.5 record is not having any issues with structure or fixed length calculation.  for some reaosn, it gives the error.

  • How to determine maximum field size?

    Hello!
    Here's my problem...
    I have a rather large CSV file which I have loaded into Numbers, but now i need to work out what the maximum size of each field is.
    There are far too many rows for me to just look through the CSV file (it's got a few hundred thousand lines in it), so i was hoping there was an easy way for Numbers to just tell me what the maximum size of each column is -- maybe some kind of formula that i can put at the end of each column.
    just to be clear, i don't need the maximum value in each column, i need the maximum character length...
    thanks for your help (and a happy new year!)

    Craig,
    That's an awful job for Numbers. Numbers 2 won't accommodate that many rows, and Numbers 3 I'm not sure about, but in any case it will be very slow. The general belief is that Numbers 3 is faster than Numbers 2, but in my experience it's like a race between a turtle and a slug. This would be a better job for a little BASIC routine, the sort of thing I can remember doing easily "back in the day", but which I wouldn't know where to begin now with the tools I know about in the Mac environment.
    I think LibreOffice might handle it - no promises. The brute force way would be to have a second table the same size as the first and filled with the expression: =LEN(cellAddress), where cell address is a reference to A1 in the input table, and so forth. The expression =MAX(full range of length calculations table) should give you the largest entry length.
    Jerry

  • Memory leak in implementing ListModel by myself

    Hello,
    I have created a class which implements ListModel.
    In this class I overwrite "Object getElementAt(int aIndex)" function
    of ListModel. What I do inside this function is I read from a
    file some bytes and with that byte I create Object and return it.
    I think the problem is Garbage Collector cannot remove these returned
    Objects after they are shown in the JList component and when not needed
    anymore.
    Any help would be appriciated,
    Thank you very much.
    Tamer

    import javax.swing.*;
    import javax.swing.event.*;
    import java.util.*;
    import java.io.*;
    import java.awt.event.*;
    * This class is an implementation of the ListModel Interface (Model for JList),
    * that operates on the binary trace file and has additional capabilities for
    * handling markers.
    public class TraceFileListModel implements ListModel, ActionListener
    private Messageinfo mInfo;
    private RuntimeInfo rtInfo;
    // number of messages incl. markers
    private int currentNoOfMessages;
    private ListDataListener ldl;
    // this timer checks for changes in the trace file size/number of messages
    private javax.swing.Timer timer = new javax.swing.Timer(400, this);
    // the list model to handle the markers
    private DefaultListModel markerModel;
    private int messageLocation = 0;
    // index file
    private RandomAccessFile indexFile;
    // trace tool filtering index file
    private RandomAccessFile indexFileTTFilterMode;
    // binary trace file
    private RandomAccessFile traceFile;
    private String markerFilePath;
    private String protocol;
    private byte content[];
    private Message m = new AsciiMessage();
    private int messageType;
    private int messageLength;
    private String messageName;
    // the state ID
    private int processStatus;
    // the state ID (redundant)
    // addapted interface MS-TTMA
    private int processStatusR;
    // the self ID (process ID)
    private int selfID;
    // the process ID
    private int processNumber;
    // the signal/message ID
    private int signalCode;
    // the signal/message ID (redundant)
    private int signalCodeR;
    // the frame number of the signal
    private int frameNumber;
    // the length (in bytes) of the parameter part of the message as coded
    // if the message header
    private int messParaLengthCoded;
    // the length (bytes) of the parameter part of the message which has
    // been actually received (= the length of the message - the header )
    private int messParaLengthReceived;
    private int size;
    private int markerCounter;
    private MarkerMessage tmpMarker;
    private DataInputStream das;
    private Class messageClass;
    private IpcMessage ipcmessage;
    private byte nc[];
    private StringBuffer stateName;
    private AsciiMessage asciimessage;
    private static final String DEFAULT_MESSAGE_REP = "not defined";
    private static final String PROTOCOL_UMTS_GSM = "UMTS/GSM";
    private static final String PROTOCOL_GPRS = "GPRS";
    private static final String GEN_PREFIX = "Gen_";
    private static final String OPEN_BRACKET = "(";
    private static final String CLOSE_BRACKET = ")";
    private static final String MAC_SUFFIX = "MAC FN: ";
    * Creates the object.
    public TraceFileListModel(String aTraceFilePath,
    String aIndexFilePath,
    String aMarkerFilePath,
    Messageinfo aMInfo,
    RuntimeInfo aRtInfo,
    DefaultListModel aMarkerModel,
    boolean aHasDynamicData,
    String aProtocol) throws IOException
    markerModel = aMarkerModel;
    mInfo = aMInfo;
    rtInfo = aRtInfo;
    markerFilePath = aMarkerFilePath;
    protocol = aProtocol;
    indexFile = new RandomAccessFile(aIndexFilePath,"r");
    traceFile = new RandomAccessFile(aTraceFilePath,"r");
    // aHasDynamicData: tracing online that means the size of the binary trace
    // file will change. Therefore the trace file size has to be taken from the
    // RuntimeInfo object and is checked periodically.
    if (aHasDynamicData == true) // online
    if(rtInfo.getTraceToolFiltering())
    indexFileTTFilterMode = new RandomAccessFile(
    rtInfo.getTTFilteredModeIndexFilePath(),
    "r");
    rtInfo.setTopicTraceFileSize(0);
    currentNoOfMessages = rtInfo.getTopicTraceFileSize();
    markerModel.clear();
    timer.setCoalesce(true);
    timer.setRepeats(true);
    timer.start();
    else
    if(rtInfo.getTraceToolFiltering())
    indexFileTTFilterMode = new RandomAccessFile(
    rtInfo.getTTFilteredModeIndexFilePath(),
    "rw");
    createTTFilterModeIndexFileAndLoadMarkerFile();
    indexFileTTFilterMode.seek(0);
    currentNoOfMessages = indexFileTTFilterMode.readInt() +
    markerModel.getSize();
    else
    loadMarkerFile();
    currentNoOfMessages = indexFile.readInt() + markerModel.getSize();
    } // end of Constructor
    * (Implements the ListModel.)
    public int getSize()
    return currentNoOfMessages;
    * (Implements the ListModel.)
    public Object getElementAt(int aIndex)
    messageName = this.DEFAULT_MESSAGE_REP;
    // the state ID
    processStatus = -1;
    // the state ID (redundant)
    // addapted interface MS-TTMA
    processStatusR = -1;
    // the self ID (process ID)
    selfID = -1;
    // the process ID
    processNumber = -1;
    // the signal/message ID
    signalCode = -1;
    // the signal/message ID (redundant)
    signalCodeR = -1;
    // the frame number of the signal
    frameNumber = -1;
    // the length (in bytes) of the parameter part of the message as coded
    // if the message header
    messParaLengthCoded = -1;
    // the length (bytes) of the parameter part of the message which has
    // been actually received (= the length of the message - the header )
    messParaLengthReceived = -1;
    try
    // here the number of markers before line number "aIndex" are calculated.
    size = markerModel.getSize();
    markerCounter = 0;
    if(rtInfo.getTraceToolFiltering())
    for (int i = 0; i < size; i++)
    tmpMarker = (MarkerMessage) markerModel.getElementAt(i);
    if (tmpMarker.lineNumberFilterMode == aIndex) return tmpMarker;
    if (tmpMarker.lineNumberFilterMode > aIndex) break;
    markerCounter++;
    } // for loop
    // the number of markers before line number "aIndex" = markerCounter
    // find the read position in the binary trace file
    indexFileTTFilterMode.seek((aIndex-markerCounter)*4+4);
    traceFile.seek(indexFileTTFilterMode.readInt());
    else
    for (int i = 0; i < size; i++)
    tmpMarker = (MarkerMessage) markerModel.getElementAt(i);
    if (tmpMarker.lineNumber == aIndex) return tmpMarker;
    if (tmpMarker.lineNumber > aIndex) break;
    markerCounter++;
    } // for loop
    // the number of markers before line number "aIndex" = markerCounter
    // find the read position in the binary trace file
    indexFile.seek((aIndex-markerCounter)*12+4);
    traceFile.seek(indexFile.readInt());
    messageType = traceFile.readByte();
    messageLength = traceFile.readShort();
    if (messageLength > 0)
    content = new byte[messageLength];
    traceFile.read(content);
    else
    content = new byte[0];
    if (messageType == DataStorer.IPC_ID)
    das = new DataInputStream(new ByteArrayInputStream(content));
    messParaLengthReceived = das.available()-
    SharedConstants.IPC_MESSAGE_TRACE_HEADER_LENGTH;
    if(protocol.equalsIgnoreCase(this.PROTOCOL_UMTS_GSM))
    processStatus=das.readUnsignedByte();
    processStatusR=das.readUnsignedByte();
    else if(protocol.equalsIgnoreCase(this.PROTOCOL_GPRS))
    processStatus=das.readUnsignedShort();
    selfID=das.readUnsignedByte();
    processNumber=das.readUnsignedByte();
    signalCode=das.readUnsignedByte();
    signalCodeR=das.readUnsignedByte();
    frameNumber=das.readInt();
    messParaLengthCoded=das.readShort();
    // get the message name from the self ID/process ID
    messageName=mInfo.getSignalName(processNumber,signalCode);
    // Construct the Class object representing the message (by name)
    messageClass=Class.forName(this.GEN_PREFIX+messageName);
    // Construct the object representing the received message
    ipcmessage=(IpcMessage) messageClass.newInstance();
    // hand over the parameters content, frame number, state name
    byte nc[] = new byte[content.length -
                                 SharedConstants.IPC_MESSAGE_TRACE_HEADER_LENGTH];
    System.arraycopy(content,
    SharedConstants.IPC_MESSAGE_TRACE_HEADER_LENGTH,
    nc,
    0,
    nc.length);
    ipcmessage.setContent(nc);
    ipcmessage.setFrameNumber(frameNumber);
    // addapted interface MS-TTMA
    if (processStatus < 256)
    stateName =
    new StringBuffer(mInfo.getStateName(selfID, processStatus));
    if (selfID != processNumber)
    stateName = stateName.append(this.OPEN_BRACKET);
    stateName = stateName.append(mInfo.getProcessName(selfID));
    stateName = stateName.append(this.CLOSE_BRACKET);
    ipcmessage.setStateName(stateName.toString());
    else ipcmessage.setStateName(this.MAC_SUFFIX + processStatus);
    ipcmessage.setParameterLength(messParaLengthCoded);
    // if the length of the parameter part coded in the trace header
    // differs from the length calculated from the length of the
    // received data the message is branded as defective by throwing
    // an IOException
    if (messParaLengthReceived != messParaLengthCoded)
    throw new IOException();
    // return the message object
    return (Message) ipcmessage;
    } // if "Ipc Message"
    if (messageType == DataStorer.ASCII_ID)
    // construct an Ascii Message object
    asciimessage=new AsciiMessage();
    // hand over the content
    asciimessage.setContent(content);
    // return the message object
    return (Message)asciimessage;
    } // if "Ascii Message"
    } // try
    catch(IOException ioE)
    return
    provideErrMsg(messageName,processStatus,selfID,processNumber,signalCode);
    catch(ClassNotFoundException cnfE)
    return
    provideErrMsg(messageName,processStatus,selfID,processNumber,signalCode);
    catch(IllegalAccessException iaE)
    return
    provideErrMsg(messageName,processStatus,selfID,processNumber,signalCode);
    catch (InstantiationException iE)
    return
    provideErrMsg(messageName,processStatus,selfID,processNumber,signalCode);
    return m;
    } // end of method "getElementAt"
    * (Implements the ListModel.)
    public void addListDataListener(ListDataListener l)
    ldl = l;
    * (Implements the ListModel.)
    public void removeListDataListener(ListDataListener l)
    ldl = null;
    * Provides an error message object.
    public static Message provideErrMsg(String aMessageName,
    int aProcessStatus,
    int aSelfID,
    int aProcessNumber,
    int aSignalCode)
    StringBuffer text = new StringBuffer("Invalid Message :");
    text.append(aMessageName);
    text.append(" State: ");
    text.append(aProcessStatus);
    text.append(" SelfID/ProcessID: ");
    text.append(aSelfID);
    text.append("/");
    text.append(aProcessNumber);
    text.append(" SignalID: ");
    text.append(aSignalCode);
    AsciiMessage message = new AsciiMessage();
    message.setContent(text.toString().getBytes());
    return message;
    } // end of method "provideErrorMessage"
    * Stop the timer that supervises the (dynamic) trace file size/number of
    * messages. From now on the number of trace messages is fixed.
    public void setNoDynamic()
    if (timer.isRunning() == true) timer.stop();
    int tmpSize = rtInfo.getTopicTraceFileSize();
    if (tmpSize > currentNoOfMessages)
    ListDataEvent event = new ListDataEvent(this,
    ListDataEvent.INTERVAL_ADDED,
    currentNoOfMessages, tmpSize-1);
    ldl.intervalAdded(event);
    currentNoOfMessages = tmpSize;
    } // end of method "setDynamicData"
    * This method supervises the size of the binary trace file.
    public void actionPerformed(ActionEvent e)
    size = rtInfo.getTopicTraceFileSize();
    if (size > currentNoOfMessages)
    ListDataEvent event = new ListDataEvent(this,
    ListDataEvent.INTERVAL_ADDED,
    currentNoOfMessages, size-1);
    ldl.intervalAdded(event);
    currentNoOfMessages = size;
    } // end of method "actionPerformed"
    * Close the used index file and binary trace file explicitly.
    private void close() throws IOException
    indexFile.close();
    traceFile.close();
    } // end of method "close"
    } // end of TraceFileListModel
    Most important part is:
    messageClass=Class.forName(this.GEN_PREFIX+messageName);
    // Construct the object representing the received message
    ipcmessage=(IpcMessage) messageClass.newInstance();
    // hand over the parameters content, frame number, state name
    byte nc[] = new byte[content.length -SharedConstants.IPC_MESSAGE_TRACE_HEADER_LENGTH];
    System.arraycopy(content,
    SharedConstants.IPC_MESSAGE_TRACE_HEADER_LENGTH,
    nc,
    0,
    nc.length);
    ipcmessage.setContent(nc);
    then I return ipcmessage. And I think when I scroll down/up
    and when this message is not visiable it should be deleted by Garbage
    Collector. Which I think doesnot happen.

  • How to MASS update LC data in BOM's and Routings

    Hello,
    Hello,
    I am using SAP APO where I need to use LPP Heuristics. I need to update LC Data. I tried to do it via batch input as I did not find any Function Module. I faced however a problem that I could not overcome.
    Initially field Maximum Prod. Length is display only. When I set a value to Length Calculation Method field then it becomes editable but entry is required. In this way it is impossible to update it in one step with the batch input method.
    Does anyone know how to overcome it?
    Thank you in advance,
    Angelos

    Ok...  Sorry, I thought I explained it better.
    I have 40K+ records that were extracted from a parent table into a "temporary table" called NRN_WEIGHTS.  Each has a primary key column, ADMIN_CN_FK, and two data columns.  SVEXPAND, and NVEXPAND.   ALL the data in this table was extracted from the parent table NRN_ADMIN, and then the NV/SVEXPAND records updated to current values.
    Now they want me to update all the parent table records so that they reflect the new values.
    Parent table = NRN_ADMIN   primary key is ADMIN_CN
    Child table = NRN_WEIGHTS  primary key (FK) is ADMIN_CN_FK
    So I have to essentially say in some kind of looped structure...
    for i in select admin_cn_fk from nrn_weights, update nrn_admin
    set nvexpand = (select nvexpand from nrn_weights where admin_cn_fk = i)
    svexpand =(select svexpand from nrn_weights where admin_cn_fk = i)
    Does that make more sense?
    As far as the create table goes, I didn't want to really be specific to this one instance to be honest.   This is something that I will be doing a lot, so I was hoping to approach it from a more generic approach.

  • Another date issue

    I have a field that is numeric that can be 6 or 5 long. It is a date field
    example 100788 = 10/07/1988 or
    90592 = 9/05/92
    I have the following conversion code in my report;
    stringvar a:=(ltrim(rtrim(totext({PEMS.HIRED_DATE},0,''))));
    numbervar m;
    numbervar d;
    numbervar y;
    if length(a)=6 then
    m:= tonumber (a [1 to 2]);
    d:= tonumber (a [3 to 4]);
    y:= tonumber (a [5 to 6]);
    else
    m:=tonumber (a [1 to 1]);
    d:=tonumber (a [2 to 3]);
    y:=tonumber (a [4 to 5]);
    date(y,m,d)
    I get a value orf 100788 and the program kicks out saying day cannot be between 0 and the number of days in a month. The variables displayed are :
    PEMS.HIRED.DATE = 100788
    A     "100788"
    M      10
    D       0
    Y       78
    Since this is a 6 length I gather it should go through the 6 length calculation. However it appears to be going through the 5 length and I cannot see why.
    Any help would be appricated...
    Jim

    Hi James,
    Try the following :
    stringvar a:=(ltrim(rtrim(totext("010599"))));
    stringvar m;
    stringvar d;
    stringvar y;
    if length(a)=6 then
    m:=  left(a,2);
    d:=  mid(a,3,2);
    y:=  mid(a,5,2);
    else
    m:=  left(a,1);
    d:=  mid(a,3,2);
    y:=  mid(a,5,2);
    date(tonumber(y),tonumber(m),tonumber(d))
    Thanks,
    Sastry
    Edited by: Sastry Duvvuri on Oct 30, 2008 9:43 PM

  • Supplementary characters and string functions

    I am using AL32UTF8 as my database character set and plan to store Japanese supplementary characters in the DB character set itself. Do I need to use any special string functions for these supplementary Japanese characters.

    With the AL32UTF8 character set, supplementary characters like any other characters, except that they are the widest (4 bytes). You just need standard multibyte processing.
    With AL16UTF16 (NCHAR), and depending on your needs, you may want to use certain SQL function variants that have 4 in their name: LENGTH4, INSTR4, SUBSTR4, LIKE4.
    When retrieving AL32UTF8 supplementary characters through JDBC or OCI in UTF-16 mode, you have to take care of the fact that one AL32UTF8 supplementary character becomes 2 UTF-16 code units (a surrogate pair). This is important for buffer allocations, length calculations, and any code that can split strings into substrings.
    -- Sergiusz

  • Start-up screen irregularities

    I have tried looking for this info in the forum and couldn't find a topic. I don't know if anyone else have this irregularities or have paid attention to them. Whenerver I have to restart the Mac I have noticed the following during the stratup screen when start OS X: Sometimes the blue bard goes 1/3 to 1/4 ways and the desktop comes up; sometimes the bar goes 1/2 to 3/4 ways and the desktop comes up; sometimes it goes all the way to the end then the desktop comes on. After reading some of the forum about the Finder being sluggish (the shredding sound, in my Mac, after emptying the trash would not sound until 20-30 sec. later) I deleted all the Stuffit stuff, finder.plist file and the sidebar.plist. file. I restarted the Mac and the bar went to the end before the desktop came up. The Finder does run so much faster now.
    My questions are What does it mean when the startup bar only goes part way and not to the end before the desktop comes up? Should the bar ALWAYS reach the end before the destop comes up?
    Has anyone else noticed this when they have sarted the Mac?
    Thanks for your help.
    Leo

    ..."Should the bar ALWAYS reach the end before the destop comes up?"...
    Strangely enough, the answer is "no" - in OS X 10.4, the progress bar displayed during startup doesn't really mean anything and is just for show. Its length calculated on the basis of the time required for the previous startup, which may have no relation to the time required for the current cycle. A description of what is occurring can be found here:
    http://daringfireball.net/misc/2005/04/tiger_details#waitingforloginwindow

  • Crossing the Dateline

    We have a need to store and manipulate spatial objects that span the +/-180 degree meridian.
    When geographic coordinates are used, all the internal calculations seem to avoid crossing this line.
    For example
    A "square" defines by (+179,-1),(+179,+1),(-179,+1),(-179,-1) has an area of 716 square degrees not 4 square degrees
    Similarly a line between (+179,+1) and (-179,+1) is 358 degrees long not 2 degrees.
    The database allows the insertion of a polygon (+179,-1),(+179,+1),(+181,+1),(+181,-1) but will not allow area or length calculations and fails with "ORA-13050: unable to construct spatial object"
    If the coordinates are transformed to a grid projection then the geometry takes on its intended form and the units are metres. However the objects that we need to create are very large and the most appropriate format for storage is geographical coordinates.
    Are there any conventions or flags or recommended techniques that we can use that could let a geometry object know that it crosses the 180 degree meridian?
    Are there plans for incorporating spherical trig functionality or geodetic calculations like great circle distances, geodesics etc?
    Thanks and Regards
    Peter Cohen

    Release 9i of Oracle Spatial will contain full support for geodetic computational geometry on the earth's surface. This means lengths of geodesic arcs, areas of spherical polygons, and a curved surface version of the RELATE operator will all be available.
    In the older versions, where geodetic longitude and latitude were treated like cartesian coordinates, incorrect and in some cases, meaningless results are returned. After all the concept of "square degrees" means nothing proper, is not defined at the poles, and has a varying scale at different latitudes.
    There is a 9i beta version currently available that already will permit proper computations for your large geodetic geometries.

  • [SOLVED] Audacious displays incorrect song times

    For seemingly random songs, Audacious displays the correct time when I load them on the playlist - but when I click on it and it starts playing (let's say a 4 minute song) the song time will suddenly change to something like 26 minutes...  o_O  For other songs, this doesn't happen at all.  Very odd.
    Last edited by yarjar (2007-07-10 15:58:23)

    Try to toggle "Enable fast play-length calculation" in MPEG audio plugin properties.

  • GUI Tool for Image Analysis (delimited ascii file)

    i've created a Java GUI Tool for Image Analysis. It does length calculation and locate the coordinate of centroid of an image...the problem now is how do i save the results in a delimited ascii file??

    Create a FileOutputStream, use that to construct a PrintWriter, then use the PrintWriter as you use System.out. Print out the data, then append the delimiter manually after each set of data.
    To get the file, the simplest ways would be to hard code an output file name or at least have a text field so the user can enter it. If you want it to look more professional, use a JFileChooser.
    I hope this helps!
    -JBoeing

Maybe you are looking for

  • Airport card works in 10.1, HW test passes, but not detected at all in 10.4

    Ok, Hi. I'll first admit this is my first post so go easy on me! I just bought a used iBook G3 and it was working fine for a while until about a month ago when all kinds of weird things stared happening. Some of which those problems I solved from rea

  • How to pass the values to the WHERE-Clause in JClient ADF?

    Hi all, my JDeveloper Version is 10.1.2.0.0 (Build 1811) I need something like this: A Form with a Filter-Panel, and the Table-Panel EMP. In Filter: 1. DEPTNO as ComboBox with values from the DEPT table (not static values). The ComboBox should contai

  • Horizontal Scroll Box in Adobe Edge

    Hello! I am very new to html and css coding. I've been teaching myself adobe edge animate to build a website from scratch since it is very similar to After Effects, a program i am comfortable with. I was wondering how would i go about making a horizo

  • OCR deskew creates black edges

    I am using OCR in Acrobat Pro. When OCR deskews scanned pages a black background appears at the edges of the aligned pages. Is it possible to set this background color to white? I am using Acrobat 7. Has this feature been changed in newer versions?

  • 'Reverse Invoke' with XI

    Does anyone know how to do Reverse Invoke with XI, the way it used to be done with Business Connector. My client does not allow simple reverse proxies for inbound messages from external sources. Instead it require a reverse invoke ot be used between