Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="tokenizer"></param>
        /// <returns></returns>
        private static IProjection ReadProjection(WktStreamTokenizer tokenizer)
        {
            tokenizer.ReadToken("PROJECTION");
            tokenizer.ReadToken("[");
            string className = tokenizer.ReadDoubleQuotedWord();

            tokenizer.ReadToken("]");
            tokenizer.ReadToken(",");
            tokenizer.ReadToken("PARAMETER");
            List <ProjectionParameter> parameters = new List <ProjectionParameter>();

            while (tokenizer.GetStringValue() == "PARAMETER")
            {
                tokenizer.ReadToken("[");
                string name = tokenizer.ReadDoubleQuotedWord();
                tokenizer.ReadToken(",");
                tokenizer.NextToken();
                double numericValue = tokenizer.GetNumericValue();
                tokenizer.ReadToken("]");
                tokenizer.ReadToken(",");
                parameters.Add(new ProjectionParameter(name, numericValue));
                tokenizer.NextToken();
            }
            string authority = string.Empty;

            return(new Projection(className, parameters, className, authority, -1L, string.Empty, string.Empty, string.Empty));
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="tokenizer"></param>
        /// <returns></returns>
        private static IEllipsoid ReadEllipsoid(WktStreamTokenizer tokenizer)
        {
            tokenizer.ReadToken("[");
            string name = tokenizer.ReadDoubleQuotedWord();

            tokenizer.ReadToken(",");
            tokenizer.NextToken();
            double numericValue = tokenizer.GetNumericValue();

            tokenizer.ReadToken(",");
            tokenizer.NextToken();
            double inverseFlattening = tokenizer.GetNumericValue();

            tokenizer.NextToken();
            string authority     = string.Empty;
            long   authorityCode = -1L;

            if (tokenizer.GetStringValue() == ",")
            {
                tokenizer.ReadAuthority(ref authority, ref authorityCode);
                tokenizer.ReadToken("]");
            }
            return(new Ellipsoid(numericValue, 0, inverseFlattening, true, LinearUnit.Metre, name, authority, authorityCode, string.Empty, string.Empty, string.Empty));
        }
 /// <summary>
 /// Returns a <see cref="T:Topology.CoordinateSystems.AngularUnit" /> given a piece of WKT.
 /// </summary>
 /// <param name="tokenizer">WktStreamTokenizer that has the WKT.</param>
 /// <returns>An object that implements the IUnit interface.</returns>
 private static IAngularUnit ReadAngularUnit(WktStreamTokenizer tokenizer)
 {
     tokenizer.ReadToken("[");
     string name = tokenizer.ReadDoubleQuotedWord();
     tokenizer.ReadToken(",");
     tokenizer.NextToken();
     double numericValue = tokenizer.GetNumericValue();
     string authority = string.Empty;
     long authorityCode = -1L;
     tokenizer.NextToken();
     if (tokenizer.GetStringValue() == ",")
     {
         tokenizer.ReadAuthority(ref authority, ref authorityCode);
         tokenizer.ReadToken("]");
     }
     return new AngularUnit(numericValue, name, authority, authorityCode, string.Empty, string.Empty, string.Empty);
 }
Exemple #4
0
        /// <summary>
        /// Returns a <see cref="T:Topology.CoordinateSystems.AngularUnit" /> given a piece of WKT.
        /// </summary>
        /// <param name="tokenizer">WktStreamTokenizer that has the WKT.</param>
        /// <returns>An object that implements the IUnit interface.</returns>
        private static IAngularUnit ReadAngularUnit(WktStreamTokenizer tokenizer)
        {
            tokenizer.ReadToken("[");
            string name = tokenizer.ReadDoubleQuotedWord();

            tokenizer.ReadToken(",");
            tokenizer.NextToken();
            double numericValue  = tokenizer.GetNumericValue();
            string authority     = string.Empty;
            long   authorityCode = -1L;

            tokenizer.NextToken();
            if (tokenizer.GetStringValue() == ",")
            {
                tokenizer.ReadAuthority(ref authority, ref authorityCode);
                tokenizer.ReadToken("]");
            }
            return(new AngularUnit(numericValue, name, authority, authorityCode, string.Empty, string.Empty, string.Empty));
        }
Exemple #5
0
        /// <summary>
        /// Reads either 3, 6 or 7 parameter Bursa-Wolf values from TOWGS84 token
        /// </summary>
        /// <param name="tokenizer"></param>
        /// <returns></returns>
        private static Wgs84ConversionInfo ReadWGS84ConversionInfo(WktStreamTokenizer tokenizer)
        {
            tokenizer.ReadToken("[");
            Wgs84ConversionInfo info = new Wgs84ConversionInfo();

            tokenizer.NextToken();
            info.Dx = tokenizer.GetNumericValue();
            tokenizer.ReadToken(",");
            tokenizer.NextToken();
            info.Dy = tokenizer.GetNumericValue();
            tokenizer.ReadToken(",");
            tokenizer.NextToken();
            info.Dz = tokenizer.GetNumericValue();
            tokenizer.NextToken();
            if (tokenizer.GetStringValue() == ",")
            {
                tokenizer.NextToken();
                info.Ex = tokenizer.GetNumericValue();
                tokenizer.ReadToken(",");
                tokenizer.NextToken();
                info.Ey = tokenizer.GetNumericValue();
                tokenizer.ReadToken(",");
                tokenizer.NextToken();
                info.Ez = tokenizer.GetNumericValue();
                tokenizer.NextToken();
                if (tokenizer.GetStringValue() == ",")
                {
                    tokenizer.NextToken();
                    info.Ppm = tokenizer.GetNumericValue();
                }
            }
            if (tokenizer.GetStringValue() != "]")
            {
                tokenizer.ReadToken("]");
            }
            return(info);
        }
 /// <summary>
 /// Reads either 3, 6 or 7 parameter Bursa-Wolf values from TOWGS84 token
 /// </summary>
 /// <param name="tokenizer"></param>
 /// <returns></returns>
 private static Wgs84ConversionInfo ReadWGS84ConversionInfo(WktStreamTokenizer tokenizer)
 {
     tokenizer.ReadToken("[");
     Wgs84ConversionInfo info = new Wgs84ConversionInfo();
     tokenizer.NextToken();
     info.Dx = tokenizer.GetNumericValue();
     tokenizer.ReadToken(",");
     tokenizer.NextToken();
     info.Dy = tokenizer.GetNumericValue();
     tokenizer.ReadToken(",");
     tokenizer.NextToken();
     info.Dz = tokenizer.GetNumericValue();
     tokenizer.NextToken();
     if (tokenizer.GetStringValue() == ",")
     {
         tokenizer.NextToken();
         info.Ex = tokenizer.GetNumericValue();
         tokenizer.ReadToken(",");
         tokenizer.NextToken();
         info.Ey = tokenizer.GetNumericValue();
         tokenizer.ReadToken(",");
         tokenizer.NextToken();
         info.Ez = tokenizer.GetNumericValue();
         tokenizer.NextToken();
         if (tokenizer.GetStringValue() == ",")
         {
             tokenizer.NextToken();
             info.Ppm = tokenizer.GetNumericValue();
         }
     }
     if (tokenizer.GetStringValue() != "]")
     {
         tokenizer.ReadToken("]");
     }
     return info;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="tokenizer"></param>
 /// <returns></returns>
 private static IProjection ReadProjection(WktStreamTokenizer tokenizer)
 {
     tokenizer.ReadToken("PROJECTION");
     tokenizer.ReadToken("[");
     string className = tokenizer.ReadDoubleQuotedWord();
     tokenizer.ReadToken("]");
     tokenizer.ReadToken(",");
     tokenizer.ReadToken("PARAMETER");
     List<ProjectionParameter> parameters = new List<ProjectionParameter>();
     while (tokenizer.GetStringValue() == "PARAMETER")
     {
         tokenizer.ReadToken("[");
         string name = tokenizer.ReadDoubleQuotedWord();
         tokenizer.ReadToken(",");
         tokenizer.NextToken();
         double numericValue = tokenizer.GetNumericValue();
         tokenizer.ReadToken("]");
         tokenizer.ReadToken(",");
         parameters.Add(new ProjectionParameter(name, numericValue));
         tokenizer.NextToken();
     }
     string authority = string.Empty;
     return new Projection(className, parameters, className, authority, -1L, string.Empty, string.Empty, string.Empty);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="tokenizer"></param>
 /// <returns></returns>
 private static IEllipsoid ReadEllipsoid(WktStreamTokenizer tokenizer)
 {
     tokenizer.ReadToken("[");
     string name = tokenizer.ReadDoubleQuotedWord();
     tokenizer.ReadToken(",");
     tokenizer.NextToken();
     double numericValue = tokenizer.GetNumericValue();
     tokenizer.ReadToken(",");
     tokenizer.NextToken();
     double inverseFlattening = tokenizer.GetNumericValue();
     tokenizer.NextToken();
     string authority = string.Empty;
     long authorityCode = -1L;
     if (tokenizer.GetStringValue() == ",")
     {
         tokenizer.ReadAuthority(ref authority, ref authorityCode);
         tokenizer.ReadToken("]");
     }
     return new Ellipsoid(numericValue, 0, inverseFlattening, true, LinearUnit.Metre, name, authority, authorityCode, string.Empty, string.Empty, string.Empty);
 }