private void LoadLinearFeatures() { cdbDatabase = fpsCDB.GetCDBDatabase(); #if UNITY_ANDROID string filepath = UnityEngine.Application.persistentDataPath; #else string filepath = cdbDatabase.Path; #endif cdbDatabase = fpsCDB.GetCDBDatabase(); string databaseName = cdbDatabase.name; databaseName = databaseName.Replace('.', '_'); var feats = Cognitics.CDB.Shapefile.ReadFeatures(filepath + "/" + databaseName + "Line.shp"); if (linePoints.Count != 0) { linePoints.Clear(); } foreach (Feature f in feats) { GeoAPI.Geometries.Coordinate[] coords = f.Geometry.Coordinates; foreach (GeoAPI.Geometries.Coordinate c in coords) { var geoCoords = new Cognitics.CoordinateSystems.GeographicCoordinates(); geoCoords.Longitude = c.X; geoCoords.Latitude = c.Y; var cartCoords = geoCoords.TransformedWith(cdbDatabase.Projection); linePoints.Add(new Vector3((float)cartCoords.X, (float)c.Z, (float)cartCoords.Y)); } LineObject lo = lineObject.GetComponent <LineObject>(); lo.title.GetComponent <TMP_InputField>().text = f.Attributes["Title"].ToString(); lo.description.GetComponent <TMP_InputField>().text = f.Attributes["Description"].ToString(); lo.SetLineText(); lineScript.DrawLine(ref lineObject); } }