public JsonResult Header() { HeaderT sendData = new HeaderT(); sendData.UserName = System.Web.HttpContext.Current.User.Identity.Name; return(Json(sendData)); }
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); }
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)); }
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);