ParaglidingEarth API : use pgEarth data for external apps.

You can query the pgEarth database with various queries, results in XML or GeoJson formats available.

Get sites around a given point :

Get sites in a bounding box :

Get sites in a country :

Get new or recently modified sites :

XML response format :

xml structure explained here...
				<search>	<results></results>	// number of results	<takeoff>		<name></name>		<countryCode></countryCode>    	// iso 2 letters code		<takeoff_altitude></takeoff_altitude>   // AGL in meters 		<takeoff_description></takeoff_description> // text		<lat></lat>			// all lat lng values in decimal format		<lng></lng>		<paragliding>1</paragliding>  // suitable for paragliding ? 1 or 0		<hanggliding>1</hanggliding>  // suitable for hangglidong ? 1 or 0 		// below are the different types of flying 		<hike></hike>				// 1 or 0		<thermals></thermals>		<soaring></soaring>		<xc></xc>		<flatland></flatland>		<winch></winch>		<pge_site_id></pge_site_id>   // site uid on pgearth 		<pge_link></pge_link>		  // url of the site page		<last_edit></last_edit>       // format yyyy-mm-dd		<orientations>		// the site wind orientations : 0: not suitable, 1: possible, 2: good			<N></N>			<NE></NE>			<E></E>			<SE></SE>			<S></S>			<SW></SW>			<W></W>			<NW></NW>		</orientations>				// all fields below are only available if the parameter 'style' is set to 'detailled'				<flight_rules></flight_rules> // text field		<going_there></going_there>   // text field		<comments></comments>	      // text field		<weather></weather>           // text field		<takeoff_parking>   // one parking per takeoff			<takeoff_parking_lat></takeoff_parking_lat>			<takeoff_parking_lng></takeoff_parking_lng>			<takeoff_parking_description><takeoff_parking_description/>  // text field		</takeoff_parking>		<alternate_takeoffs>			<alternate_takeoff>     // there can be several alternate takeoffs...				<name></name>				<lat></lat>				<lng></lng>				<description</description>			</alternate_takeoff>			<alternate_takeoff>    // eventually another one...				<name></name>				<lat></lat>				<lng></lng>				<description></description>			</alternate_takeoff>		</alternate_takeoffs>	</takeoff>		<landing>           // the main site landing		<site></site>   // text field : the site name this landing belongs to 		<landing_name></landing_name>		<landing_countryCode></landing_countryCode>		<landing_lat></landing_lat>		<landing_lng></landing_lng>		<landing_altitude></landing_altitude>		<landing_description></landing_description>		<landing_pge_site_id></landing_pge_site_id>    // integer : the id of the site this landing belongs to 		<landing_parking>			<landing_parking_lat></landing_parking_lat>			<landing_parking_lng></landing_parking_lng>			<landing_parking_description></landing_parking_description>		</landing_parking>		<alternate_landings>      // can possibly be several alternate landings...			<alternate_landing>				<name></name></name>				<lat></lat>				<lng></lng>				<description></description>			</alternate_landing>			<alternate_landing>				<name></name>				<lat></lat>				<lng></lng>				<description></description>			</alternate_landing>		</alternate_landings>	</landing></search>					
Live example : 1 site returned, without details
Live example : 1 site returned, with details

geoJson response format :

todo : geoJson structure explained here...

structure is quite self-explanatory... hope you'll manage to deal with it by yourself for the moment.