Beispiel #1
0
        public virtual string ToStringRepresentation(WktKeyword keyword)
        {
            Contract.Ensures(!String.IsNullOrEmpty(Contract.Result <string>()));
            switch (keyword)
            {
            case WktKeyword.ParamMt:
                return("PARAM_MT");

            case WktKeyword.InverseMt:
                return("INVERSE_MT");

            case WktKeyword.PrimeMeridian:
                return("PRIMEM");

            case WktKeyword.VerticalDatum:
                return("VERT_DATUM");

            case WktKeyword.LocalDatum:
                return("LOCAL_DATUM");

            case WktKeyword.ConcatMt:
                return("CONCAT_MT");

            case WktKeyword.GeographicCs:
                return("GEOGCS");

            case WktKeyword.ProjectedCs:
                return("PROJCS");

            case WktKeyword.GeocentricCs:
                return("GEOCCS");

            case WktKeyword.VerticalCs:
                return("VERT_CS");

            case WktKeyword.LocalCs:
                return("LOCAL_CS");

            case WktKeyword.FittedCs:
                return("FITTED_CS");

            case WktKeyword.CompoundCs:
                return("COMPD_CS");

            case WktKeyword.PassThroughMt:
                return("PASSTHROUGH_MT");

            default: {
                Contract.Assume(!String.IsNullOrEmpty(keyword.ToString().ToUpperInvariant()));
                return(keyword.ToString().ToUpperInvariant());
            }
            }
        }
Beispiel #2
0
 private void WriteBasicDatum(IDatum entity, WktKeyword keyword, OgcDatumType ogcDatumType)
 {
     Contract.Requires(entity != null);
     Write(keyword);
     WriteOpenParenthesis();
     WriteQuoted(entity.Name);
     WriteComma();
     WriteValue((int)ogcDatumType);
     if (null != entity.Authority)
     {
         WriteComma();
         Write(entity.Authority);
     }
     WriteCloseParenthesis();
 }
Beispiel #3
0
        private bool IsDirectionKeyword(WktKeyword keyword)
        {
            switch (keyword)
            {
            case WktKeyword.North:
            case WktKeyword.South:
            case WktKeyword.East:
            case WktKeyword.West:
            case WktKeyword.Up:
            case WktKeyword.Down:
            case WktKeyword.Other:
                return(true);

            default: return(false);
            }
        }
Beispiel #4
0
        public void WriteCrs(ICrsGeodetic entity, WktKeyword keyword)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            Contract.EndContractBlock();
            Write(keyword);
            WriteOpenParenthesis();
            WriteQuoted(entity.Name);
            Indent();

            StartNextLineParameter();
            Write(entity.Datum);

            StartNextLineParameter();
            var primeMeridian = entity.Datum.PrimeMeridian;

            if (primeMeridian != null)
            {
                Write(entity.Datum.PrimeMeridian);
            }

            StartNextLineParameter();
            Write(entity.Unit);

            foreach (var axis in entity.Axes)
            {
                StartNextLineParameter();
                if (axis != null)
                {
                    Write(axis);
                }
            }

            if (null != entity.Authority)
            {
                StartNextLineParameter();
                Write(entity.Authority);
            }

            UnIndent();
            WriteCloseParenthesis();
        }
Beispiel #5
0
        private OgcOrientationType ToOgcOrientationType(WktKeyword keyword)
        {
            switch (keyword)
            {
            case WktKeyword.North: return(OgcOrientationType.North);

            case WktKeyword.South: return(OgcOrientationType.South);

            case WktKeyword.East: return(OgcOrientationType.East);

            case WktKeyword.West: return(OgcOrientationType.West);

            case WktKeyword.Up: return(OgcOrientationType.Up);

            case WktKeyword.Down: return(OgcOrientationType.Down);

            default: return(OgcOrientationType.Other);
            }
        }
Beispiel #6
0
 private WktKeyword ReadKeywordSubmatch(string subMatch, WktKeyword keyword)
 {
     Contract.Requires(!String.IsNullOrEmpty(subMatch));
     return(ReadKeywordSubmatch(subMatch) ? keyword : WktKeyword.Invalid);
 }
Beispiel #7
0
 public void Write(WktKeyword keyword)
 {
     _writer.Write(Options.ToStringRepresentation(keyword));
 }