I'm trying to build a simulator which needs to know what the terrain looks like in front of a given location.
I know that we can get elevation data from the National Elevation Dataset, but once I have it.. I'm pretty lost.
I was reading through the comments on this question, and the answers make sense, but I can't run a Postgres server for the data on Android like they can for a website that needs the same information.
I need to be able to load the elevations for points a given distance in front of my current GPS lat/long, so I need to be able to search the dataset.
Additionally, I need this to work without a data connection, so it has to all be on the phone with no network needed other than a GPS connection.
Where should I start? I'm pretty much lost =\
I guess, what I need is.... I have the elevation data in ArcGRID or GRIDFLOAT format from the USGS. Now what? I can't find good examples of working with the data.
Android has SQLite baked right in so you can use this to store your data and then search through it as required. Start here and I'm sure you'll find what you're looking for.
You can also review the "searchable dictionary" example Google has up for a good how-to on searching within a content provider.
Update: For working with the ArcGRID stuff, again, this is beyond my realm of expertise, but I did find a general Java based toolset called GeoTools that has code that works with spatial databases. You may be able to pull this code down and analyze how it's working with the other data providers and then base your design on SQLite to emulate this? There is also a tutorial on querying.
Update 2: Check out the Android Documentation on GeoTools. Some good information there as well.
Related
I spent several hours looking for simple solution and still haven't found one.
MapBox style editor uses this simple feature. That you can hover and click over map, and it shows small popup stating all terrain classes you enabled in your map.
Question, how to do it in Android version of MapBox given I have installed my style. Now I want click on any place in the map and get the same popup stating, for example, that this is building, woods, background here. Or other place would satte, that this is major road.
This IS doable as MapBox studio itself shows. i can't believe it uses some API not available for anyone, as this is one API no map provider gives, while still able correctly draw terrain. What so complex to add this API?
And NO I am not interested in address. I am interested exactly on terrain, for simple task - distinguiosh water from non-water, road from non-road, building, from non-building, don't care where it is by address, so reverse geolocation does not work. Or simpler - I need SIMPLER geolocation, than address.
Your questions kind of confusing but I'll try and help. If I'm reading correctly, you are trying to create an Android app that uses an API similar to Mapbox Studio that allows the user to select/distinguish the difference between objects on the map such as buildings, water, forest, etc.
If this is the case, then first you must understand that Mapbox Studio is using OpenStreetMap data to distinguish between objects. These objects are stored in a database with tags. It's tough to explain so i'll just leave a brief reading wiki page that might help.
To my knowledge, there isn't any API's specific to Android that will give you the kind of information you're looking for. However, if I was in your dilemma I'd take a look at the Overpass API as it's a complex query tool that allows you to send coordinates to it and it will return all the tags (such as building or water) at that location within a JSON object. From there you can parse and use the data in your app. It is very powerful so I suggest reading up on how to use it and test using a website called Overpass Turbo, that's if you decide to use it.
Nevertheless, I hope this helps and I understood your question correctly.
I have an idea for an app. There's a property website, where you enter an area code and a date and it will give you all the properties sold in that area for the specified date. I want my android app to push out information when a property is sold in the specified area. Familiar with native android development. Just wondering what I need to start looking at to retrieve the information from the websites database. I'm familiar with native android development and java.
Hello Read to http://developer.android.com/intl/es/reference/org/apache/http/package-summary.html to using Json Request to Http Php script or other..
AND Geofence to location in specifed area
regards!
Though you won't be able to just access any old websites's database, if they have an API available, then you can use that data. For example Zillow has a variety of APIs available (though I'm not sure if any one has what your looking for. Try researching property APIs.
ProgrammableWeb.com has a list of 40 Real Estate APIs
I am asking for your advice and a sanity check, please. For a couple of years I have thought about building a mobile site for my own purposes (initially) that will allow me consistent interface on the web and on a mobile phone. My initial target is Android 4 and above.
The central idea is to make notes via web interface. It is easy to
edit on a full PC. Basic formatting is necessary - bold, italic,
lists. I should have some basic editing / adding capability from the phone.
Possibly I might need to add images. This at a later stage.
I will need to use tables.
View these categorised notes on my phone when I need to access that information quickly.
Information should be searchable.
I should be able to categorise that information both hierarchically and by labels.
On the phone the last copy of the information should be available even when there is no internet access. That is the key bit of this project - clear, well structured information, easily available when needed.
So far I have done some 7 websites 6 - 9 years ago and this year I did a responsive design interface with jQuery and HTML5. I have access to Apache on a linux hosting site. I have looked into jQuery Mobile. I think jQuery mobile should be great for my front-end. From my past work with LAMP servers I think I have to have a database backend to this project. What I have looked into so far suggests that the best would be to invest some time in learning Ruby on Rails (which looks very interesting to me) and use that as a back end interface with a database. What database I should use, I don't know. I have in the past used mySQL, also programmed Access and a bit DB2. I have heard a lot of good stuff about postgres. However considering the mobile phone, I think I should go with SQLite probably? What should be the general mechanism for updating the phone from the net?
How does the above look?
Maybe there are some projects which already do something like this?
I don't think I should use some big CMS systems with their bloat and all, because I really want this thing to work for me. Same goes for generic note taking systems such as Evernote. So I am wanting to build it from the ground up, unless there is some similar lightweight project that I could build upon. I am not in a particular hurry, but I am about to get started soon.
A great type of answer for me would be one which tells what major components I should use for this project. It also would be good to know if I am overlooking some important bits.
I appreciate that what I am asking is a large question, but I am not expecting a Wikipedia in response. A sanity check and pointers in the right direction is what I need.
Thank you for your time and thoughts.
What a wall of text... 1.-7. are all achievable by using jquery mobile and HTML5 and a good database architecture as backend. I don't see any BIG problems in your idea. What database you use is up to you, your requirements are not that special, that it would require some specialized product. Any established database backend should do the job.
For updating the content on your phone take a look on HTML Offline Cache and implement an update feature in your Frontend.
I spent a long time searching and reading the Internet looking for that answer.
I'm pretty sure I found it, but in case I miss something big, I'm here to ask.
As I understood, it is simply not possible to have a two-way synchronization based on existing contact in Android (for now)
While I was looking I became familiar with the Android SDK and for example all the sync management part.
So today I'm going to ask you: DID I MISS SOMETHING?
And because I'm sure I don't: HOW DO YOU DO when you want to sync the local contact book with your service?
I really prefer something clean (as every developer want) but I can't figure it out myself.
EDIT: By two-way synchronization I meant full and real sync as user (or developer) will expect.
If any change occur on the phone the information goes to the server and if any change occur on the server it works as well. Any change includes adding/updating and deleting.
I'm aware of the ContentObserver method but the way it works with contact doesn't allow to get satisfying results. It seems that this part as been made difficult by google itself
Thanks for helping
Could someone please point me in the right direction. My project involves a database where users enter their address and other info from my website. This database is then referenced in my android application to show the locations of these addresses in my database.
I have yet to start and just came up with this idea. My question is, what would be the best method to create a database easily modified through my website (mySQL, php, etc), and also easily referenced easily through Android and the Google Maps API? I need some ideas on the languages I will need to use to create this database and website so I can go buy the necessary books to start reading up.
Thanks so much
I believe the best way for you to go with this one is:
a database cache on the device
that means you can use XML if you don't have many complicated requirements from storing the address
or SQLite if you want to be able to query the database and do more fancy things
on the server side
if you only need to get the data from your server on the device, then a simple XML with a unique address per user should do it
if you need to push addresses from your device to the server then a REST system needs to be implemented
So, now you just need to figure out exactly what you need from your system and then start googleing on one of the solutions I gave you! Good luck! :)
Google App Engine would probably work for that. GAE supports Java and Python. Maybe use the Restlet framework (compatible with GAE) to implement a REST architecture.