10 #include <opentrep/Travel.pb.h> 24 treppb::QueryAnswer oQueryAnswer;
27 const bool kOKStatus =
true;
28 oQueryAnswer.set_ok_status (kOKStatus);
39 treppb::PlaceList* lPlaceListPtr = oQueryAnswer.mutable_place_list();
40 assert (lPlaceListPtr != NULL);
43 for (LocationList_T::const_iterator itLocation = iLocationList.begin();
44 itLocation != iLocationList.end(); ++itLocation) {
45 const Location& lLocation = *itLocation;
48 treppb::Place* lPlacePtr = lPlaceListPtr->add_place();
49 assert (lPlacePtr != NULL);
58 treppb::UnknownKeywordList* lUnknownKeywordListPtr =
59 oQueryAnswer.mutable_unmatched_keyword_list();
60 assert (lUnknownKeywordListPtr != NULL);
63 for (WordList_T::const_iterator itWord = iNonMatchedWordList.begin();
64 itWord != iNonMatchedWordList.end(); ++itWord) {
65 const Word_T& lWord = *itWord;
66 lUnknownKeywordListPtr->add_word (lWord);
70 oQueryAnswer.SerializeToOstream (&oStream);
81 treppb::IATACode* lIataAirportPtr = ioPlace.mutable_tvl_code();
82 assert (lIataAirportPtr != NULL);
83 lIataAirportPtr->set_code (lIataCode);
87 const treppb::PlaceType& lPlaceType = lLocationType.
getTypeAsPB();
88 const treppb::PlaceType_LocationType& lPlaceTypeEnum = lPlaceType.type();
89 treppb::PlaceType* lPlaceTypePtr = ioPlace.mutable_loc_type();
90 assert (lPlaceTypePtr != NULL);
91 lPlaceTypePtr->set_type (lPlaceTypeEnum);
95 treppb::GeonamesID* lGeonamesIDPtr = ioPlace.mutable_geonames_id();
96 assert (lGeonamesIDPtr != NULL);
97 lGeonamesIDPtr->set_id (lGeonamesID);
101 treppb::ICAOCode* lIcaoCodePtr = ioPlace.mutable_icao_code();
102 assert (lIcaoCodePtr != NULL);
103 lIcaoCodePtr->set_code (lIcaoCode);
107 treppb::FAACode* lFaaCodePtr = ioPlace.mutable_faa_code();
108 assert (lFaaCodePtr != NULL);
109 lFaaCodePtr->set_code (lFaaCode);
113 treppb::UNLOCodeList* lUNLOCodeListPtr = ioPlace.mutable_unlocode_list();
114 assert (lUNLOCodeListPtr != NULL);
116 for (UNLOCodeList_T::const_iterator itUNLOCode = lUNLOCodeList.begin();
117 itUNLOCode != lUNLOCodeList.end(); ++itUNLOCode) {
119 treppb::UNLOCode* lUNLOCodePtr = lUNLOCodeListPtr->add_unlocode();
120 assert (lUNLOCodePtr != NULL);
121 lUNLOCodePtr->set_code (lUNLOCode);
126 ioPlace.set_name_utf (lUtfName);
128 ioPlace.set_name_ascii (lAsciiName);
133 treppb::FeatureType* lFeatTypePtr = ioPlace.mutable_feat_type();
134 assert (lFeatTypePtr != NULL);
135 treppb::FeatureClass* lFeatClassPtr = lFeatTypePtr->mutable_fclass();
136 assert (lFeatClassPtr != NULL);
137 treppb::FeatureCode* lFeatCodePtr = lFeatTypePtr->mutable_fcode();
138 assert (lFeatCodePtr != NULL);
139 lFeatClassPtr->set_code (lFeatClass);
140 lFeatCodePtr->set_code (lFeatCode);
145 treppb::GeoPoint* lPointPtr = ioPlace.mutable_coord();
146 assert (lPointPtr != NULL);
147 lPointPtr->set_latitude (lLatitude);
148 lPointPtr->set_longitude (lLongitude);
152 treppb::CityList* lCityListPtr = ioPlace.mutable_city_list();
153 assert (lCityListPtr != NULL);
155 for (CityDetailsList_T::const_iterator itCity = lCityList.begin();
156 itCity != lCityList.end(); ++itCity) {
158 treppb::City* lCityPtr = lCityListPtr->add_city();
159 assert (lCityPtr != NULL);
163 treppb::IATACode* lIataCodePtr = lCityPtr->mutable_code();
164 assert (lIataCodePtr != NULL);
165 lIataCodePtr->set_code (lIataCode);
169 treppb::GeonamesID* lGeonamesIDPtr = lCityPtr->mutable_geonames_id();
170 assert (lGeonamesIDPtr != NULL);
171 lGeonamesIDPtr->set_id (lGeonamesID);
175 lCityPtr->set_name_utf (lCityUtfName);
179 lCityPtr->set_name_ascii (lCityAsciiName);
184 treppb::StateCode* lStateCodePtr = ioPlace.mutable_state_code();
185 assert (lStateCodePtr != NULL);
186 lStateCodePtr->set_code (lStateCode);
190 treppb::CountryCode* lCountryCodePtr = ioPlace.mutable_country_code();
191 assert (lCountryCodePtr != NULL);
192 lCountryCodePtr->set_code (lCountryCode);
196 treppb::AltCountryCode* lAltCountryCodePtr =
197 ioPlace.mutable_alt_country_code();
198 assert (lAltCountryCodePtr != NULL);
199 lAltCountryCodePtr->set_code (lAltCountryCode);
203 ioPlace.set_country_name (lCountryName);
207 treppb::WorldAreaCode* lWorldAreaCodePtr = ioPlace.mutable_wac_code();
208 assert (lWorldAreaCodePtr != NULL);
209 lWorldAreaCodePtr->set_code (lWAC);
213 ioPlace.set_wac_name (lWACName);
217 treppb::CurrencyCode* lCurrencyCodePtr = ioPlace.mutable_currency_code();
218 assert (lCurrencyCodePtr != NULL);
219 lCurrencyCodePtr->set_code (lCurrencyCode);
223 treppb::ContinentCode* lContinentCodePtr = ioPlace.mutable_continent_code();
224 assert (lContinentCodePtr != NULL);
225 lContinentCodePtr->set_code (lContinentCode);
229 ioPlace.set_continent_name (lContinentName);
233 treppb::Admin1Code* lAdm1CodePtr = ioPlace.mutable_adm1_code();
234 assert (lAdm1CodePtr != NULL);
235 lAdm1CodePtr->set_code (lAdm1Code);
239 ioPlace.set_adm1_name_utf (lAdm1UtfName);
241 ioPlace.set_adm1_name_ascii (lAdm1AsciiName);
245 treppb::Admin2Code* lAdm2CodePtr = ioPlace.mutable_adm2_code();
246 assert (lAdm2CodePtr != NULL);
247 lAdm2CodePtr->set_code (lAdm2Code);
251 ioPlace.set_adm2_name_utf (lAdm2UtfName);
253 ioPlace.set_adm2_name_ascii (lAdm2AsciiName);
257 treppb::Admin3Code* lAdm3CodePtr = ioPlace.mutable_adm3_code();
258 assert (lAdm3CodePtr != NULL);
259 lAdm3CodePtr->set_code (lAdm3Code);
263 treppb::Admin4Code* lAdm4CodePtr = ioPlace.mutable_adm4_code();
264 assert (lAdm4CodePtr != NULL);
265 lAdm4CodePtr->set_code (lAdm4Code);
269 treppb::Population* lPopulationPtr = ioPlace.mutable_population();
270 assert (lPopulationPtr != NULL);
271 lPopulationPtr->set_value (lPopulation);
275 treppb::Elevation* lElevationPtr = ioPlace.mutable_elevation();
276 assert (lElevationPtr != NULL);
277 lElevationPtr->set_value (lElevation);
281 treppb::GTopo30* lGTopo30Ptr = ioPlace.mutable_gtopo30();
282 assert (lGTopo30Ptr != NULL);
283 lGTopo30Ptr->set_value (lGTopo30);
287 treppb::PageRank* lPageRankPtr = ioPlace.mutable_page_rank();
288 assert (lPageRankPtr != NULL);
289 lPageRankPtr->set_rank (lPageRank);
293 treppb::TimeZone* lTimeZonePtr = ioPlace.mutable_tz();
294 assert (lTimeZonePtr != NULL);
295 lTimeZonePtr->set_tz (lTimeZone);
299 treppb::TZOffSet* lGMTOffsetPtr = ioPlace.mutable_gmt_offset();
300 assert (lGMTOffsetPtr != NULL);
301 lGMTOffsetPtr->set_offset (lGMTOffset);
305 treppb::TZOffSet* lDSTOffsetPtr = ioPlace.mutable_dst_offset();
306 assert (lDSTOffsetPtr != NULL);
307 lDSTOffsetPtr->set_offset (lDSTOffset);
311 treppb::TZOffSet* lRAWOffsetPtr = ioPlace.mutable_raw_offset();
312 assert (lRAWOffsetPtr != NULL);
313 lRAWOffsetPtr->set_offset (lRAWOffset);
317 treppb::Date* lGeonameModDatePtr = ioPlace.mutable_mod_date();
318 assert (lGeonameModDatePtr != NULL);
319 lGeonameModDatePtr->set_date (boost::gregorian::to_iso_extended_string(lGeonameModDate));
323 treppb::TravelRelatedList* lTvlPORListPtr = ioPlace.mutable_tvl_por_list();
324 assert (lTvlPORListPtr != NULL);
325 lTvlPORListPtr->add_tvl_code (lTvlPORList);
329 treppb::WikiLinkList* lWikiLinkListPtr = ioPlace.mutable_link_list();
330 assert (lWikiLinkListPtr != NULL);
331 treppb::WikiLink* lWikiLinkPtr = lWikiLinkListPtr->add_link();
332 assert (lWikiLinkPtr != NULL);
333 treppb::LanguageCode* lLangCodePtr = lWikiLinkPtr->mutable_lang();
334 assert (lLangCodePtr != NULL);
335 lLangCodePtr->set_code (
"en");
336 lWikiLinkPtr->set_link (lWikiLink);
340 treppb::Date* lDateFromPtr = ioPlace.mutable_date_from();
341 assert (lDateFromPtr != NULL);
342 lDateFromPtr->set_date (boost::gregorian::to_iso_extended_string(lDateFrom));
346 treppb::Date* lDateEndPtr = ioPlace.mutable_date_end();
347 assert (lDateEndPtr != NULL);
348 lDateEndPtr->set_date (boost::gregorian::to_iso_extended_string(lDateEnd));
352 treppb::Comment* lCommentPtr = ioPlace.mutable_comment();
353 assert (lCommentPtr != NULL);
354 lCommentPtr->set_text (lComment);
358 treppb::AltNameList* lAltNameListPtr = ioPlace.mutable_alt_name_list();
359 assert (lAltNameListPtr != NULL);
362 for (NameMatrix_T::const_iterator itNameList = lNameMatrix.begin();
363 itNameList != lNameMatrix.end(); ++itNameList) {
364 const Names& lNameListRef = itNameList->second;
367 for (NameList_T::const_iterator itName = lNameList.begin();
368 itName != lNameList.end(); ++itName) {
369 const std::string& lName = *itName;
371 treppb::AltName* lAltNamePtr = lAltNameListPtr->add_name();
372 assert (lAltNamePtr != NULL);
374 treppb::LanguageCode* lLangCodePtr = lAltNamePtr->mutable_lang();
375 assert (lLangCodePtr != NULL);
376 lLangCodePtr->set_code (lLangCode);
377 lAltNamePtr->set_name (lName);
383 treppb::MatchingPercentage* lPercentagePtr =
384 ioPlace.mutable_matching_percentage();
385 assert (lPercentagePtr != NULL);
386 lPercentagePtr->set_percentage (lPercentage);
394 treppb::KeywordList* lOriginalKeywordListPtr =
395 ioPlace.mutable_original_keyword_list();
396 assert (lOriginalKeywordListPtr != NULL);
397 lOriginalKeywordListPtr->add_word (lOriginalKeywords);
405 treppb::KeywordList* lCorrectedKeywordListPtr =
406 ioPlace.mutable_corrected_keyword_list();
407 assert (lCorrectedKeywordListPtr != NULL);
408 lCorrectedKeywordListPtr->add_word (lCorrectedKeywords);
412 treppb::EditDistance* lEditDistanceActualPtr =
413 ioPlace.mutable_edit_distance_actual();
414 assert (lEditDistanceActualPtr != NULL);
415 lEditDistanceActualPtr->set_dist (lEditDistanceActual);
420 treppb::EditDistance* lEditDistanceAllowablePtr =
421 ioPlace.mutable_edit_distance_actual();
422 assert (lEditDistanceAllowablePtr != NULL);
423 lEditDistanceAllowablePtr->set_dist (lEditDistanceAllowable);
427 treppb::PlaceList* lExtraPlaceListPtr = ioPlace.mutable_extra_place_list();
428 assert (lExtraPlaceListPtr != NULL);
429 for (LocationList_T::const_iterator itLoc = lExtraLocationList.begin();
430 itLoc != lExtraLocationList.end(); ++itLoc) {
431 const Location& lExtraLocation = *itLoc;
433 treppb::Place* lPlacePtr = lExtraPlaceListPtr->add_place();
434 assert (lPlacePtr != NULL);
441 treppb::PlaceList* lAltPlaceListPtr = ioPlace.mutable_alt_place_list();
442 assert (lAltPlaceListPtr != NULL);
443 for (LocationList_T::const_iterator itLoc = lAltLocationList.begin();
444 itLoc != lAltLocationList.end(); ++itLoc) {
445 const Location& lAlternateLocation = *itLoc;
447 treppb::Place* lPlacePtr = lAltPlaceListPtr->add_place();
448 assert (lPlacePtr != NULL);
static void exportLocation(treppb::Place &, const Location &)
Class modelling the primary key of a location/POR (point of reference).
const Date_T & getDateEnd() const
Class modelling the elementary details of a city.
std::list< UNLOCode_T > UNLOCodeList_T
unsigned int GeonamesID_T
const ContinentName_T & getContinentName() const
const Date_T & getModificationDate() const
Structure modelling a (geographical) location.
const AltCountryCode_T & getAltCountryCode() const
const CurrencyCode_T & getCurrencyCode() const
const Admin1Code_T & getAdmin1Code() const
const NbOfErrors_T & getAllowableEditDistance() const
const NbOfErrors_T & getEditDistance() const
const NameMatrix_T & getNameMatrix() const
const DSTOffset_T & getDSTOffset() const
const WikiLink_T & getWikiLink() const
boost::gregorian::date Date_T
std::list< Word_T > WordList_T
const FAACode_T & getFaaCode() const
std::list< std::string > NameList_T
unsigned int Population_T
const PageRank_T & getPageRank() const
const CityUTFName_T & getUtfName() const
const Admin2ASCIIName_T & getAdmin2AsciiName() const
const Comment_T & getComment() const
const CountryCode_T & getCountryCode() const
const IATACode_T & getIataCode() const
const NameList_T & getNameList() const
const Population_T & getPopulation() const
const Latitude_T & getLatitude() const
const FeatureClass_T & getFeatureClass() const
const GTopo30_T & getGTopo30() const
const IATAType & getIataType() const
const IATACode_T & getIataCode() const
const GeonamesID_T & getGeonamesID() const
const Admin1UTFName_T & getAdmin1UtfName() const
unsigned short NbOfErrors_T
const TvlPORListString_T & getTvlPORListString() const
const Admin2Code_T & getAdmin2Code() const
std::list< Location > LocationList_T
const UNLOCodeList_T & getUNLOCodeList() const
const GMTOffset_T & getGMTOffset() const
const NameMatrix & getNameMatrix() const
const TimeZone_T & getTimeZone() const
const ICAOCode_T & getIcaoCode() const
const ContinentCode_T & getContinentCode() const
const StateCode_T & getStateCode() const
const ASCIIName_T & getAsciiName() const
const Admin3Code_T & getAdmin3Code() const
const CountryName_T & getCountryName() const
const Elevation_T & getElevation() const
const Admin2UTFName_T & getAdmin2UtfName() const
const GeonamesID_T & getGeonamesID() const
const Longitude_T & getLongitude() const
std::map< LanguageCode_T, Names > NameMatrix_T
const RawOffset_T & getRawOffset() const
const CommonName_T & getCommonName() const
const LocationKey & getKey() const
const Admin4Code_T & getAdmin4Code() const
Enumeration of place/location types with respect to their use for transportation purposes.
const std::string & getCorrectedKeywords() const
LanguageCode_T getLanguageCode() const
const WACName_T & getWACName() const
std::list< CityDetails > CityDetailsList_T
A list of cities, for instance the list of cities served by a travel-related POR (point of reference)...
double MatchingPercentage_T
treppb::PlaceType getTypeAsPB() const
const WAC_T & getWAC() const
const Date_T & getDateFrom() const
const std::string & getOriginalKeywords() const
static void exportLocationList(std::ostream &, const LocationList_T &, const WordList_T &iNonMatchedWordList)
const CityASCIIName_T & getAsciiName() const
const LocationList_T & getAlternateLocationList() const
const FeatureCode_T & getFeatureCode() const
const MatchingPercentage_T & getPercentage() const
const LocationList_T & getExtraLocationList() const
const CityDetailsList_T & getCityList() const
const Admin1ASCIIName_T & getAdmin1AsciiName() const