Hi Kanak, As others have posted you'll get a benefit in performance of your application if you have some way to process the shapefiles into kml in advance of sending all the data to the client. Basically the way the data flow goes is this:
Sorry if I get too basic not meaning to be demeaning in any way just trying to give a clear explanation that hopefully anyone can understand. Someone goes to your website http://www.shaunhusain.com, that persons computer is considered the client machine and it sends a message to the server which is a computer owned and maintained by your hosting provider or it could be you if you have your own server you maintain. Anyways, point being that machine is considered the "middle-layer" and may point to databases either on the server itself or on other servers(or just use files stored on the server, or run independently of any data, though this last case is rare). The middle layer is just an Apache or other HTTP server or a "web application server/J2EE server" which is a big complicated way of saying it runs java applications that are persistent, that is they can stay in memory and running between requests from the client, whereas HTTP servers like apache or IIS rest in between requests. There's lots of different servers out there http://greatstatistics.com/ I personally run Apache though I'm not experienced enough with other servers to make a fair comparison http://www.apache.org. Okay too much detail, overall though request goes from the client to the server, the server at this point has a chance to do some work before sending back a reply, this work would be coded up in Java, PHP, Python, Perl, C#, or some other technology for which a server module or a server has been built... generally from what I've seen, it's one of the first two as they can be obtained pretty much free and there's large communities of users and libraries of code already in existence. This would be considered the middle-layer, this middle-layer could in turn make a request to a database, more formally most modern databases are called Relational Database Management Systems RDBMSs for short, these would be MySQL, Postgres, SQLite, MSSQL, Teradata, Informatica, etc. All of these share Structured Query Language (SQL) which is basically like a language for asking the database to fetch and aggregate certain pieces of information or to create table structure or insert/update/delete data, there are variances within each RBDMSs interpretation of SQL but for the basic problems the SQL is the same. Why does all this matter? Well if you leave converting from a Shapefile to a KML file up to the client-machine then every single persons client computer has to do the processing after they get the code from your server and if people don't have the latest and greatest hardware it may equal an unreasonable performance hit for your end users. So the other options based on how it's all working are, 1 to have the middle-layer do the processing, so when someone makes the request the server takes a small performance hit to do the conversion, the third option is to do the conversion in advance and store the results, the stored results would be considered the "back-end" in this case, generally this would be stored in a database of some sort but just storing files in some cases is good enough. Below is a tool I found by googling "shapefile to kml" without the quotes, it'a windows program that was written using visual basic that supposedly will do the conversion for you (if you run another OS just make the search more specific you'll likely find something). I think the best option is to just manually do the conversion unless you have 100s or 1000s or more of shapefiles in which case I would write some sort of script/mini application to batch the work (in this case I think Python or some other scripting language could be helpful). Then you can take the KML and use the KML parser that's already out there to have it generate the appropriate overlay. http://arcscripts.esri.com/details.asp?dbid=14273 http://gmaps-utility-library-flash.googlecode.com/svn/trunk/examples/KMLParser/bin-release/srcview/index.html Also there's prepackaged versions of Apache/PHP/MySQL that can be downloaded for any operating system the names are MAMP for Mac LAMP for linux WAMP for windows this isn't production ready, but is good enough to develop against, when you put the site live you're likely to be using a web hosting company anyhow. You can also download Tomcat to act as a container application for your web-applications if you're interested in Java. All of these servers work pretty well with Flex also, it's got some integration tools that will allow you to quickly generate forms or data-grids based off of a database definition and eliminates a ton of the "middle-layer" work filling in the PHP or Java files and creating all the hooks to use requests to the database to select or modify any table in it. Good luck, Shaun -- You received this message because you are subscribed to the Google Groups "Google Maps API For Flash" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-maps-api-for-flash/-/xU1Z1IdC49MJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-maps-api-for-flash?hl=en.
