/**
         * Create a WITSML trajectory station instance from the given
         * XML element node.
         *
         * @param element    XML element to parse. Non-null.
         * @param stationNo  Station number.
         */
        internal WitsmlTrajectoryStation(XElement element, int stationNo)

            : base(stationNo)
        {
            id = element.Attribute("uid").Value;

            time                                  = XmlUtil.update(element, "dTimStn", time);
            type                                  = XmlUtil.update(element, "typeTrajStation", type);
            surveyToolType                        = XmlUtil.update(element, "surveyToolType", surveyToolType);
            md                                    = XmlUtil.update(element, "md", md);
            tvd                                   = XmlUtil.update(element, "tvd", tvd);
            inclination                           = XmlUtil.update(element, "incl", inclination);
            azimuth                               = XmlUtil.update(element, "azi", azimuth);
            toolfaceMagneticAngle                 = XmlUtil.update(element, "mtf", toolfaceMagneticAngle);
            toolfaceGravityAngle                  = XmlUtil.update(element, "gtf", toolfaceGravityAngle);
            north                                 = XmlUtil.update(element, "dispNs", north);
            east                                  = XmlUtil.update(element, "dispEw", east);
            verticalSectionDistance               = XmlUtil.update(element, "vertSect", verticalSectionDistance);
            dls                                   = XmlUtil.update(element, "dls", dls);
            turnRate                              = XmlUtil.update(element, "rateTurn", turnRate);
            buildRate                             = XmlUtil.update(element, "rateBuild", buildRate);
            dMd                                   = XmlUtil.update(element, "mdDelta", dMd);
            dTvd                                  = XmlUtil.update(element, "tvdDelta", dTvd);
            errorModel                            = XmlUtil.update(element, "modelToolError", errorModel);
            gravityUncertainty                    = XmlUtil.update(element, "gravTotalUncert", gravityUncertainty);
            dipAngleUncertainty                   = XmlUtil.update(element, "dipAngleUncert", dipAngleUncertainty);
            magneticUncertainty                   = XmlUtil.update(element, "magTotalUncert", magneticUncertainty);
            _isAccelerometerCorrectionUsed        = XmlUtil.update(element, "gravAccelCorUsed", _isAccelerometerCorrectionUsed);
            _isMagnetometerCorrectionUsed         = XmlUtil.update(element, "magXAxialCorUsed", _isMagnetometerCorrectionUsed);
            _isSagCorrectionUsed                  = XmlUtil.update(element, "sagCorUsed", _isSagCorrectionUsed);
            _isDrillStringMagnetismCorrectionUsed = XmlUtil.update(element, "magDrlstrCorUsed", _isDrillStringMagnetismCorrectionUsed);
            gravitationFieldReference             = XmlUtil.update(element, "gravTotalFieldReference", gravitationFieldReference);
            magneticFieldReference                = XmlUtil.update(element, "magTotalFieldReference", magneticFieldReference);
            magneticDipAngleReference             = XmlUtil.update(element, "magDipAngleReference", magneticDipAngleReference);
            magneticModel                         = XmlUtil.update(element, "magModelUsed", magneticModel);
            magneticModelValidInterval            = XmlUtil.update(element, "magModelValid", magneticModelValidInterval);
            gravitationalModel                    = XmlUtil.update(element, "geoModelUsed", gravitationalModel);
            status                                = XmlUtil.update(element, "statusTrajStation", status);

            XElement locationElement = element.Element(element.Name.Namespace + "location"); //, element.getNamespace());

            if (locationElement != null)
            {
                location = new WitsmlLocation(locationElement);
            }

            XElement commonDataElement = element.Element(element.Name.Namespace + "commonData");//, element.getNamespace());

            if (commonDataElement != null)
            {
                commonData = new WitsmlCommonData(commonDataElement);
            }
        }
        /**
         * Return complete XML query for this type.
         *
         * @return  XML query. Never null.
         */
        public static String getQuery()
        {
            String query = "<trajectoryStation uid = \"\">" +
                           "    <dTimStn/>" +
                           "    <typeTrajStation/>" +
                           "    <typeSurveyTool/>" +
                           "    <md uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <tvd uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <incl uom=\"rad\"/>" +
                           "    <azi uom=\"rad\"/>" +
                           "    <mtf uom=\"rad\"/>" +
                           "    <gtf uom=\"rad\"/>" +
                           "    <dispNs uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <dispEw uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <vertSect uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <dls/>" +
                           "    <rateTurn/>" +
                           "    <rateBuild/>" +
                           "    <mdDelta uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <tvdDelta uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <modelToolError/>" +
                           "    <gravTotalUncert/>" +
                           "    <dipAngleUncert uom=\"rad\"/>" +
                           "    <magTotalUncert/>" +
                           "    <gravAccelCorUsed/>" +
                           "    <magXAxialCorUsed/>" +
                           "    <sagCorUsed/>" +
                           "    <magDrlstrCorUsed/>" +
                           "    <gravTotalFieldReference/>" +
                           "    <magTotalFieldReference/>" +
                           "    <magDipAngleReference uom=\"rad\"/>" +
                           "    <magModelUsed/>" +
                           "    <magModelValid/>" +
                           "    <geoModelUsed/>" +
                           "    <statusTrajStation/>" +
                           "    <rawData/>" +
                           "    <corUsed/>" +
                           "    <valid/>" +
                           "    <matrixCov/>" +
                           "    <location>" +
                           WitsmlLocation.getQuery() +
                           "    </location>" +
                           "    <sourceStation/>" +
                           WitsmlCommonData.getQuery() +
                           "</trajectoryStation>";

            return(query);
        }
        /**
         * Create a WITSML trajectory station instance from the given
         * XML element node.
         *
         * @param element    XML element to parse. Non-null.
         * @param stationNo  Station number.
         */
        internal WitsmlTrajectoryStation(XElement element, int stationNo)
            : base(stationNo)
        {
            id = element.Attribute("uid").Value;

            time = XmlUtil.update(element, "dTimStn", time);
            type = XmlUtil.update(element, "typeTrajStation", type);
            surveyToolType = XmlUtil.update(element, "surveyToolType", surveyToolType);
            md = XmlUtil.update(element, "md", md);
            tvd = XmlUtil.update(element, "tvd", tvd);
            inclination = XmlUtil.update(element, "incl", inclination);
            azimuth = XmlUtil.update(element, "azi", azimuth);
            toolfaceMagneticAngle = XmlUtil.update(element, "mtf", toolfaceMagneticAngle);
            toolfaceGravityAngle = XmlUtil.update(element, "gtf", toolfaceGravityAngle);
            north = XmlUtil.update(element, "dispNs", north);
            east = XmlUtil.update(element, "dispEw", east);
            verticalSectionDistance = XmlUtil.update(element, "vertSect", verticalSectionDistance);
            dls = XmlUtil.update(element, "dls", dls);
            turnRate = XmlUtil.update(element, "rateTurn", turnRate);
            buildRate = XmlUtil.update(element, "rateBuild", buildRate);
            dMd = XmlUtil.update(element, "mdDelta", dMd);
            dTvd = XmlUtil.update(element, "tvdDelta", dTvd);
            errorModel = XmlUtil.update(element, "modelToolError", errorModel);
            gravityUncertainty = XmlUtil.update(element, "gravTotalUncert", gravityUncertainty);
            dipAngleUncertainty = XmlUtil.update(element, "dipAngleUncert", dipAngleUncertainty);
            magneticUncertainty = XmlUtil.update(element, "magTotalUncert", magneticUncertainty);
            _isAccelerometerCorrectionUsed = XmlUtil.update(element, "gravAccelCorUsed", _isAccelerometerCorrectionUsed);
            _isMagnetometerCorrectionUsed = XmlUtil.update(element, "magXAxialCorUsed", _isMagnetometerCorrectionUsed);
            _isSagCorrectionUsed = XmlUtil.update(element, "sagCorUsed", _isSagCorrectionUsed);
            _isDrillStringMagnetismCorrectionUsed = XmlUtil.update(element, "magDrlstrCorUsed", _isDrillStringMagnetismCorrectionUsed);
            gravitationFieldReference = XmlUtil.update(element, "gravTotalFieldReference", gravitationFieldReference);
            magneticFieldReference = XmlUtil.update(element, "magTotalFieldReference", magneticFieldReference);
            magneticDipAngleReference = XmlUtil.update(element, "magDipAngleReference", magneticDipAngleReference);
            magneticModel = XmlUtil.update(element, "magModelUsed", magneticModel);
            magneticModelValidInterval = XmlUtil.update(element, "magModelValid", magneticModelValidInterval);
            gravitationalModel = XmlUtil.update(element, "geoModelUsed", gravitationalModel);
            status = XmlUtil.update(element, "statusTrajStation", status);

            XElement locationElement = element.Element(element.Name.Namespace+"location"); //, element.getNamespace());
            if (locationElement != null)
                location = new WitsmlLocation(locationElement);

            XElement commonDataElement = element.Element(element.Name.Namespace + "commonData");//, element.getNamespace());
            if (commonDataElement != null)
                commonData = new WitsmlCommonData(commonDataElement);
        }
Esempio n. 4
0
        /**
         * Return complete XML query for this type.
         *
         * @param id        ID of instance to get. May be empty to indicate all.
         *                  Non-null.
         * @param parentId  Parent IDs. Closest first. May be empty if instances
         *                  are accessed from the root. Non-null.
         * @return          XML query. Never null.
         */
        static String getQuery(String id, params String[] parentId)
        {
            //Debug.Assert(id != null : "id cannot be null";
            //Debug.Assert(parentId != null : "parentId cannot be null";

            String query = "<wells xmlns=\"" + WitsmlVersion.VERSION_1_4_0.getNamespace() + "\">" +
                           "  <well uid=\"" + id + "\">" +
                           "    <name/>" +
                           "    <nameLegal/>" +
                           "    <numLicense/>" +
                           "    <numGovt/>" +
                           "    <dTimLicense/>" +
                           "    <field/>" +
                           "    <country/>" +
                           "    <state/>" +
                           "    <county/>" +
                           "    <region/>" +
                           "    <district/>" +
                           "    <block/>" +
                           "    <timeZone/>" +
                           "    <operator/>" +
                           "    <operatorDiv/>" +
                           "    <pcInterest/>" + //BM ADD uom
                           "    <numAPI/>" +
                           "    <statusWell/>" +
                           "    <purposeWell/>" +
                           "    <fluidWell/>" +
                           "    <directionWell/>" +
                           "    <dTimSpud/>" +
                           "    <dTimPa/>" +
                           "    <wellheadElevation/>" +
                           "    <wellDatum/>" +
                           "    <groundElevation/>" +
                           "    <waterDepth uom=\"" + WitsmlServer.distUom + "\"/>" +
                           "    <wellLocation>" +
                           WitsmlLocation.getQuery() +
                           "    </wellLocation>" +
                           "    <referencePoint/>" +
                           "    <wellCRS/>" +
                           WitsmlCommonData.getQuery() +
                           "  </well>" +
                           "</wells>";

            return(query);
        }
Esempio n. 5
0
        /**
         * Parse the specified DOM element and instantiate the properties
         * of this instance.
         *
         * @param element  XML element to parse. Non-null.
         */
        void update(XElement element)
        {
            //Debug.Assert(element != null : "element cannot be null";

            legalName             = XmlUtil.update(element, "nameLegal", legalName);
            licenseNumber         = XmlUtil.update(element, "numLicense", licenseNumber);
            wellNumber            = XmlUtil.update(element, "numGovt", wellNumber);
            licenseIssueTime      = XmlUtil.update(element, "dTimLicense", licenseIssueTime);
            field                 = XmlUtil.update(element, "field", field);
            country               = XmlUtil.update(element, "country", country);
            state                 = XmlUtil.update(element, "state", state);
            county                = XmlUtil.update(element, "county", county);
            region                = XmlUtil.update(element, "region", region);
            district              = XmlUtil.update(element, "district", district);
            block                 = XmlUtil.update(element, "block", block);
            timeZone              = XmlUtil.update(element, "timeZone", timeZone);
            @operator             = XmlUtil.update(element, "operator", @operator);
            operatorDivision      = XmlUtil.update(element, "operatorDiv", operatorDivision);
            operatorInterestShare = XmlUtil.update(element, "pcInterest", operatorInterestShare);
            apiNumber             = XmlUtil.update(element, "numAPI", apiNumber);
            status                = XmlUtil.update(element, "statusWell", status);
            purpose               = XmlUtil.update(element, "purposeWell", purpose);
            fluidType             = XmlUtil.update(element, "fluidWell", fluidType);
            flowDirection         = XmlUtil.update(element, "directionWell", flowDirection);
            spudTime              = XmlUtil.update(element, "dTimSpud", spudTime);
            pluggedTime           = XmlUtil.update(element, "dTimPa", pluggedTime);
            wellHeadElevation     = XmlUtil.update(element, "wellheadElevation", wellHeadElevation);
            groundElevation       = XmlUtil.update(element, "groundElevation", groundElevation);
            waterDepth            = XmlUtil.update(element, "waterDepth", waterDepth);

            XElement locationElement = element.Element(element.Name.Namespace + "wellLocation");//, element.getNamespace());

            if (locationElement != null)
            {
                location = new WitsmlLocation(locationElement);
            }

            XElement commonDataElement = element.Element(element.Name.Namespace + "commonData"); //, element.getNamespace());

            if (commonDataElement != null)
            {
                commonData = new WitsmlCommonData(commonDataElement);
            }
        }
Esempio n. 6
0
        /**
         * Parse the specified DOM element and instantiate the properties
         * of this instance.
         *
         * @param element  XML element to parse. Non-null.
         */
        void update(XElement element)
        {
            //Debug.Assert(element != null : "element cannot be null";

            legalName = XmlUtil.update(element, "nameLegal", legalName);
            licenseNumber = XmlUtil.update(element, "numLicense", licenseNumber);
            wellNumber = XmlUtil.update(element, "numGovt", wellNumber);
            licenseIssueTime = XmlUtil.update(element, "dTimLicense", licenseIssueTime);
            field = XmlUtil.update(element, "field", field);
            country = XmlUtil.update(element, "country", country);
            state = XmlUtil.update(element, "state", state);
            county = XmlUtil.update(element, "county", county);
            region = XmlUtil.update(element, "region", region);
            district = XmlUtil.update(element, "district", district);
            block = XmlUtil.update(element, "block", block);
            timeZone = XmlUtil.update(element, "timeZone", timeZone);
            @operator = XmlUtil.update(element, "operator", @operator);
            operatorDivision = XmlUtil.update(element, "operatorDiv", operatorDivision);
            operatorInterestShare = XmlUtil.update(element, "pcInterest", operatorInterestShare);
            apiNumber = XmlUtil.update(element, "numAPI", apiNumber);
            status = XmlUtil.update(element, "statusWell", status);
            purpose = XmlUtil.update(element, "purposeWell", purpose);
            fluidType = XmlUtil.update(element, "fluidWell", fluidType);
            flowDirection = XmlUtil.update(element, "directionWell", flowDirection);
            spudTime = XmlUtil.update(element, "dTimSpud", spudTime);
            pluggedTime = XmlUtil.update(element, "dTimPa", pluggedTime);
            wellHeadElevation = XmlUtil.update(element, "wellheadElevation", wellHeadElevation);
            groundElevation = XmlUtil.update(element, "groundElevation", groundElevation);
            waterDepth = XmlUtil.update(element, "waterDepth", waterDepth);

            XElement locationElement = element.Element(element.Name.Namespace+"wellLocation");//, element.getNamespace());
            if (locationElement != null)
                location = new WitsmlLocation(locationElement);

            XElement commonDataElement = element.Element(element.Name.Namespace+"commonData"); //, element.getNamespace());
            if (commonDataElement != null)
                commonData = new WitsmlCommonData(commonDataElement);
        }