public JsonResult Header()
        {
            HeaderT sendData = new HeaderT();

            sendData.UserName = System.Web.HttpContext.Current.User.Identity.Name;
            return(Json(sendData));
        }
Exemplo n.º 2
0
            public void Setup()
            {
                sequenceFactory = new FlatGeobufCoordinateSequenceFactory();
                factory         = new GeometryFactory();
                if (Sequence == "Raw")
                {
                    var ordinateGroups = new[] { Ordinates.XY };
                    NtsGeometryServices.Instance = new NtsGeometryServices(new RawCoordinateSequenceFactory(ordinateGroups), new PrecisionModel(), 0);
                }
                else if (Sequence == "DotSpatial")
                {
                    NtsGeometryServices.Instance = new NtsGeometryServices(new DotSpatialAffineCoordinateSequenceFactory(Ordinates.XY), new PrecisionModel(), 0);
                }
                else if (Sequence == "FlatGeobuf")
                {
                    NtsGeometryServices.Instance = new NtsGeometryServices(new FlatGeobufCoordinateSequenceFactory(), new PrecisionModel(), 0);
                }
                var  geometryType = GeometryType.LineString;
                byte dimensions   = 2;
                var  headerBuffer = FeatureCollectionConversions.BuildHeader(1, geometryType, dimensions, null, null);

                headerBuffer.Position += 4;
                header = Header.GetRootAsHeader(headerBuffer).UnPack();
                var geometry = MakeLineString(Vertices);

                feature         = new NetTopologySuite.Features.Feature(geometry, null);
                bytes           = FeatureConversions.ToByteBuffer(feature, header);
                bytes.Position += 4;
                feature         = FeatureConversions.FromByteBuffer(factory, sequenceFactory, bytes, header);
            }
Exemplo n.º 3
0
 private void _read()
 {
     _fileHeader = new HeaderT(m_io, this, m_root);
     _packets    = new List <PacketT>();
     {
         var i = 0;
         while (!m_io.IsEof)
         {
             _packets.Add(new PacketT(m_io, this, m_root));
             i++;
         }
     }
 }
        public CoordinateSequence Create(HeaderT header, ref Geometry geometry, int end = 0)
        {
            var xy     = geometry.GetXyArray();
            var offset = end > 0 ? (int)geometry.Ends(end - 1) : 0;
            var count  = geometry.EndsLength > 0 ? (int)geometry.Ends(end) - offset : xy.Length / 2;

            double[] z = null;
            double[] m = null;
            if (header.HasZ)
            {
                z = geometry.GetZArray();
            }
            if (header.HasM)
            {
                m = geometry.GetMArray();
            }
            return(new FlatGeobufCoordinateSequence(xy, z, m, count, offset));
        }
Exemplo n.º 5
0
        public static ByteBuffer ToByteBuffer(IFeature feature, HeaderT header)
        {
            var          builder = new FlatBufferBuilder(1024);
            GeometryType geometryType;

            if (header.GeometryType != GeometryType.Unknown)
            {
                geometryType = header.GeometryType;
            }
            else
            {
                geometryType = GeometryConversions.ToGeometryType(feature.Geometry);
            }
            var go           = GeometryConversions.BuildGeometry(builder, feature.Geometry, geometryType, header);
            var memoryStream = new MemoryStream();

            if (feature.Attributes != null && feature.Attributes.Count > 0 && header.Columns.Count > 0)
            {
                var writer = new BinaryWriter(memoryStream, Encoding.UTF8);
                for (ushort i = 0; i < header.Columns.Count; i++)
                {
                    var column = header.Columns[i];
                    var type   = column.Type;
                    var name   = column.Name;
                    if (!feature.Attributes.Exists(name))
                    {
                        continue;
                    }
                    var value = feature.Attributes[name];
                    if (value is null)
                    {
                        continue;
                    }
                    writer.Write(i);
                    switch (type)
                    {
                    case ColumnType.Bool:
                        writer.Write((bool)value);
                        break;

                    case ColumnType.Int:
                        writer.Write((int)value);
                        break;

                    case ColumnType.Long:
                        writer.Write((long)value);
                        break;

                    case ColumnType.Double:
                        writer.Write((double)value);
                        break;

                    case ColumnType.String:
                        var bytes = Encoding.UTF8.GetBytes((string)value);
                        writer.Write(bytes.Length);
                        writer.Write(bytes);
                        break;

                    default:
                        throw new ApplicationException("Unknown type " + value.GetType().FullName);
                    }
                }
            }

            var propertiesOffset = default(VectorOffset);

            if (memoryStream.Position > 0)
            {
                propertiesOffset = Feature.CreatePropertiesVectorBlock(builder, memoryStream.ToArray());
            }

            Offset <Geometry> geometryOffset;

            if (go.gos != null && go.gos.Length > 0)
            {
                var partOffsets = new Offset <Geometry> [go.gos.Length];
                for (int i = 0; i < go.gos.Length; i++)
                {
                    var goPart     = go.gos[i];
                    var partOffset = Geometry.CreateGeometry(builder, goPart.endsOffset, goPart.xyOffset, goPart.zOffset, goPart.mOffset, default, default, go.Type, default);