Introduction:
Panoramio is an application that enables digital photographers to geo-locate, store and organize their photographs–and to view those photographs in Google Earth and Google Maps. This application where users can upload and geo-locate photos of the world, explore the world through other people's photos, and join a community of other photography enthusiasts. Geo-positioned photos uploaded in Panoramio may be displayed in a Panoramio Group, Google Earth and Google Maps and other sites using the Panoramio API. Panoramio is different from other photo sharing sites because the photos illustrate places. As you browse Panoramio, notice that there aren't many photos of friends and family posing in front of places, or photos of interesting surfaces-- Panoramio's all about seeing the world. You can jump from one photo to the closest one, walking virtually around the place or watching the place from many different perspectives.
Existing System:
Today there are many applications and web portals for using maps, one such example is ovi maps. Similarly there are portals to search pictures of interesting places and applications that uses radar to trace routes. But in applications or portals for maps, we can only view and explore the map. In applications or portals of image searching, additional information on location and option to share the information may not be given and in application like radar we can just trace route. But it would be convenient to the common man if all these features come in one single application or portal.
Proposed System:
Panoramio extended in order to view a map along with geo-tagging. It would be very convenient if the common man gets the information of all the interesting places at various locations on single portal with pictures and location information. If anyone wants to know about the interesting places at various locations and wants to visit those places then they can get that information through Panoramio.
These are the following features:
• It displays a custom map.
• Displays a list or thumbnails of pictures of the most popular places within the search location.
• Displays the information related to the selected picture.
• Allows information sharing and bookmarking options.
• Allows to view on web
• Can also be used as a radar if the device supports GPS.
Modules
Map Module:
The application starts by showing the Google map. As the application starts it shows the world map. On the map graphical user interfaces like zoom buttons are displayed. The user can pan and zoom this map and select a search area. This can be done as follows: the user can pan the map into the direction of the required ord desired location and then when the desired location is on the center of the screen then zoom option can be used to get a detailed view of the map. Panning and zooming is done until the desired location is obtained. After the desired location has been found, it is dragged to the center of the screen and then “Search Panoramio” is button is clicked to view thumbnails of photos of the popular places taken in that area. Thus, in this module the user can view a map, explore and search places. The google map which is used in the application by adding google API in our eclipse which is the integrated development environment used in the development of panoramio. Then the map API key(MD5 Fingerprint) is to be added to the application code to deploy it. This can be done by submitting the keystore value in the following link http://code.google.com/android/maps-apisignup.html. now when the application successfully runs and on opening shows the map. To this zoom buttons are added to the map using the widgets. Thus, in this module the user can view a map, explore and search places.
Search Module:
When the “Search Panoramio” button is clicked the application starts downloading thumbnails of the most popular photos taken within the selected area. After panning and zooming the map until the desired location and is dragged to the center of the screen “Search Panoramio’ button is clicked and in a new thread an image list is displayed. The user can select any picture of interest and the pic gets displayed in a separate thread with the author’s information. From here when menu is selected four options are shown: Radar, Map, AuthorInfo, View on web. The user can select the “Radar” to trace the route, “Map” to view the location of the photo in the map and “View on web” to navigate to the panoramio site. If the user doesn’t use this menu and rather clicks on the selected image, then, again in a new thread an enlarged view of the selected image is.
From here when menu is clicked the user gets the options to:
• Add bookmark
• Find on page
• Select text
• Page Info
• Share page
• Download
• Settings
Thus, in this module the user views the image lists, that is, thumbnails, selects desired image, views image’s information and then bookmarks and shares their favourite image.
Radar Module:
The radar view can be selected once the user selects a picture from the image list. After selecting the picture the application shows the enlarged view of the picture with some additional information. From here when menu is clicked out of three other options, a radar option is found. If radar is selected then the application shows a radar view. But this is possible only if the device on which the application runs supports GPS and radar is installed. Otherwise “NO_RADAR” message is displayed. If the radar is installed and the device on which the application runs supports GPS then the application opens a radar view. In this the latitude values and longitude values are displayed. The gps locates the users current location and then finds and shows the route to selected picture’s location in the real world. Thus in this module the route from the users current location to the selected image’s location in the real world is displayed in radar view along with the location’s latitude and longitude value.
Author Info:
AuthorInfo shows the information about the author of a particular photo or image. After an image is selected from the image list another thread opens with the image enlarged and with additional information. From here when menu is clicked along with three other options, a authorInfo button is displayed. When clicked on this the application navigates to the panoramio site and displays a list of other photos taken by the author and also the number of views for each photo. Other than displaying other photo’s taken by the author, the author’s profile is also displayed with the author’s profile pic, message, status, tags, groups and favorite photographs. From here the user has the options to send a private message to the author or add the photo as a favorite photo. Thus, in this module the user navigates to the author’s profile in the panoramio site to view detailed information of the author of a particular image.
Web Module:
Web module allows the user to view the panoramio site. The user can navigate to the site by clicking the “view on web” button. A new thread opens showing the panoramio site. The user can view all photos in the panoramio site, view profiles of different authors/users, add a pic as favorite, share the pic with any other person, bookmark the page etc. the user can upload their photo from their gallery. Thus, this module allows the user to use the panoramio site and allows them to do all the same things that they do in the application but, the difference is that here they are in an online mode and do all the operations directly through the site.
Q1. Design Use Case Diagram. [5 marks]
Q2. Design Component Diagram. [5 marks]
Q3. Design Class Diagram. [10 marks]
Q4. What architecture model will be used to develop such a system. Explain in your own words. [5 marks]
In: Advanced Math
PREVIOUS CODE:
InventroryItems
class InventoryItem implements Cloneable{
// instance variables
protected String description;
protected double price;
protected int howMany;
// constructor
public InventoryItem(String description, double price, int howMany) {
this.description = description;
this.price = price;
this.howMany = howMany;
}
// copy constructor
public InventoryItem(InventoryItem obj) {
this.description = obj.description;
this.price = obj.price;
howMany = 1;
}
// clone method
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
// toString method
@Override
public String toString() {
return description + " ($" + price + ")";
}
// equals method
@Override
public boolean equals(Object obj) {
InventoryItem other = (InventoryItem) obj;
if (description.equals(other.description) && price == other.price)
return true;
return false;
}
// view method
public void view() {
System.out.println("Viewing: " + description);
}
}
Book
class Book extends InventoryItem {
private String author;
public Book(String description, double price, int howMany, String author) {
super(description, price, howMany);
this.author = author;
}
public Book(Book obj) {
// super(new InventoryItem(obj.description, obj.price, obj.howMany));
super(obj);
this.author = obj.author;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public String toString() {
return "Book: " + description + " by " + author + " ($" + price + ")";
}
@Override
public void view() {
System.out.println("Openeing Book: " + description);
}
@Override
public boolean equals(Object obj) {
Book other = (Book) obj;
if (super.equals(obj) && author.equals(other.author))
return true;
return false;
}
}
MusicCD
class MusicCD extends InventoryItem{
private String performer;
public MusicCD(String description, double price, int howMany, String performer) {
super(description, price, howMany);
this.performer = performer;
}
public MusicCD(MusicCD obj) {
super(obj);
this.performer = obj.performer;
}
@Override
public String toString() {
return "CD: "+performer+": "+super.toString();
}
@Override
public void view() {
System.out.println("Now Playing Sample: "+description);
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public boolean equals(Object obj) {
MusicCD other = (MusicCD) obj;
if(super.equals(obj) && performer.equals(other.performer))
return true;
return false;
}
}
Test
public class Test{
public static void main(String[] args) throws CloneNotSupportedException {
//testing the classes
InventoryItem book1 = new Book("Somthing Nice", 2.56, 5, "John Wick");
InventoryItem book2 = (InventoryItem) book1.clone();
InventoryItem book3 = new Book((Book)book2);
InventoryItem cd1 = new MusicCD("Classic Hits", 3.26, 6, "Elvis Presley");
InventoryItem cd2 = (InventoryItem) cd1.clone();
InventoryItem cd3 = new MusicCD((MusicCD)cd2);
System.out.println("book2.equals(book3)? "+book2.equals(book3));
System.out.println("cd1.equals(cd3)? "+cd1.equals(cd3));
}
}
JAVA programming- please respond to all prompts as apart of one java project. All information has been provided.
Part C
Create two more classes, TextBook and Novel, which inherit from Book. A TextBook has a String subject, and a Novel has a String genre.
Override equals in both these classes. A TextBook can be equal to another TextBook with the same price, description, author, and subject, or to a Novel if the price, description, and author are the same and the genre of the Novel is the same as the subject of the textbook. The same goes for the Novel class.
Part D
Create a class ItemStorage which contains an array of inventory items as an instance variable. It should start out empty but with room for at least 10 items. Keep an instance variable like firstEmptyInstance which holds the number of the first empty location in the array (these should NOT be accessible directly from outside classes, but you may find it easier to use protected for the sake of your subclasses).
Add a method add(newitem) to add InventoryItems to the list. If the item it is adding is equal (think about this) to an item already in the list, instead of taking up another spot in the array, increase the howmany number for the item already there (so if the one in the array has 3 and the one I am adding has 2, we end up with 5), otherwise add it to the array in the first empty spot as usual. If we have added successfully, return true. If the item is new to the list and the array is full, return false.
The toString method should return a String that lists all the items that are in the list, numbered from 1, including how many of each there are.
Add a method viewAll that calls view for each of the items in the list.
Create a class Cart which inherits from ItemStorage
Add a method totalPrice which should return the current total price of all elements in the cart, taking in to account how many of each there are (so if there is an item with price $3 and there are 4 of them, they add $12 to the total price.
The toString should look like the one for ItemStorage, but add a total price at the bottom.
Create a Class Warehouse which inherits from ItemStorage.
Add a method buy(int index) (Assume a human started counting at 1, and adjust accordingly.)
[Do not remove items by looping through and moving everything else up, so that ABCDE with C removed becomes ABDE, notice how much more inefficient this is. It is only worth doing in an array if we care about the order.]
Part E
In a main, create a Warehouse and fill it with various Books, MusicCD's, and other items for sale. Make sure there are multiples of some items in the warehouse. (Make items up in your code, don't read them in from a user). Also create a Cart.
In a loop, repeatedly show the Warehouse and ask the user whether to 1) buy a new item, 2) view cart, 3) preview items 4) check out. If they choose to buy a new item, ask for the number of the item, buy that item from the warehouse, and add the chosen item to the cart. If they choose to view cart, print the cart. If they choose to preview items, use viewAll() from the Cart class to view all items in the cart. If they choose to check out, show the total cost again and make them confirm that they want to buy and if they do, print a message saying their credit card was charged, if not just say goodbye, then end the program.
(hint: The main class shouldn't even need to be aware that there are arrays in the Cart and Warehouse classes. Classes other than main shouldn't talk to the user for this program. As always, you may add extra methods to any class to help you break down tasks or to make coding easier. )
In: Computer Science
Create financial statements (FS) from the Adjusted Trial Balance (ATB)
1. Verbally name the FS’s created from the ATB
2. Verbally explain how the each FS’s are created from the ATB
3. For each of the FS’s,
a. Verbally list the major sections
b. Verbally name the accounts in each section
In: Accounting
A. State three functions of the bacterial cytoskeleton.
B. Name and state the function of three organelles that are unique to bacteria. Now name three organelles unique to eukaryotic cells.
C. Describe the special organization of organelles and cytoskeleton that is only found in eukaryotic cells. How does this special organization affect eukaryotic cell physiology?
In: Biology
1. How would you effectively limit the use of social media? Name 4 effective ways.
2. Name four important ways social media may be used.
3. List four dangers of using social media.
4. What is your own comfort level with computers and social media?
In: Nursing
In: Computer Science
DBMS Create/Insert/Update SQL
I need the create, insert, and update SQL statement for this table:
| Customer | ||
| PK | Customer ID | Text |
| Phone Number | int | |
| name | text | |
| address ID | int | |
| text | ||
| FK | vendor ID | int |
Vendor is the name of the table the FK comes from.
In: Computer Science
Language Python
with functions and one main function
Write a program that converts a color image to grayscale. The user supplies the name of a file containing a GIF or PPM image, and the program loads the image and displays the file. At the click of the mouse, the program converts the image to grayscale. The user is then prompted for a file name to store the grayscale image in.
In: Computer Science
create a document in microsoft word or excel document which has the following:
Fictitious names and addresses of 10 folks including name, address and phone number. Recreate the bike table, which includes bike name, part number and hourly rate
Please limit your submission to no more than 2 pages.
In: Economics
draw vsepr and valence bond picture for C2H2? label the bonds. for each sigma bond name the two orbitals that overlap to form it? for each pi bond name the two orbitals that overlap to form it. why are to pi ponds perpindicular to each other. why are quadruple bonds unlikely? Please label thank you.
In: Chemistry