use of com.google.cloud.vision.v1p4beta1.Image in project hortonmachine by TheHortonMachine.
the class GeopaparazziController method loadProjectData.
/**
* Extract data from the db and add them to the map view.
*
* @param projectTemplate
* @return
* @throws Exception
*/
public void loadProjectData(ProjectInfo currentSelectedProject, boolean zoomTo) throws Exception {
if (geopapDataLayer != null)
geopapDataLayer.removeAllRenderables();
Envelope bounds = new Envelope();
File dbFile = currentSelectedProject.databaseFile;
try (Connection connection = DriverManager.getConnection("jdbc:sqlite:" + dbFile.getAbsolutePath())) {
// NOTES
List<String[]> noteDataList = GeopaparazziUtilities.getNotesText(connection);
StringBuilder sb = new StringBuilder();
sb.append("\n\n// GP NOTES\n");
int index = 0;
PointPlacemarkAttributes notesAttributes = new PointPlacemarkAttributes();
// notesAttributes.setLabelMaterial(mFillMaterial);
// notesAttributes.setLineMaterial(mFillMaterial);
// notesAttributes.setUsePointAsDefaultImage(true);
notesAttributes.setImage(ImageCache.getInstance().getBufferedImage(ImageCache.NOTE));
notesAttributes.setLabelMaterial(new Material(Color.BLACK));
// notesAttributes.setScale(mMarkerSize);
for (String[] noteData : noteDataList) {
// [lon, lat, altim, dateTimeString, text, descr]
double lon = Double.parseDouble(noteData[0]);
double lat = Double.parseDouble(noteData[1]);
String altim = noteData[2];
String date = noteData[3];
String text = noteData[4];
String descr = noteData[5];
PointPlacemark marker = new PointPlacemark(Position.fromDegrees(lat, lon, 0));
marker.setAltitudeMode(WorldWind.CLAMP_TO_GROUND);
marker.setLabelText(text + " (" + date + ")");
marker.setAttributes(notesAttributes);
if (geopapDataLayer != null)
geopapDataLayer.addRenderable(marker);
bounds.expandToInclude(lon, lat);
}
/*
* IMAGES
*/
PointPlacemarkAttributes imageAttributes = new PointPlacemarkAttributes();
imageAttributes.setImage(ImageCache.getInstance().getBufferedImage(ImageCache.DBIMAGE));
imageAttributes.setLabelMaterial(new Material(Color.GRAY));
for (org.hortonmachine.gears.io.geopaparazzi.geopap4.Image image : currentSelectedProject.images) {
double lon = image.getLon();
double lat = image.getLat();
PointPlacemark marker = new PointPlacemark(Position.fromDegrees(lat, lon, 0));
marker.setAltitudeMode(WorldWind.CLAMP_TO_GROUND);
marker.setLabelText(image.getName());
marker.setAttributes(imageAttributes);
if (geopapDataLayer != null)
geopapDataLayer.addRenderable(marker);
bounds.expandToInclude(lon, lat);
}
try (Statement statement = connection.createStatement()) {
// set timeout to 30 sec.
statement.setQueryTimeout(30);
String sql = //
"select " + GpsLogsTableFields.COLUMN_ID.getFieldName() + //
"," + GpsLogsTableFields.COLUMN_LOG_STARTTS.getFieldName() + //
"," + GpsLogsTableFields.COLUMN_LOG_ENDTS.getFieldName() + //
"," + //
GpsLogsTableFields.COLUMN_LOG_TEXT.getFieldName() + " from " + //
TABLE_GPSLOGS;
boolean useGpsElev = _useGpsElevationsCheckbox.isSelected();
int altitudeMode = WorldWind.CLAMP_TO_GROUND;
if (useGpsElev) {
altitudeMode = WorldWind.ABSOLUTE;
}
// first get the logs
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
long id = rs.getLong(1);
long startDateTime = rs.getLong(2);
String startDateTimeString = ETimeUtilities.INSTANCE.TIME_FORMATTER_LOCAL.format(new Date(startDateTime));
long endDateTime = rs.getLong(3);
String endDateTimeString = ETimeUtilities.INSTANCE.TIME_FORMATTER_LOCAL.format(new Date(endDateTime));
String text = rs.getString(4);
// points
String query = //
"select " + GpsLogsDataTableFields.COLUMN_DATA_LAT.getFieldName() + "," + GpsLogsDataTableFields.COLUMN_DATA_LON.getFieldName() + "," + GpsLogsDataTableFields.COLUMN_DATA_ALTIM.getFieldName() + "," + //
GpsLogsDataTableFields.COLUMN_DATA_TS.getFieldName() + " from " + TABLE_GPSLOG_DATA + //
" where " + GpsLogsDataTableFields.COLUMN_LOGID.getFieldName() + " = " + id + " order by " + GpsLogsDataTableFields.COLUMN_DATA_TS.getFieldName();
List<Position> verticesList = new ArrayList<>();
try (Statement newStatement = connection.createStatement()) {
newStatement.setQueryTimeout(30);
ResultSet result = newStatement.executeQuery(query);
while (result.next()) {
double lat = result.getDouble(1);
double lon = result.getDouble(2);
double elev = 0.0;
if (useGpsElev)
elev = result.getDouble(3);
Position pos = Position.fromDegrees(lat, lon, elev);
verticesList.add(pos);
bounds.expandToInclude(lon, lat);
}
}
// color
String colorQuery = //
"select " + GpsLogsPropertiesTableFields.COLUMN_PROPERTIES_COLOR.getFieldName() + "," + GpsLogsPropertiesTableFields.COLUMN_PROPERTIES_WIDTH.getFieldName() + " from " + TABLE_GPSLOG_PROPERTIES + //
" where " + GpsLogsPropertiesTableFields.COLUMN_LOGID.getFieldName() + " = " + id;
String colorStr = RED_HEXA;
int lineWidth = 3;
try (Statement newStatement = connection.createStatement()) {
newStatement.setQueryTimeout(30);
ResultSet result = newStatement.executeQuery(colorQuery);
if (result.next()) {
colorStr = result.getString(1);
lineWidth = result.getInt(2);
if (colorStr.equalsIgnoreCase("red")) {
colorStr = RED_HEXA;
}
}
if (colorStr == null || colorStr.length() == 0) {
colorStr = RED_HEXA;
}
}
Color color = Color.RED;
try {
color = Color.decode(colorStr);
} catch (Exception e) {
// ignore Logger.INSTANCE.insertError("","Could not convert color: " +
// colorStr, e);
}
BasicShapeAttributes lineAttributes = new BasicShapeAttributes();
lineAttributes.setOutlineMaterial(new Material(color));
lineAttributes.setOutlineWidth(lineWidth);
Path path = new Path(verticesList);
path.setAltitudeMode(altitudeMode);
path.setFollowTerrain(true);
path.setAttributes(lineAttributes);
if (geopapDataLayer != null)
geopapDataLayer.addRenderable(path);
}
}
}
if (zoomTo) {
bounds.expandBy(0.001);
Sector sector = NwwUtilities.envelope2Sector(new ReferencedEnvelope(bounds, NwwUtilities.GPS_CRS));
if (wwjPanel != null)
wwjPanel.goTo(sector, false);
}
currentLoadedProject = currentSelectedProject;
}
use of com.google.cloud.vision.v1p4beta1.Image in project hortonmachine by TheHortonMachine.
the class GeopaparazziController method getProjectForImage.
private ProjectInfo getProjectForImage(Image currentSelectedImage) {
boolean doBreak = false;
ProjectInfo selectedProject = null;
for (ProjectInfo projectInfo : projectInfos) {
for (org.hortonmachine.gears.io.geopaparazzi.geopap4.Image tmpImage : projectInfo.images) {
if (tmpImage.equals(currentSelectedImage)) {
selectedProject = projectInfo;
doBreak = true;
break;
}
}
if (doBreak) {
break;
}
}
return selectedProject;
}
use of com.google.cloud.vision.v1p4beta1.Image in project ovirt-engine by oVirt.
the class OpenStackImageProviderProxy method getImageAsDiskImage.
public DiskImage getImageAsDiskImage(String id) {
DiskImage diskImage = new DiskImage();
Image glanceImage;
try {
glanceImage = getClient().images().show(id).execute();
} catch (OpenStackResponseException e) {
log.debug("Exception:", e);
throw new OpenStackImageException(OpenStackImageException.ErrorType.IMAGE_NOT_FOUND, "Cannot find the specified image.");
} catch (RuntimeException rte) {
log.error("Exception:", rte);
throw new RuntimeException("Failed to import from the repository.");
}
validateContainerFormat(glanceImage);
String shortHash = glanceImage.getId().substring(0, 7);
if (glanceImage.getName() != null) {
diskImage.setDiskDescription(glanceImage.getName() + " (" + shortHash + ")");
} else {
diskImage.setDiskDescription("Glance disk: " + shortHash);
}
setDiskAttributes(diskImage, glanceImage);
if (glanceImage.getDiskFormat().equals(GlanceImageFormat.RAW.getValue())) {
diskImage.setVolumeFormat(VolumeFormat.RAW);
} else if (glanceImage.getDiskFormat().equals(GlanceImageFormat.COW.getValue())) {
diskImage.setVolumeFormat(VolumeFormat.COW);
} else {
throw new OpenStackImageException(OpenStackImageException.ErrorType.UNSUPPORTED_DISK_FORMAT, "Unknown disk format: " + glanceImage.getDiskFormat());
}
return diskImage;
}
use of com.google.cloud.vision.v1p4beta1.Image in project openj9 by eclipse-openj9.
the class XMLIndexReader method _createCoreImageAfterParseError.
/**
* This is like the setJ9DumpData method but is to be used when we fail to parse the file. It is meant to try to construct the
* Image object with what it was able to get
*
* @param e The cause of the error
*/
private void _createCoreImageAfterParseError(Exception e) {
Builder builder = null;
if (_stream == null) {
// extract directly from the file
builder = new Builder(_coreFile, _reader, 0, _fileResolvingAgent);
} else {
// extract using the data stream
builder = new Builder(_coreFile, _stream, 0, _fileResolvingAgent);
}
_coreFile.extract(builder);
String osType = builder.getOSType();
String cpuType = builder.getCPUType();
String cpuSubType = builder.getCPUSubType();
long creationTime = builder.getCreationTime();
_coreImage = new Image(osType, null, cpuType, cpuSubType, 0, 0, creationTime);
Iterator spaces = builder.getAddressSpaces();
while (spaces.hasNext()) {
ImageAddressSpace addressSpace = (ImageAddressSpace) spaces.next();
// Set all processes as having invalid runtimes
for (Iterator processes = addressSpace.getProcesses(); processes.hasNext(); ) {
ImageProcess process = (ImageProcess) processes.next();
process.runtimeExtractionFailed(e);
}
_coreImage.addAddressSpace(addressSpace);
}
}
use of com.google.cloud.vision.v1p4beta1.Image in project aem-core-wcm-components by adobe.
the class ImageIT method setupBeforeEach.
@BeforeEach
public void setupBeforeEach() throws ClientException {
imageTests = new ImageTests();
imageTests.setup(adminClient, contextPath, label, Commons.RT_IMAGE_V2, rootPage, defaultPageTemplate, clientlibs, new Image());
}
Aggregations