OSM Mobile Binary Protocol/Node Primary Property
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)