OSM Mobile Binary Protocol/Node Primary Property

From OpenStreetMap Wiki
Jump to navigation Jump to search
This page describes a historic artifact in the history of OpenStreetMap. It does not reflect the current situation, but instead documents the historical concepts, issues, or ideas.
About
The OSM Binary Format was the data format, the WhereAmI, a map application for SymbianOS, used. This page describes additions to that format.
Impact on OpenStreetMap
It was one of the multiple attempts to find a more performant file format for OSM vector data compared to PBF. Nowadays (2025), map data for mobile applications is often stored in formats used by the application themselves (e.g. OsmAnd, Organic Maps). Tiles—vector and raster—can be stored in MBTiles as container format.
Reason for being historic
There is no known application using this file format.
Captured time
2025


Uses one 8 bit value to store, this is for the primary property of the node, nodes that have multiple properties add secondary ones as per way properties. Also once all values from this list are allocated all further properties have to be defined as secondary ones (using a primary property of 0 as relevant).

enum TMapNodeProperties 
	{
	EMapNodeNotSet, //0
	EMapNodePlaceContinent,
	EMapNodePlaceCountry,
	EMapNodePlaceState,
	EMapNodePlaceRegion,
	EMapNodePlaceCounty,
	EMapNodePlaceCity,
	EMapNodePlaceTown,
	EMapNodePlaceVillage,
	EMapNodePlaceHamlet,
	EMapNodePlaceSuburb, //10
	EMapNodePlaceIsland = 11,
	EMapNodePlaceSpare1 = 12,
	EMapNodePlaceSpare2 = 13,
	EMapNodeAmenityPub = 14,
	EMapNodeAmenityBierGarten,
	EMapNodeAmenityCafe,
	EMapNodeAmenityRestaurant,
	EMapNodeAmenityFastFood,
	EMapNodeAmenityParking,
	EMapNodeAmenityBicycleParking, //20
	EMapNodeAmenityFuel,
	EMapNodeAmenityTelephone, 
	EMapNodeAmenityToilets,
	EMapNodeAmenityRecycling,
	EMapNodeAmenityPublicBuilding,
	EMapNodeAmenityPlaceOfWorship,
	EMapNodeAmenityGraveYard,
	EMapNodeAmenityPostOffice,
	EMapNodeAmenityPostBox,
	EMapNodeAmenitySchool, //30
	EMapNodeAmenityUniversity,
	EMapNodeAmenityCollage,
	EMapNodeAmenityPharmacy,
	EMapNodeAmenityHospital,
	EMapNodeAmenityLibrary,
	EMapNodeAmenityPolice,
	EMapNodeAmenityFireStation,
	EMapNodeAmenityBusStation,
	EMapNodeAmenityTheatre,
	EMapNodeAmenityCinema, //40
	EMapNodeAmenityArtsCentre,
	EMapNodeAmenityCourtHouse,
	EMapNodeAmenityPrison,
	EMapNodeAmenityBank,
	EMapNodeAmenityAtm,
	EMapNodeAmenityTownhall,
	EMapNodeAmenityParkAndRide,
	EMapNodeAmenityDoctors,
	EMapNodeAmenityClinic,
	EMapNodeAmenityFirstAid, //50
	EMapNodeAmenityBureauDeChange,
	EMapNodeAmenityBorderControl,
	EMapNodeAmenityMusicVenue,
	EMapNodeAmenityLocalGovernment,
	EMapNodeAmenityEmbassy,
	EMapNodeAmenityCarSharing,
	EMapNodeAmenityCarRental,
	EMapNodeAmenityPotableWater,
	EMapNodeAmenityDumpStation,
	EMapNodeAmenityCulturalCentre, //60
	EMapNodeAmenityIndoorShoppingCentre,
	EMapNodeAmenityCrematorium,
	EMapNodeAmenityFireHydrant,
	EMapNodeAmenityBicycleRental,
	EMapNodeAmenitySciencePark = 65,
	EMapNodeAmenityGallery = 66,
	EMapNodeAmenitySpare1 = 67,
	EMapNodeAmenitySpare2 = 68,
	EMapNodeAmenitySpare3 = 69,
	EMapNodeAmenitySpare4 = 70,
	EMapNodeAmenitySpare5 = 71,
	EMapNodeHighwayStop = 72,
	EMapNodeHighwayTrafficSignals,
	EMapNodeHighwayCrossing,
	EMapNodeHighwayGate,
	EMapNodeHighwayStile,
	EMapNodeHighwayCattleGrid,
	EMapNodeHighwayTollBooth,
	EMapNodeHighwayIncline,
	EMapNodeHighwayInclineSteep = 80,
	EMapNodeHighwayViaduct = 81,
	EMapNodeHighwayMotorwayJunction,
	EMapNodeHighwayServices,
	EMapNodeHighwayFord,
	EMapNodeHighwayMiniRoundabout,
	EMapNodeHighwayBusSluice,
	EMapNodeHighwaySpare1 = 87,
	EMapNodeHighwaySpare2 = 88,
	EMapNodeRailwayStation = 89,
	EMapNodeRailwayHalt = 90,
	EMapNodeRailwayViaduct,
	EMapNodeRailwayCrossing,
	EMapNodeRailwayLevelCrossing,
	EMapNodeRailwaySubwayStation,
	EMapNodeRailwayStationEntrance = 95,
	EMapNodeRailwaySpare1 = 96,
	EMapNodeRailwaySpare2 = 97,
	EMapNodeWaterwayLockGate = 98,
	EMapNodeWaterwayTurningPoint,
	EMapNodeWaterwayAqueduct, //100
	EMapNodeWaterwayBoatyard,
	EMapNodeWaterwayWaterPoint,
	EMapNodeWaterwayWasteDisposal,
	EMapNodeWaterwayMooring,
	EMapNodeWaterwayWeir,
	EMapNodeWaterwayWaterfall = 106,
	EMapNodeWaterwaySpare1 = 107,
	EMapNodeWaterwaySpare2 = 108,
	EMapNodeLeisureSportsCentre = 109,
	EMapNodeLeisureGolfCourse = 110,
	EMapNodeLeisureStadium,
	EMapNodeLeisureMarina,
	EMapNodeLeisureTrack,
	EMapNodeLeisurePitch,
	EMapNodeLeisureWaterPark,
	EMapNodeLeisureSlipway,
	EMapNodeLeisureFishing,
	EMapNodeLeisureNatureReserve,
	EMapNodeLeisurePark,
	EMapNodeLeisurePlayGround, //120
	EMapNodeLeisureGarden,
	EMapNodeLeisureCommon = 122,
	EMapNodeLeisureSpare1 = 123,
	EMapNodeLeisureSpare2 = 124,
	EMapNodeTourismInformation = 125,
	EMapNodeTourismCampSite,
	EMapNodeTourismCaravanSite,
	EMapNodeTourismPicnicSite,
	EMapNodeTourismViewpoint,
	EMapNodeTourismThemePark, //130
	EMapNodeTourismHotel,
	EMapNodeTourismMotel,
	EMapNodeTourismGuestHouse,
	EMapNodeTourismHostel,
	EMapNodeTourismAttraction,
	EMapNodeTourismZoo,
	EMapNodeTourismChalet,
	EMapNodeTourismRestCamp = 138,
	EMapNodeTourismSpare1 = 139,
	EMapNodeTourismSpare2 = 140,
	EMapNodeHistoricCastle = 141,
	EMapNodeHistoricMonument,
	EMapNodeHistoricMuseum,
	EMapNodeHistoricArchaeologicalSite,
	EMapNodeHistoricIcon,
	EMapNodeHistoricRuins,
	EMapNodeHistoricWreck = 147,
	EMapNodeHistoricSpare1 = 148,
	EMapNodeHistoricSpare2 = 149,
	EMapNodeSport10Pin = 150,
	EMapNodeSportAthletics,
	EMapNodeSportBaseball,
	EMapNodeSportBasketball,
	EMapNodeSportBowls,
	EMapNodeSportClimbing,
	EMapNodeSportCricket,
	EMapNodeSportCricketNets,
	EMapNodeSportCroquet,
	EMapNodeSportCycling,
	EMapNodeSportDogRacing, //160
	EMapNodeSportEquestrian,
	EMapNodeSportFootball,
	EMapNodeSportGolf,
	EMapNodeSportGymnastics,
	EMapNodeSportHockey,
	EMapNodeSportMotor,
	EMapNodeSportMulti,
	EMapNodeSportPelota,
	EMapNodeSportRacquet,
	EMapNodeSportRugby, //170
	EMapNodeSportSkating,
	EMapNodeSportSkateboard,
	EMapNodeSportSoccer,
	EMapNodeSportSwimming,
	EMapNodeSportSkiing,
	EMapNodeSportTableTennis,
	EMapNodeSportTennis = 177,
	EMapNodeSportDiving = 178,
	EMapNodeSportSpare1 = 179,
	EMapNodeSportSpare2 = 180,
	EMapNodeSportSpare3 = 181,
	EMapNodeAerowayAerodrome = 182,
	EMapNodeAerowayTerminal,
	EMapNodeAerowayHelipad = 184,
	EMapNodeAerowaySpare1 = 185,
	EMapNodePowerTower = 186,
	EMapNodePowerSpare1 = 187,
	EMapNodeManMadeWorks = 188,
	EMapNodeManMadeBeacon,
	EMapNodeManMadeSurveyPoint, //190
	EMapNodeManMadePowerWind,
	EMapNodeManMadePowerHydro,
	EMapNodeManMadePowerFossil,
	EMapNodeManMadePowerNuclear,
	EMapNodeManMadeTower,
	EMapNodeManMadeWaterTower,
	EMapNodeManMadeGasometer,
	EMapNodeManMadeReservoirCovered,
	EMapNodeManMadeLighthouse,
	EMapNodeManMadeWindmill, //200
	EMapNodeManMadeSurveillance,
	EMapNodeManMadeCommunicationsTower = 202,
	EMapNodeManMadeSpare1 = 203,
	EMapNodeShopBaker = 204,
	EMapNodeShopButcher,
	EMapNodeShopChandler,
	EMapNodeShopSupermarket,
	EMapNodeShopOutdoorStore,
	EMapNodeShopDoItYourself,
	EMapNodeShopConvenience, //210
	EMapNodeShopBicycle = 211,
	EMapNodeShopSpare1 = 212,
	EMapNodeShopSpare2 = 213,
	EMapNodeShopSpare3 = 214,
	EMapNodeLanduseFarm = 215,
	EMapNodeLanduseQuarry,
	EMapNodeLanduseLandfill,
	EMapNodeLanduseBasin,
	EMapNodeLanduseReservior,
	EMapNodeLanduseForest, //220
	EMapNodeLanduseAllotments,
	EMapNodeLanduseResidential,
	EMapNodeLanduseRetail,
	EMapNodeLanduseCommercial,
	EMapNodeLanduseIndustrial,
	EMapNodeLanduseBrownfield,
	EMapNodeLanduseGreenfield,
	EMapNodeLanduseCemetery,
	EMapNodeLanduseVillageGreen,
	EMapNodeLanduseRecreationGround, //230
	EMapNodeLanduseCampSite = 231,
	EMapNodeLanduseSpare1 = 232,
	EMapNodeMilitaryAirfield = 233,
	EMapNodeMilitaryBunker,
	EMapNodeMilitaryBarracks,
	EMapNodeMilitaryDangerArea,
	EMapNodeMilitaryRange = 237,
	EMapNodeNaturalSpring,
	EMapNodeNaturalPeak,
	EMapNodeNaturalCliff, //240
	EMapNodeNaturalScree,
	EMapNodeNaturalScrub,
	EMapNodeNaturalFell,
	EMapNodeNaturalHeath,
	EMapNodeNaturalWood,
	EMapNodeNaturalMarsh,
	EMapNodeNaturalWater,
	EMapNodeNaturalMud,
	EMapNodeNaturalBeach,
	EMapNodeNaturalBay, //250
	EMapNodeNaturalTree,
	EMapNodeNaturalLife,
	EMapNodeNaturalCave,
	EMapNodeNaturalGlacier = 254,
	EMapNodeNaturalSpare1 = 255,
	};

Implementation Status: PHPProxy(Yes), OSMAPI(No)