public MWNumberSelection extractLength(int EndDirectionIndex, string aCallString = "") { MWNumberSelection returnVal = new MWNumberSelection(); //find the feet keyword after the last end direction letter MWSelection feetLocation = findFeet(EndDirectionIndex, aCallString); //find the next number after the north south keyword returnVal = extractPreviousNumberVal(feetLocation.getStartIndex(), aCallString); return(returnVal); }
public CurveLeftRightCategory findRightLeftKeyword(string aCallString) { CurveLeftRightCategory returnCat = CurveLeftRightCategory.NotFound; MWSelection selectionObject = findRight(0, aCallString); if (selectionObject.getStartIndex() > -1) { returnCat = CurveLeftRightCategory.Right; } if (returnCat != CurveLeftRightCategory.Right) { selectionObject = findLeft(0, aCallString); if (selectionObject.getStartIndex() > -1) { returnCat = CurveLeftRightCategory.Left; } } return(returnCat); }
public bool findCurveKeyword(int startingIndex, string aCallString = "") { bool returnBool = false; string[] stringArray = new string[] { "Curve", "CURVE", "curve" }; MWSelection returnSelection = new MWSelection(); returnSelection = findNextGeneral(stringArray, startingIndex, aCallString); if (returnSelection.getStartIndex() != -1) { returnBool = true; } return(returnBool); }
public double extractRadius(string aCallString) { double returnVal = -1; MWNumberSelection aNumberSelection = new MWNumberSelection(); MWSelection radiusSelection = new MWSelection(); radiusSelection = findRadius(0, aCallString); if (radiusSelection.getStartIndex() > -1) { aNumberSelection = extractNextNumberVal(radiusSelection.getEndIndex() + 1, aCallString); } returnVal = aNumberSelection.getNumberValue(); return(returnVal); }
public MWSelection findNextPotentialCall(int startingIndex) { MWSelection returnSelection = new MWSelection(); MWSelection nextStart = findStartDirection(startingIndex); MWSelection nextEnd = findEndDirection(startingIndex); MWSelection nextFeet = findFeet(startingIndex); int lenghthOfBearing = nextEnd.getEndIndex() - nextStart.getEndIndex(); bool potentialBearing = false; if (lenghthOfBearing >= 10 && lenghthOfBearing <= 25) { potentialBearing = true; } int lengthOfDistance = nextFeet.getEndIndex() - nextEnd.getEndIndex(); bool potentialDistance = false; if (lengthOfDistance >= 8 && lengthOfDistance <= 200) { potentialDistance = true; } if (potentialBearing == false || potentialDistance == false) { returnSelection.setEndIndex(-1); returnSelection.setStartIndex(-1); } else { returnSelection.setStartIndex(nextStart.getStartIndex()); returnSelection.setEndIndex(nextFeet.getEndIndex() + 1); } //if it is a potential call then it will return the position //if it does not look like the right lengths it will return -1 and -1 return(returnSelection); }
public DeconstructedCallString(string aCallString, int _gStartindex, int _gEndIndex) { LegalDescriptionStringUtility util = new LegalDescriptionStringUtility(aCallString); theString = aCallString; globalStart = _gStartindex; globalEnd = _gEndIndex; //is is a curve and is it left or right if (util.findCurveKeyword(0, theString) == false) { curveLeftRight = CurveLeftRightCategory.NA; } else { curveLeftRight = util.findRightLeftKeyword(theString); } Console.WriteLine("Stop for Test"); if (curveLeftRight.Value == CurveLeftRightCategory.Left.Value || curveLeftRight.Value == CurveLeftRightCategory.Right.Value) { //find the radius radius = util.extractRadius(theString); } //set north or south MWSelection NSlocation = util.findStartDirection(0, theString); int begIndex = NSlocation.getStartIndex(); if (theString[begIndex] == 'N' || theString[begIndex] == 'n') { startDirection = StartDirectionCategory.North; } else { startDirection = StartDirectionCategory.South; } //set east or west MWSelection EWlocation = util.findEndDirection(0, theString); begIndex = EWlocation.getStartIndex(); if (theString[begIndex] == 'E' || theString[begIndex] == 'e') { endDirection = EndDirectionCategory.East; } else { endDirection = EndDirectionCategory.West; } //Find the degrees and its location in the string MWNumberSelection degreesSelection = util.extractDegrees(NSlocation.getEndIndex(), theString); degrees = Convert.ToInt32(degreesSelection.getNumberValue()); //find the minutes MWNumberSelection minutesSelection = util.extractMinutes(degreesSelection.getEndIndex(), theString); this.minutes = Convert.ToInt32(minutesSelection.getNumberValue()); //find the seconds MWNumberSelection secondsSelection = util.extractSeconds(minutesSelection.getEndIndex(), theString); //three might not be any seconds if (secondsSelection.getEndIndex() < EWlocation.getStartIndex()) { this.seconds = Convert.ToInt32(secondsSelection.getNumberValue()); } else { this.seconds = 0; } //find the length //find the seconds MWNumberSelection lengthSelection = util.extractLength(EWlocation.getEndIndex(), theString); this.length = Convert.ToDouble(lengthSelection.getNumberValue()); }