Datum vs coordinate system

Hi guys,
i just still don't get what is the different between datum and coordinate system.
anyone could help?
what i know is, datum is part of geodetic coordinate system that could be transformed. Does datum = geodetic coordinate system? or is there any "things" inside the geodetic coordinate system?
Thanks

There are the following related concepts:
- ellipsoid
- datum
- coordinate reference system (not to be confused with coordinate system)
An ellipsoid describes the shape of the earth (or any other object, for that matter), as approximated by an ellipsoid. This is more accurate than using a sphere. The shape of the ellipsoid is defined by any two of the parameters "semi major axis", "semi minor axis" and "inverse flattening".
A datum is based on an ellipsoid, but also specifies the ellipsoid's shift, rotation, and scale adjustment, as compared to WGS84. Furthermore, it also specifies the prime meridian.
A coordinate reference system might be GEOGRAPHIC2D, GEOGRAPHIC3D, PROJECTED, COMPOUND, etc.
We might look at GEOGRAPHIC2D, which is most closely related to a datum. The CRS is based on the datum, but also specifies a unit of measure (such as degree or radians).
Note that in the syntax of a WKT, the prime meridian appears to be a parameter of the CRS, rather than the datum. EPSG considers the prime meridian a parameter of the datum.
A PROJECTED CRS refers to a GEOGRAPHIC2D base CRS, as well as a projection method.
A CRS also has a coordinate system (CS) as a parameter. It might be ellipsoidal, for a GEOGRAPHIC2D CRS, or cartesian, for a PROJECTED CRS. This CS defines the unit of measure used for the CRS.
The tables SDO_ELLIPSOIDS, SDO_DATUMS, SDO_COORD_REF_SYS and SDO_COORD_SYS will tell you about the EPSG model. Note that not all models are the same. WKT, for instance, defines projection operations as parts of projected CRS. In EPSG, they are defined, separately.

Similar Messages

  • Problem with transforming coordinate systems

    Hiho,
    i've got a problem with transforming coordinate systems.
    When I'm trying to transform a sdo_geometry object to another coordinate sytem and then back to the old system, the coordinates are not the same.
    Here's an example:
    StartSystem SRID is 8220 (Longitude / Latitude (DHDN))
    TargetSystem SRID is 8307 (Longitude / Latitude (WGS84))
    Original object:
    Polygon: {ExteriorRing: LineString: { (0.0, -90.0) (1.5, 0.0) (0.0, 90.0) (4.5, 0.0) (0.0, -90.0)} }
    Transformed object:
    Polygon: {ExteriorRing: LineString: { (0.0, -5156.620156177403) (85.94366926962347, 0.0) (0.0, 5156.620156177403) (257.8310078088704, 0.0) (0.0, -5156.620156177403)} }
    Transformed back to old system:
    Polygon: {ExteriorRing: LineString: { (0.0, -5156.620156177403) (4924.209525017614, 0.0) (0.0, 5156.620156177403) (14772.628575052844, 0.0) (0.0, -5156.620156177403)} }
    Any ideas what to do?
    Thanks for the help in advance.
    Dirk

    Hi Dirk
    Since the transform you are trying to do is just a datum conversion of lat./long. coordinates, even the first transform yields obvious rubbish. What you have provided here does not illustrate how you submitted your polygon to CS_TRANSFORM.
    Provide the syntax of your construction of the corresponding SDO_GEOMETRY object and your SQL select statement that gave these results.
    Bruce

  • SOS, new projected Coordinate System

    Hi all,
    I try to create a new Coordinate System, the idea is transform UTM coordinates to Conic Lambert.
    This is the cs_srs:
    INSERT INTO mdsys.cs_srs VALUES ('Lambert Conformal Conic',
    1082378, 1082378, 'Oracle',
    'PROJCS["Lambert Conformal Conic",
    GEOGCS ["NAD 83",
    DATUM ["NAD 83",
    SPHEROID ["Clarke 1866",6378206.4, 294.978698]],
    PRIMEM [ "Greenwich", 0.00000 ],
    UNIT ["Decimal Degree", 0.01745329251994330]],
    PROJECTION ["Mex Conica Lambert"],
    PARAMETER ["Standard_Parallel_1", 17.30],
    PARAMETER ["Standard_Parallel_2", 29.30],
    PARAMETER ["Central_Meridian",-102.00],
    PARAMETER ["Latitude_Of_Origin", 15.30],
    PARAMETER ["False_Easting", 2000000],
    PARAMETER ["False_North", 0.0],
    UNIT ["Meter", 1.000000000000]]',NULL);
    I defined a procedure
    create or replace procedure inserta_pozo(x IN NUMBER,y IN NUMBER,sc_destino IN NUMBER)
    IS
    BEGIN
    insert into pozo (NUM_RUTA,NUM_TRAMO, NUM_SECCION, NUM_POZO, CONSEC,posicion)
    values
    '183B',
    1,
    1,
    5,
    5,
    SDO_CS.TRANSFORM(
    MDSYS.SDO_GEOMETRY
    2001,
    /*UTM ZONE 14 NAD 83*/
    82232,
    null,
    MDSYS.SDO_ELEM_INFO_ARRAY
    1,
    1,
    1
    MDSYS.SDO_ORDINATE_ARRAY
    x,y
    ),sc_destino)
    commit;
    When I try to insert a row in database the error
    execute inserta_pozo(371476.0,2838677.24,1082378);
    ORA-13282: failure on initialization of coordinate transformation
    ORA-06512: at "MDSYS.SDO_CS", line 23
    ORA-06512: at "MDSYS.SDO_CS", line 43
    ORA-06512: at "ALFAGEO.INSERTA_POZO", line 5
    ORA-06512: at line 1
    Does anybody have any idea, what the problem could be?
    Thanks

    I strongly recommend that you open a Service Request with Oracle Support on this. And further, that you ask Oracle to provide the cs_srs entry.
    Two reasons:
    1) they do help on these issues;
    2) if they provide the entry, it will be included in further updates and database releases.

  • MapViewer and AUTO:42004 coordinate system

    How can I use Oracle MapViewer against an external WMS server using the coordinate system AUTO:42004?
    I have tried it, but the min/max longitude values in the BBOX parameter become wrong.
    - Ingebrigt -

    Ingebrigt
    The AUTO keyword is not supported in the current release.
    From the MV doc Sec D.2.1.14 SRS Parameter
    "The namespace AUTO, for projections that have an arbitrary center of projection, is not supported. "
    Jayant

  • How can I get the coordinate in the layer coordinate system while doing the iterate?

    I found that the position(x,y) the iterate function tell me is not right sometimes.
    Actually,it happens when the top of the layer is negative. The "y"is in the comp coordinate system(maybe?) but not the layer.In another word, the position with y=0 is not the top.
    More specifically, I have got the color map of a layer. I am able to get the color of any pixel in the layer. But I can't set the color one for one when I use "iterate",because there is an offset.
    Am I supposed to get the offset? Is there any way to access the whole layer directly if I use iterate function?

    so indeed it's the offset at play.
    AE will diminish the buffer at 20% increments, and not for each pixel that
    goes out of sight. it's not really in relation to the upper left corner,
    it's all about what part of your layer buffer is out of sight.
    there's also an "iterate offset function". check it out. perhaps it will
    save you some trouble.
    On Fri, Dec 19, 2014 at 2:45 PM, Hinanawi Tenshi <[email protected]>

  • Select data with SDO_RELATE in lat long coordinate system(8307) in 10gR2

    Hi all,
    I have problem with selecting data from table.
    Data are in lat lon coordinate system 8307.
    These requests don't return any data:
    SELECT ISSUE_ID FROM MAP_ISSUES WHERE SDO_FILTER(GEOMETRY, sdo_geometry (2003, 8307, null, sdo_elem_info_array (1,1003,1),sdo_ordinate_array(-180,-90, 180,-90, 180,90, -180,90, -180,-90)) ) = 'TRUE';
    SELECT ISSUE_ID FROM MAP_ISSUES WHERE SDO_RELATE(GEOMETRY, sdo_geometry (2003, 8307, null, sdo_elem_info_array (1,1003,1),sdo_ordinate_array(-180,-90, 180,-90, 180,90, -180,90, -180,-90)), 'MASK=ANYINTERACT' ) = 'TRUE'
    Optimized polygon does return all data correctly:
    SELECT ISSUE_ID FROM MAP_ISSUES WHERE SDO_FILTER(GEOMETRY, sdo_geometry (2003, 8307, null, sdo_elem_info_array (1,1003,3),sdo_ordinate_array (-180,-90,180,90)) ) = 'TRUE'
    Smaller polygon select data correctly too.
    SELECT ISSUE_ID FROM MAP_ISSUES WHERE SDO_FILTER(GEOMETRY, sdo_geometry (2003, 8307, null, sdo_elem_info_array (1,1003,1),sdo_ordinate_array (52,-7, 54,-7 , 54,-5 , 52,-5, 52,-7)) ) = 'TRUE'
    I have tried changed polygon to be clockwise, counter clockwise, make the area a bit smaller( 160 instead of 180, 89 instead of 90) nothing has helped.
    My explanation than was, that Earth is sphere and each defined polygon defines TWO polygons in the sphere and there is convention that the smaller is chosen to select data. It would make sense along the previous results, but than I found one post which says that this is bug http://www.frontoracle.com/oracle-database/703/180703-size-of-are-of-interest-smaller-equals.html
    I have found in other thread that max only 1/2 of Earth could be selected Different results using SDO_RELATE with polygon and rectangle type but it seems not true, because optimized bounding box works fine!
    What is right? Is there anything in official documentation?
    Is it bug.
    Max 1/2 of Earth could be selected in one request.
    Each polygon defines two areas in the Earth and the smaller one is used to do spatial SDO_RELATE operation?
    Thanks!
    Regards,
    Zdenek

    Zdenek,
    A bug, or limititation, whichever you choose. IMHO if you ask for something, and don't get what you expect, it is a bug that could be fixed.
    But for 10g anywho, the following applies, which is why I choose 120 degree breaks for my code as it is less than 180...
    The following size limits apply with geodetic data:
    ■ No polygon element can have an area larger than one-half the surface of the Earth.
    ■ In a line, the distance between two adjacent coordinates cannot be greater than or
    equal to one-half the perimeter (a great circle) of the Earth.
    If you need to work with larger elements, first break these elements into multiple
    smaller elements and work with them. For example, you cannot create a geometry
    representing the entire ocean surface of the Earth; however, you can create multiple
    geometries, each representing part of the overall ocean surface. To work with a line
    string that is greater than or equal to one-half the perimeter of the Earth, you can add
    one or more intermediate points on the line so that all adjacent coordinates are less
    than one-half the perimeter of the Earth.
    Bryan

  • What function to set coordinate system in 6i with API?

    #define D2FP_COORD_SYS 72
    here's the define that relates to what i want to do.
    what are the names of the functions that set/get the coordinate system. (i want to set it to character and change the default units)
    thanks,
    [email protected]

    The Other missing Header file :-) - d2fcrd.h - In fact this is shipped in the Forms API lauchpad on the Forms section on OTN. But here it is anyway:
    /* Copyright (c) Oracle Corporation 1996.  All Rights Reserved. */
       NAME
        D2FCRD.H -- Dev2K Forms API CooRDinate system declarations
       DESCRIPTION
        Contains the public declarations for the Forms API CooRDinate system
       PUBLIC FUNCTIONS
        d2fcrdcr_Create          - Cover for d2fobcr_Create
        d2fcrdde_Destroy         - Cover for d2fobde_Destroy
        d2fcrddu_Duplicate       - Cover for d2fobdu_Duplicate
        d2fcrdex_Extract         -
        d2fcrdap_Apply           -
        d2fcrdg?_Get*Prop        - Cover for d2fobg?_Get*Prop
        d2fcrds?_Set*Prop        - Cover for d2fobs?_Set*Prop
        d2fcrdhp_HasProp         - Cover for d2fobhp_HasProp
        d2fobcs_CharSize
        d2fobss_StringSize
    #ifndef D2FCRD
    #define D2FCRD
    #ifndef ORATYPES
    # include <oratypes.h>
    #endif
    #ifndef D2FPRIV
    # include <d2fpriv.h>
    # endif
    /* C++ Support */
    #ifdef __cplusplus
    extern "C"
    #endif
    ** Object: Coordinate Info
    ORA_RETTYPE(d2fstatus) d2fcrdcr_Create( d2fctx *pd2fctx, d2fcrd **ppd2fcrd );
    ORA_RETTYPE(d2fstatus) d2fcrdde_Destroy( d2fctx *pd2fctx, d2fcrd *pd2fcrd );
    ORA_RETTYPE(d2fstatus) d2fcrddu_Duplicate( d2fctx *pd2fctx,
                                               d2fcrd *pd2fcrd_src,
                                               d2fcrd **ppd2fcrd_dst );
    ORA_RETTYPE(d2fstatus) d2fcrdex_Extract( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                             d2ffmd *pd2ffmd );
    ORA_RETTYPE(d2fstatus) d2fcrdap_Apply( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                           d2ffmd *pd2ffmd );
    ORA_RETTYPE(d2fstatus) d2fcrdgb_GetBoolProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                 ub2 pnum, boolean *pprp );
    ORA_RETTYPE(d2fstatus) d2fcrdgn_GetNumProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                ub2 pnum, number *pprp );
    ORA_RETTYPE(d2fstatus) d2fcrdgt_GetTextProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                 ub2 pnum, text **pprp );
    ORA_RETTYPE(d2fstatus) d2fcrdgo_GetObjProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                ub2 pnum, dvoid **pprp );
    ORA_RETTYPE(d2fstatus) d2fcrdgp_GetBlobProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                ub2 pnum, dvoid **pprp );
    ORA_RETTYPE(d2fstatus) d2fcrdsb_SetBoolProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                 ub2 pnum, boolean prp );
    ORA_RETTYPE(d2fstatus) d2fcrdsn_SetNumProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                ub2 pnum, number prp );
    ORA_RETTYPE(d2fstatus) d2fcrdst_SetTextProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                 ub2 pnum, text *prp );
    ORA_RETTYPE(d2fstatus) d2fcrdso_SetObjProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                ub2 pnum, dvoid *prp );
    ORA_RETTYPE(d2fstatus) d2fcrdsp_SetBlobProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                                ub2 pnum, dvoid *prp );
    ORA_RETTYPE(d2fstatus) d2fcrdhp_HasProp( d2fctx *pd2fctx, d2fcrd *pd2fcrd,
                                             ub2 pnum );
    ** These will eventually move to d2fob.h
    ORA_RETTYPE(d2fstatus) d2fobss_StringSize( d2fctx *pd2fctx,
                                               text *str,
                                               d2ffnt *pd2ffnt,
                                               d2fcrd *pd2fcrd,
                                               number *width,
                                               number *height );
    ORA_RETTYPE(d2fstatus) d2fobcs_CharSize( d2fctx *pd2fctx,
                                             number width,
                                             number height,
                                             d2ffnt *pd2ffnt,
                                             d2fcrd *pd2fcrd,
                                             number *char_width,
                                             number *char_height );
    /* Begin convenience macros  */
    #define d2fcrdg_char_cell_hgt(ctx,obj,val) \
               d2fcrdgn_GetNumProp(ctx,obj,D2FP_CHAR_CELL_HGT,val)
    #define d2fcrdg_char_cell_wid(ctx,obj,val) \
               d2fcrdgn_GetNumProp(ctx,obj,D2FP_CHAR_CELL_WID,val)
    #define d2fcrdg_coord_sys(ctx,obj,val) \
               d2fcrdgn_GetNumProp(ctx,obj,D2FP_COORD_SYS,val)
    #define d2fcrdg_dflt_fnt_scaling(ctx,obj,val) \
               d2fcrdgb_GetBoolProp(ctx,obj,D2FP_DFLT_FNT_SCALING,val)
    #define d2fcrdg_real_unit(ctx,obj,val) \
               d2fcrdgn_GetNumProp(ctx,obj,D2FP_REAL_UNIT,val)
    #define d2fcrds_char_cell_hgt(ctx,obj,val) \
               d2fcrdsn_SetNumProp(ctx,obj,D2FP_CHAR_CELL_HGT,val)
    #define d2fcrds_char_cell_wid(ctx,obj,val) \
               d2fcrdsn_SetNumProp(ctx,obj,D2FP_CHAR_CELL_WID,val)
    #define d2fcrds_coord_sys(ctx,obj,val) \
               d2fcrdsn_SetNumProp(ctx,obj,D2FP_COORD_SYS,val)
    #define d2fcrds_dflt_fnt_scaling(ctx,obj,val) \
               d2fcrdsb_SetBoolProp(ctx,obj,D2FP_DFLT_FNT_SCALING,val)
    #define d2fcrds_real_unit(ctx,obj,val) \
               d2fcrdsn_SetNumProp(ctx,obj,D2FP_REAL_UNIT,val)
    /* End convenience macros  */
    /* C++ Support */
    #ifdef __cplusplus
    #endif
    #endif /* D2FCRD */

  • 3D Coordinate System

    Hello everyone,
    I am new to Java 3D and was trying to create a simple 3D Coordinate system that has an x, y, and z axis. Can anyone help me or point me in the right direction regarding this issue? Appreciate the help.
    Moe.

    http://www.cs.brown.edu/exploratories/freeSoftware/catalogs/repositoryComponents.html
    has some coordinate systems available
    alain

  • Need ruling on screen coordinate system to use with AWTVideoSizeControl...

    Hi -
    I’m working on a tru2way application and a nagging question keeps popping up with stack vendors on the usage of the AWTVideoSizeControl interface. I was hoping you could provide a definitive answer (note that Bill Foote is the author of the interface spec).
    In short…my reading of the javadocs for AWTVideoSizeControl is that all values passed to and received from it are to be expressed in the graphics plane coordinate system. Stack vendors don’t always agree.
    Periodically, I run into a stack vendor who expects AWTVideoSize (as passed to AWTVideoSizeControl.setSize) to be expressed in video plane coordinates – I’ve so far been able to convince these folks that the spec requires graphics coordinates. I’ve just run into an interesting situation, though, where although the vendor agrees that AWTVideoSize should be in graphics coordinates, they’re feeling that the Dimension returned from AWTVideoSizeControl.getSourceVideoSize() should be based on the video plane coordinate system. Their thinking is that while ‘x’ and ‘y’ are coordinates (and therefore are called out as needing to be expressed relative to the graphics screen), ‘height’ and ‘width’ aren’t.
    Perhaps I’m wrong, but that seems incorrect. I would expect the Dimension height and width to be relative to the graphics screen as well.
    I’d appreciate it greatly if you could provide a ruling on this that I could take back to them (and others).
    Thanks.

    You would have to check with the manufacture of your system to see if they have an app available in the Apple App store to access their system. Since you do not indicate the system name or other information, you would need to also search the app store based on the answer the manufacturer provides for you. No one here would be able to guess at what you have.

  • Coordinate System of template form

    Hi there,
    we are currently using Headstart 3.4.2 that was adjusted to our clients requirements. One of the requirements was not to work with a real MDI look and feel, that means every Forms-Module is sized to fit exactly into the MDI Window and then maximized. The surrounding MDI window is sized to a 800x600 screen resolution and centered on the screen.
    To achieve this the consultant changed the coordinate system to pixel and therefore a number of program units in the PLLs had to be changed.
    For us this change had a lot of drawbacks especially, because a lot of the delivered Headstart modules make some sizing stuff based on the inch coordinate system.
    On the other hand a pixel based coordinate system seems much more natural to SW developers and therefore I am not sure how to nadle this task after migration to a newer Headstart version.
    Any opinions or experiences out there?
    Thanks in advance
    --Thomas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    @MLBrown,
    I disagree. Although the "Oracle Developer: Advanced Forms and Reports" book by Peter Koletzke and Paul Dorsey was written at the time of Forms 6 and was written primarily to the Client Server topology, this book does cover the topic "Design for the Web" (Chapter 13) which is still valid today. Additionally, there are other topics that are still relevant with web deployed forms, such as Reducing Network Traffic, Message Diff'ing and Optimize the Class File Loading just to name a few.
    Yes, this is an old book, but with the lack of any better books available - it is still a good place to start to get a basic understanding of how to design an Oracle Form for the web; not to mention it is still a good reference for using some of the more advanced features of Oracle Forms like "Basing a Block on a Procedure" or a "From Clause Query", just to name a few. These Forms features haven't changed much since they were introduced.
    @jbleg,
    With respects to the "Template System" referred to in the book. This was not a commercially available product, but a reference to a set of templates that Peter created. The point was to enforce the need to create standards and partially enforce them through the use of Templates. The use of Templates in you design/development process is still a very valid approach and I suggest you review Chapters 10-12 again.
    Craig... B-)

  • Coordinate system for StackPane

    Hi,
    I have a task to implement a selection tool - click the mouse to draw connected poligon. But I can not find a connection between the coordinate system and screen pixels. When I try to draw a line as Line.setStartX (xx), Line.setEndX (yy), the line is always drawn from the center. If I try to set the offset of the node as setTranslateX(mm), line is drawn with the center from the current point.. Is any workable example how to add line from start point to the end point to the stackpane?
    Thank you!

    I found solution.
    BTW when I try to check doubleclick instead of using Ctrl (i.e. if (me.getClickCount()>1) this is not detect double click when line already painting. It calculates only as single-click.
        public void start(Stage stage) throws Exception {
            final StackPane root = new StackPane();
            Scene scene = new Scene(root, 600, 600);
            stage.setScene(scene);
            stage.setTitle("Selection tool");
            final double centerX = root.getWidth() / 2;
            final double centerY = root.getHeight() / 2;
            root.setOnMouseMoved(new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent me) {
                    if (isDraw && line!=null) {
                        line.setEndX(me.getX()+centerX);
                        line.setEndY(me.getY()+centerY);
                        double midX = (startX+me.getX())/2;
                        double midY = (startY+me.getY())/2;
                        line.setTranslateX(midX-centerX);
                        line.setTranslateY(midY-centerY);
            root.setOnMouseClicked(new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent me) {
                    if (me.isControlDown())
                        if (!isDraw) {
                            isDraw = true;
                        else
                            isDraw = false;
                    if (isDraw) {
                        startX = me.getX();
                        startY = me.getY();
                        line = new Line();
                        line.setStroke(Color.LIGHTBLUE);
                        line.setStartX(startX+centerX);
                        line.setStartY(startY+centerY);
                        root.getChildren().add(line);
            stage.show();
        }Edited by: 918392 on 27.03.2012 7:02

  • Coordinate system

    I am having trouble getting my local-world-view-screen matrix setup right.
    First, coordinate system is:
    +x to the right
    +y down
    +z into the screen
    right? this is what I get from Vector3D class.
    But now that I am thinking of it DirectX and OpenGL have different coordinate systems so how does Molehill work that out?  Do I need to know what API I am runnging to transform to screen space?

    Yes things are starting to look better now. Thanks you both.  I incorrectly assumed the coordinates system was as described in the Vector3D class docs.
    I have a cube with each side a different color and now it appears oriented as expected.
    Now I am appending a view-screen matrix built using lookAtRH().  I create an eye position Vector3D that rotates around the Up/Y axis, looking at (0,0,0) and there is nothing on screen.  I looked at my DirectX engine lookAtRH() equivalent function and notice that in the Molehill implementation there is:
    _w,x = _x.dotProduct(eye);
    _w,y = _y.dotProduct(eye);
    _w,z = _z.dotProduct(eye);
    _w,w = 1.0;
    but in the directX version it is expressed as the negative of the dot products, i.e.:
    _w,x = -_x.dotProduct(eye);
    _w,y = -_y.dotProduct(eye);
    _w,z = -_z.dotProduct(eye);
    _w,x  = 1.0;
    so I tried this and the cube appears on screen!!, however the camera is not rotating around the Y axis it is rotating around the cube off-axis.
    Have you used the lookAtRH() method and had good results, or are you using your own math?
    Does the matrix from lookAtRH() get appended to the stack or do I invert this matrix and append it?
    I am not an expert at the math, but have been able to work this out on PS2, PSP, OpenGL, DirectX, WPF, and now it is Molehill. I know that the PerspectiveMatrix3D.as is in progress because I have gotten it from several sources/example programs and I see for instance that the OrthoRH() method has a typo/bug in it that was fixed in the teapot example.
    Any help is appreciated!!

  • Coordinate system translation from screen coordinates to stage coordinates

    I realize this is not truly a LabVIEW question, but I'm hoping for suggestions.
    I have a digitized image of a sample on a 3 axis stage. The user selects "paths" for a drill to take along the surface of the sample. On the image, 3 reference points are identified. The stage posititions (x, y, and z) corresponding to these points are then identified.
    I need to now convert the coordinates of the paths to the stage coordinate system. Are there any LabVIEW vi's that are suited to this need? I have IMAQ vi's but not very experience with these yet. Suggestions much appreciated
    Tim

    Hello Shan:
    Were almost have the same problem but mine is for a AOI handler with a robot arm which I need to pick (x,y) pairs along the work envelope. Anyway, for the most math part it will involve are coordinate transformation from a "mouse coordinates" to "real world coordinates" and your image processing textbook (I use McGrawHill Computer Graphics by Hill) will outline both the code and the math but LabVIEW will not have a facility to do with an actual VI instead you have to use the array manipulations and treat them coordinates as matrix elements. There is a Math VI and G-Math VI or a MatLAB call you can use for coordinate matrix manipulations as long as you have the math quite figured out in paper already.
    Bernardino Jerez Buenaobra
    Senior Test and Systems Development Engineer
    Test and Systems Development Group
    Integrated Microelectronics Inc.- Philippines
    Telephone:+632772-4941-43
    Fax/Data: +632772-4944
    URL: http://www.imiphil.com/our_location.html
    email: [email protected]

  • Connection between 2 points in a geodetic coordinate system

    In a geodetic coordinate system the connection between two points is a geodetic line or "great circle" (the shortest connection between two points on the surface of the earth).
    Since Oracle 9i distances and queries like "Is a point outside or inside the polygon" are computed correctly for a geodetic coordinate system.
    Even though a circle or arc is not allowed in a geodetic coordinate system (like WGS84 - SRID 8307)
    arcs and circles are used in geographic applications like aeronautical maps.
    Frequently a special area is defined like this "10 nautical miles around airport XXXX"
    and this area is shown as a circle in aeronautical maps (in the projection).
    The function SDO_UTIL.CIRCLE_POLYGON (in Oracle 10g) is very useful to construct such kind of areas and for queries like
    "Does the area belonging to airport XXXX overlap with the area belonging to airport YYYY?".
    For Oracle 8i we had to write special PL/SQL code.
    Another type of connection between two points that is frequently used is a line of equal latitude (parallel).
    Many boundaries are defined like "from meridian (longitude) 30°E to meridian 31°E along parallel 47.5°N".
    If this line is a border of a polygon and if we use a direct connection (geodetic line) and we ask if a point is
    inside or outside the polygon, we will not get the correct answer if the point is close north to this line.
    We have to approximate the line and add points e.g. every 0.1° longitude (30.1,30.2,30.3...), then the answer will be correct.
    My question:
    Are there plans to support circles of equal latitude or generally rhumb lines as a type of connection between two points?
    Karl Mann

    There are no plans to support rhumb lines, also know as loxodromes, and including the special case of parallels of latitude, at this time. Note that it is easy to simulate such rhumb lines with a sufficiently dense set of sampled points. Such a densification is implemented implicitly for parallels in the VIEWPORT_TRANSFORM function so that the concept of the "geodetic minimum bounding rectangle" can be supported, primarily for visualization applications.

  • Use of "IVA Coordinate System Mmanager"?

    I do not understand how the vi "IVA Coordinate System Mmanager" is used. When I do create the LV-code from the NI Vision Assistant it gives me following fragment:
    Here the "reference System" input is set (the x-/y axis) automatically to the value 562.95 and 558.641 (see picture above). What indicates those values if I do pattern matching? And to which values I need to set it for any image where I do pattern matching? The output of this vi gives me a cluster with the origin and the measurement system. Even I set those two values to 0/0 it gives me the corect and new coordinate system of the found pattern but I'll get an NaN if I use the same function (pattern matching) twice in a row for a different image. In both cases NI Vision Assistant sets those two default values automatically.
    thanks..!

    I have attachted a script file. Here u can see that the coordinates for the reference system has been set to the values where the coordinate system is.
    Question: Why are this coordinates (87.45/221) already set? Does it matter if I set the values for the reference system to 0,0?
    best regards
    Attachments:
    test.vi ‏58 KB

Maybe you are looking for

  • Schedule line delivery dates change in VA01

    Experts, User is adding some days for a material in maintenance table and it is like below. Material Days Plant 2525252 100 ABCD 3636363 150 PQRS The requirement is -- While creating sales orders or changing sales orders(VA01 or VA02) while adding th

  • DataGuard and NoLogging

    i would like to know pertaining to DataGuard and NoLogging. I read that it causes block corruption if nologging is there on the primary, which can be a problem on the standby db. but when i tried to simulate the same on my primary/standby it was not

  • Configure single CSS as authoritative dns server

    Hi Experts, I have one CSS11501 acting as the load balancer. And all the servers are in private network behind it. We need to configure an authoritative dns server for this web domain. I want to use this CSS to be the dns server. I saw that there are

  • Infinite Apple logo loop on 30gb ipod, please help

    Ive had my ipod for 2 years now, so of course its not under warranty.. basically my problem is when i try to turn on my ipod, it looks like it will boot up, it shows the apple logo, screen goes black, and does it all over again, until the battery die

  • Java Corrupted

    Please help me. I'm very new to Java. In an effort to update my version of Java, I mistakenly downloaded 1.4.1-beta. I now have 2 versions of java 1.4.1-beta and 1.4.0-01. When I try to load games on Pogo, I get the following message: Java corrupted