public PictureDTO(GSPicture picture) { filterResults = new List <FilterResultDTO>(); // this.imageID = picture.ID; this.panoID = picture.ID; this.heading = picture.heading; this.base64image = picture.imageURI; }
public void getImagesForPoints(ICollection <StreetPointModel> points) { for (int i = 0; i < points.Count() - 1; i++) { var point = points.ElementAt(i); if (point.GSPanorama == null) { continue; } var nextPoint = points.ElementAt(i + 1); var vectorA = new Vector2D(point.lng, point.lat); var vectorB = new Vector2D(nextPoint.lng, nextPoint.lat); //if (point.GSPanorama.GSPicture != null && point.GSPanorama.GSPicture.Count > 0 && Math.Abs(point.GSPanorama.frontAngle - estimatedAngle) < 0.00000001) continue; //point.GSPanorama.frontAngle = GSMiner.OldAngleBetweenPoints(vectorA, vectorB); point.GSPanorama.frontAngle = GSMiner.AngleBetweenPoints(vectorA, vectorB); if (point.GSPanorama.GSPicture == null) { point.GSPanorama.GSPicture = new List <GSPicture>(); } var pano = point.GSPanorama.panoID; if (pano != null && pano.Length == 22) { GSQueryBuilder querybuilder = new GSQueryBuilder(pano, 640, 640, point.GSPanorama.frontAngle, point.GSPanorama.pitch, key); var picture = new GSPicture(); string finalURL = gsURL + querybuilder.getQueryPanoId(); picture.imageURI = DownloadBase64ImageFromURI(finalURL); //picture.imageURI = "Testando"; picture.heading = point.GSPanorama.frontAngle; point.GSPanorama.GSPicture.Add(picture); } } var lastPoint = points.ElementAt(points.Count - 1); if (lastPoint.GSPanorama == null) { return; } var secondToLastPoint = points.LastOrDefault(p => p.GSPanorama != null && p != lastPoint); if (secondToLastPoint == null) { return; } var lastAngle = secondToLastPoint.GSPanorama.frontAngle; if (lastPoint.GSPanorama.GSPicture == null) { lastPoint.GSPanorama.GSPicture = new List <GSPicture>(); } lastPoint.GSPanorama.frontAngle = lastAngle; var lastPano = lastPoint.GSPanorama.panoID; if (lastPano != null) { GSQueryBuilder querybuilder = new GSQueryBuilder(lastPano, 640, 640, lastPoint.GSPanorama.frontAngle, lastPoint.GSPanorama.pitch, key); var picture = new GSPicture(); string finalURL = gsURL + querybuilder.getQueryPanoId(); picture.imageURI = DownloadBase64ImageFromURI(finalURL); picture.heading = lastPoint.GSPanorama.frontAngle; lastPoint.GSPanorama.GSPicture.Add(picture); } }
public static PictureDTO initializer(GSPicture picture) { return(new PictureDTO(picture)); }