HERE Map Content bindings
1. Introduction
1.1 HMC
HERE Map Content(HMC) is a global and use-case agnostic Platform Data API catalog. It publishes HERE map data for Location Service development purposes. The catalog enables users to selectively consume features and attributes of interest for their use-case and select updated partitions only when getting the latest map data from the HERE Platform.
For more details: https://docs.here.com/intro-to-mapping-concepts/docs/mapping-concepts-intro
1.2 Content bindings
Content bindings provide access to content exposed in a layer(s). Bindings can be based on one of the existing layers, or based on a group of more layers.
Goal of content bindings is to provide a uniform way for final users to access a variety of complex data models, in a python-friendly way.
2. Layers supported
- Street Names
- Traffic Patterns
- Sign Text
- Administrative Places
- Administrative Locations
- Administrative Place Profiles
- Indexed Locations
- Environmental Zones
- Topology Geometry
- Topology Attributes
- Road Attributes (DEPRECATED)
- Navigation Attributes (DEPRECATED)
- Advanced Navigation Attributes (DEPRECATED)
- Bicycle Attributes
- Places Metadata
- Building Metadata
- Cartography-Metadata
- Places
- ADAS Attributes
- Composite Road Attributes
PySDK also supports below HMC bindings based on multiple layers.
- Administrative boundary for a segment
- Environmental zones for a segment
- Speed limit from navigation and advanced navigation attributes layers
- Street name for a segment
3. Using HMC Bindings
Binding have the following high-level API:
getgives all the objects for one or more partitionsget_refgives a single objectget_referencinggives all the objects based on reference given
Please note get_ref or get_referencing works only if object_type() have RefType.
Initialization
from here.platform import Platform
from here.geopandas_adapter import GeoPandasAdapter
from here.content.hmc2 import HMC
import pandas as pd
from here.platform.adapter import make_ref
from IPython.display import display, FileLink
platform = Platform()
hmc = HMC(platform, adapter=GeoPandasAdapter())
display(f"Catalog Id: {hmc.content.catalog_hrn} , Version:{hmc.content.version}")'Catalog Id: hrn:here:data::olp-here:rib-2 , Version:9071'
def types_to_df(types):
def to_record(kv):
k, v = kv
return {
"Type": k,
"Data Class": '.'.join([v.__module__, v.__qualname__]),
"Index by partition": v.indexer.partition is not None,
"Index by ID": v.indexer.identifier is not None,
"Ref Types": ", ".join(v.indexer.refs.keys()) or None
}
return pd.DataFrame.from_records(map(to_record, types.items()), index="Type")## Install HERE Map Widget for Jupyter. This is needed for using Here Maps
#!pip install here-map-widget-for-jupyter# Functions needed for using Here Maps
from ipyleaflet import GeoData
import here.geotiles.heretile as ht
from ipyleaflet import Map
import geopandas as gpd
from shapely.geometry.polygon import Polygon
import os
# replace your API key here.
api_key = os.environ["LS_API_KEY"]
def plot_geometry(dataFrame, geo_column):
geoDF = gpd.GeoDataFrame(dataFrame[dataFrame['location.geometry'] != None][[geo_column]].copy(),
geometry=geo_column)
center_point = geoDF[geo_column].centroid.head(1).values
geoData = GeoData(geo_dataframe=geoDF,
style={"strokeColor": "rgba(128,0,128,1)"},
hover_style={"strokeColor": "rgba(255,0,0,1)"},
name='geometry_layer')
m = Map(
api_key=api_key,
center=[center_point.y[0], center_point.x[0]],
zoom=12,
)
m.add_layer(geoData)
return m
def plot_here_tiles(tile_ids):
tiles = [Polygon(ht.get_boundary_ring(t)) for t in tile_ids]
tiles_df = pd.DataFrame(tiles, columns=["geometry"])
geoDF = gpd.GeoDataFrame(tiles_df, geometry='geometry')
center_point = geoDF['geometry'].centroid.head(1).values
geoData = GeoData(geo_dataframe=geoDF, style={"strokeColor": "rgba(128,0,128,1)"},
hover_style={"strokeColor": "rgba(255,0,0,1)"},
name='here_tiles')
m = Map(
api_key=api_key,
center=[center_point.y[0], center_point.x[0]],
zoom=12,
)
m.add_layer(geoData)
return m
def plot_multiple_geometry(geometries):
geoData_1 = GeoData(geo_dataframe=geometries['Nodes'],
style={"strokeColor": "rgba(128,0,128,1)"},
hover_style={"strokeColor": "rgba(255,0,0,1)"},
name='geometry_layer_1')
geoData_2 = GeoData(geo_dataframe=geometries['Segments'],
style={"strokeColor": "rgba(128,0,128,1)"},
hover_style={"strokeColor": "rgba(255,0,0,1)"},
name='geometry_layer_2')
center_point = (geometries['Nodes'].set_crs(epsg=4328, allow_override=True)).centroid.head(1).values
m = Map(
api_key=api_key,
center=[center_point.y[0], center_point.x[0]],
zoom=12,
)
m.add_layer(geoData_1)
m.add_layer(geoData_2)
return m3.1 Street Names
Layer Id - street-names
tiles = ['23671200-25332448-25332461', '1469256839-1469256831']street_names = hmc.street_names
types_to_df(street_names.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| street | here.content.hmc2.street_names.StreetName | True | True | None |
| context | here.content.hmc2.place_context.PlaceContext | False | False | None |
| street_section | here.content.hmc2.street_names.StreetSection | True | True | None |
df = street_names.get(tiles, 'street')
df.head(2).dataframe thead th {text-align: right;}
| street_name | ||
|---|---|---|
| partition_id | street_id | |
| 23671200-25332448-25332461 | here:af:street:-BY1y-M9YIMPVcYWPMnljD | [{'full_name': {'value': 'Pueblito', 'language... |
| here:af:street:-u0Lsl1fU5PvURIYcAG1lC | [{'full_name': {'value': 'Playa Nanzal', 'lang... |
df = street_names.get(tiles, 'context')
df.head(2).dataframe thead th {text-align: right;}
| classification_type | city | postal_code | country | state | region | county | district | sub_district | further_zone | default_mapping | political_view | political_view_exception | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | DISTRICT | [{'preference': 'PRIMARY', 'place_ref': {'part... | <NA> | [{'preference': 'PRIMARY', 'place_ref': {'part... | [{'preference': 'PRIMARY', 'place_ref': {'part... | <NA> | [{'preference': 'PRIMARY', 'place_ref': {'part... | [{'preference': 'ALTERNATIVE', 'place_ref': {'... | <NA> | <NA> | 0 | <NA> | <NA> |
| 1 | DISTRICT | [{'preference': 'PRIMARY', 'place_ref': {'part... | <NA> | [{'preference': 'PRIMARY', 'place_ref': {'part... | [{'preference': 'PRIMARY', 'place_ref': {'part... | <NA> | [{'preference': 'PRIMARY', 'place_ref': {'part... | [{'preference': 'ALTERNATIVE', 'place_ref': {'... | <NA> | <NA> | 0 | <NA> | <NA> |
df = street_names.get(tiles, 'street_section')
df.head(2).dataframe thead th {text-align: right;}
| street_index | administrative_context_index | associated_street_section_index | government_code | ||
|---|---|---|---|---|---|
| partition_id | streetsection_id | ||||
| 23671200-25332448-25332461 | here:af:streetsection:-2OIuTs2s5HVoHz.Z2SI0B | 55 | 57 | [67, 103, 177, 214] | |
| here:af:streetsection:-4x.rC.hY5jLe.Rm56mkED | 25 | 64 | [82] |
3.2 Traffic Patterns
Layer Id - traffic-patterns
tiles = [23618502]traffic_patterns = hmc.traffic_patterns
types_to_df(traffic_patterns.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| traffic_pattern | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| holiday_pattern | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
traffic_pattern = traffic_patterns.get(tiles,"traffic_pattern")
traffic_pattern.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.traffic_pattern | |
|---|---|---|---|---|
| 0 | [{'ref': {'partition': '23618502', 'identifier... | True | False | [{'day_of_week': 'SUNDAY', 'speed_pattern': [{... |
| 1 | [{'ref': {'partition': '23618502', 'identifier... | False | True | [{'day_of_week': 'SUNDAY', 'speed_pattern': [{... |
holiday_pattern = traffic_patterns.get(tiles,"holiday_pattern")
holiday_pattern.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.holiday | |
|---|---|---|---|---|
| 0 | [{'ref': {'partition': '23618502', 'identifier... | True | False | [{'holiday_name': 'New Years Day', 'holiday_da... |
| 1 | [{'ref': {'partition': '23618502', 'identifier... | False | True | [{'holiday_name': 'New Years Day', 'holiday_da... |
### Construct a new Reference by giving partition and identifier.
traffic_pattern_ref = make_ref(23618502,"here:cm:segment:76770511")traffic_pattern_attributes = traffic_patterns.get_referencing(
23618502, "traffic_pattern", "first_segment",
)
traffic_pattern_attributes.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.traffic_pattern | ||
|---|---|---|---|---|---|
| ref_partition | ref_identifier | ||||
| 23618502 | here:cm:segment:76770511 | [{'ref': {'partition': '23618502', 'identifier... | True | False | [{'day_of_week': 'SUNDAY', 'speed_pattern': [{... |
| here:cm:segment:76770511 | [{'ref': {'partition': '23618502', 'identifier... | False | True | [{'day_of_week': 'SUNDAY', 'speed_pattern': [{... |
holiday_pattern_attributes = traffic_patterns.get_referencing(
23618502, "holiday_pattern", "first_segment",
)
holiday_pattern_attributes.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.holiday | ||
|---|---|---|---|---|---|
| ref_partition | ref_identifier | ||||
| 23618502 | here:cm:segment:76770511 | [{'ref': {'partition': '23618502', 'identifier... | True | False | [{'holiday_name': 'New Years Day', 'holiday_da... |
| here:cm:segment:76770511 | [{'ref': {'partition': '23618502', 'identifier... | False | True | [{'holiday_name': 'New Years Day', 'holiday_da... |
3.3 Sign Text
Layer Id - sign-text
tiles = [18011924]
sign_text = hmc.sign_text
types_to_df(sign_text.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| sign_attribute | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
display(sign_text.ref_types()){'sign_attribute': ['first_segment', 'segment']}
df = sign_text.get(tiles, "sign_attribute")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.identifier | attribute.destination | |
|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '18011924', 'identifier... | True | True | here:cm:sign:1653326986 | [{'destination_segment_anchor_index': 2, 'sign... |
| 1 | [{'ref': {'partition': '18011924', 'identifier... | True | True | here:cm:sign:1653327084 | [{'destination_segment_anchor_index': 20, 'sig... |
df = sign_text.get_referencing(tiles, "sign_attribute", "segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.identifier | attribute.destination | ||
|---|---|---|---|---|---|---|
| ref_partition | ref_identifier | |||||
| 18011924 | here:cm:segment:360301727 | [{'ref': {'partition': '18011924', 'identifier... | True | True | here:cm:sign:1653326986 | [{'destination_segment_anchor_index': 2, 'sign... |
| here:cm:segment:360301727 | [{'ref': {'partition': '18011924', 'identifier... | True | True | here:cm:sign:1653367409 | [{'destination_segment_anchor_index': 2, 'sign... |
df = sign_text.get_referencing(tiles, "sign_attribute", "first_segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.identifier | attribute.destination | ||
|---|---|---|---|---|---|---|
| ref_partition | ref_identifier | |||||
| 18011924 | here:cm:segment:360301727 | [{'ref': {'partition': '18011924', 'identifier... | True | True | here:cm:sign:1653326986 | [{'destination_segment_anchor_index': 2, 'sign... |
| here:cm:segment:360301727 | [{'ref': {'partition': '18011924', 'identifier... | True | True | here:cm:sign:1653367409 | [{'destination_segment_anchor_index': 2, 'sign... |
3.4 Administrative Places
Layer Id - administrative-places
admin_places = hmc.admin_places
types_to_df(admin_places.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| place | here.content.hmc2.admin_places.Place | True | True | None |
| context | here.content.hmc2.place_context.PlaceContext | False | False | None |
admin_tiles = ["20000001", "20000001-20000002-20030132"]df = admin_places.get(admin_tiles, "place")
df.head(2).dataframe thead th {text-align: right;}
| name | category | alt_category | location_ref.partition | location_ref.identifier | valid_unnamed | daylight_saving_time.day_of_week_of_month_of_year_range.start.day_of_week | daylight_saving_time.day_of_week_of_month_of_year_range.start.week_of_month | daylight_saving_time.day_of_week_of_month_of_year_range.start.month_of_year | daylight_saving_time.day_of_week_of_month_of_year_range.end.day_of_week | ... | country.internal_phone_prefix | capital_indicator | population | daylight_saving_time | administrative_restriction | country | capital_indicator.capital_of_county | capital_indicator.capital_of_country | capital_indicator.capital_of_state | capital_indicator.capital_of_city | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| partition_id | place_id | |||||||||||||||||||||
| 20000001 | here:cm:namedplace:20000001 | [{'text': {'value': 'France', 'language': 'fr'... | [{'partition': '', 'identifier': 'here:cm:admi... | <NA> | 20000001 | here:cm:namedplace-loc:20000001 | True | SUNDAY | WEEK_5 | MARCH | SUNDAY | ... | 0 | <NA> | <NA> | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| here:cm:namedplace:20000002 | [{'text': {'value': 'Hauts-de-France', 'langua... | [{'partition': '', 'identifier': 'here:cm:admi... | <NA> | 20000001 | here:cm:namedplace-loc:20000002 | True | NaN | NaN | NaN | NaN | ... | NaN | <NA> | <NA> | <NA> | <NA> | <NA> | NaN | NaN | NaN | NaN |
2 rows × 50 columns
df = admin_places.get(admin_tiles, "context")
df.head(2).dataframe thead th {text-align: right;}
| classification_type | city | postal_code | country | state | region | county | district | sub_district | further_zone | default_mapping | political_view | political_view_exception | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | COUNTRY | <NA> | <NA> | [{'preference': 'PRIMARY', 'place_ref': {'part... | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | 0 | <NA> | <NA> |
| 1 | STATE | <NA> | <NA> | [{'preference': 'PRIMARY', 'place_ref': {'part... | [{'preference': 'PRIMARY', 'place_ref': {'part... | <NA> | <NA> | <NA> | <NA> | <NA> | 0 | <NA> | <NA> |
3.5 Administrative Locations
Layer Id - administrative-locations
admin_locations = hmc.admin_locations
types_to_df(admin_locations.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| location | here.content.hmc2.admin_locations.Location | True | True | None |
df = admin_locations.get(partition="21000001", object_type="location")
df.head(2).dataframe thead th {text-align: right;}
| location_type | display_position | geometry | address_relation | area_type | segment_anchor.oriented_segment_ref | segment_anchor.attribute_orientation | segment_anchor_side | accessors | political_geometry | alternate_geometry | within_location_ref.partition_name | within_location_ref.identifier | bounding_box | level_info | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| partition_id | location_id | |||||||||||||||
| 21000001 | here:cm:namedplace-loc:21000001 | AREA | POINT (0 0) | MULTIPOLYGON (((-80.4463 25.0527, -80.44623 25... | ADDRESS_RELATION_UNSPECIFIC | AREA_TYPE_STANDARD | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] | ||||
| here:cm:namedplace-loc:21000002 | AREA | POINT (0 0) | MULTIPOLYGON (((-94.20647 43.50011, -94.20807 ... | ADDRESS_RELATION_UNSPECIFIC | AREA_TYPE_STANDARD | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] |
3.6 Administrative Place Profiles
Layer Id - administrative_place_profiles
admin_place_profiles = hmc.admin_place_profilesdf = admin_place_profiles.get(partition = "21000001", object_type="admin_place_profile_attributes")
df.head(2).dataframe thead th {text-align: right;}
| administrative_place_ref.partition | administrative_place_ref.identifier | move_over | make_way | overtake_pass | merging | right_of_way | keep_right | solid_lane_travers_general | solid_lane_exception | color_temp_marking | dashed_width_lar | dashed_width_non_lar | spaces_marking_lar | spaces_marking_non_lar | solid_edge_width_lar | solid_edge_width_non_lar | average_lane_width_mtrw | average_lane_width_non_mtrw | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| partition_id | |||||||||||||||||||
| 21000001 | 21000001 | here:cm:namedplace:21000001 | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | 0.15 | 0.1 | 0.15 | 0.15 | 0.15 | 0.1 | 3.6 | 3.3 |
| 21000001 | 21000001 | here:cm:namedplace:21000002 | 3 | True | False | 5 | 1 | True | False | 63 | 13 | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> |
### Construct a new Reference by giving partition and identifier.
ref = make_ref("21000001", "here:cm:namedplace:21000002")admin_place_profiles.get_referencing(
partition = "21000001", object_type="admin_place_profile_attributes", ref_type="place", referenced_obj=ref
).dataframe thead th {text-align: right;}
| partition_id | administrative_place_ref.partition | administrative_place_ref.identifier | move_over | make_way | overtake_pass | merging | right_of_way | keep_right | solid_lane_travers_general | solid_lane_exception | color_temp_marking | dashed_width_lar | dashed_width_non_lar | spaces_marking_lar | spaces_marking_non_lar | solid_edge_width_lar | solid_edge_width_non_lar | average_lane_width_mtrw | average_lane_width_non_mtrw | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 21000001 | 21000001 | here:cm:namedplace:21000002 | 3 | True | False | 5 | 1 | True | False | 63 | 13 | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> | <NA> |
3.7 Indexed Locations
Layer Id - indexed_locations
admin_index = hmc.admin_indextypes_to_df(admin_index.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| country | here.content.hmc2.admin_index.CountryTiles | False | True | None |
| location | here.content.hmc2.admin_index.LocationTiles | False | False | location |
country_partitions = ["FIN", "HND", "IRL"]
country_tiles = admin_index.get(country_partitions, "country")
country_tiles.dataframe thead th {text-align: right;}
| tile_id | |
|---|---|
| iso_country_code | |
| FIN | [23648741, 23648743, 23648745, 23648752, 23648... |
| HND | [19956478, 19956479, 19956574, 19956575, 19956... |
| IRL | [20799693, 20799695, 20799704, 20799705, 20799... |
## You can always use the `explode` function to convert a list in multiple rows.
country_tiles.explode("tile_id").dataframe thead th {text-align: right;}
| tile_id | |
|---|---|
| iso_country_code | |
| FIN | 23648741 |
| FIN | 23648743 |
| FIN | 23648745 |
| FIN | 23648752 |
| FIN | 23648754 |
| ... | ... |
| IRL | 20803192 |
| IRL | 20803193 |
| IRL | 20803338 |
| IRL | 20803360 |
| IRL | 20803361 |
11735 rows × 1 columns
plot_here_tiles(country_tiles.loc["FIN"]["tile_id"])Map(center=[np.float64(60.1611328125), np.float64(19.2919921875)], controls=(ZoomControl(options=['position', …
plot_here_tiles(country_tiles.loc["IRL"]["tile_id"])Map(center=[np.float64(51.5478515625), np.float64(-10.2392578125)], controls=(ZoomControl(options=['position',…
df = admin_index.get_referencing(country_partitions, "location", "location")
df.head(2).dataframe thead th {text-align: right;}
| iso_country_code | tile_id | boundary_tile_id | ||
|---|---|---|---|---|
| ref_partition | ref_identifier | |||
| 20241487 | here:cm:namedplace-loc:20241487 | FIN | [23648741, 23648743, 23648745, 23648752, 23648... | [23648741, 23648743, 23648745, 23648752, 23648... |
| here:cm:namedplace-loc:20422913 | FIN | [23693371, 23693445, 23693453, 23693456, 23693... | [23693371, 23693445, 23693453, 23693456, 23693... |
3.8 Environmental Zones
Layer Id - environmental_zones
environmental_zones = hmc.environmental_zones
types_to_df(environmental_zones.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| zone | here.content.hmc2.environmental_zones.Zone | False | True | location |
environmental_zones.ref_types(){'zone': ['location']}
types_to_df(environmental_zones.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| zone | here.content.hmc2.environmental_zones.Zone | False | True | location |
env_zones = environmental_zones.get("all", "zone")
env_zones.head(2).dataframe thead th {text-align: right;}
| name | info.description | info.website.value | info.website.language | info.version_date | info.extent_date | info.country | vehicle_class | environmental_badge | location_ref | |
|---|---|---|---|---|---|---|---|---|---|---|
| identifier | ||||||||||
| here:cm:envzone:1 | [{'text': {'value': 'Augsburg Umweltzone', 'la... | [{'value': 'Die Umweltzone der Stadt Augsburg ... | https://www.augsburg.de/umwelt-soziales/umwelt... | 2019-05-09 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23600504', 'identifier': 'here... | |
| here:cm:envzone:10 | [{'text': {'value': 'Essen Umweltzone', 'langu... | [{'value': 'Die Umweltzone der Stadt Essen ist... | https://www.essen.de/leben/umwelt/luft/umweltz... | 2022-06-03 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23605461', 'identifier': 'here... |
### Construct a new Reference by giving partition and identifier.
location_ref = make_ref("23600686", "here:cm:carto-loc:1661293691")env_zones = environmental_zones.get_referencing("all", "zone", "location", location_ref)
env_zones.dataframe thead th {text-align: right;}
| identifier | name | info.description | info.website.value | info.website.language | info.version_date | info.extent_date | info.country | vehicle_class | environmental_badge | location_ref | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | here:cm:envzone:304 | [{'text': {'value': 'Lkw-Verbotszone Darmstadt... | [{'value': 'Permanent truck ban for environmen... | https://umwelt.hessen.de/sites/default/files/m... | 2020-11-06 | 2020-09-18 | GERMANY | [{'vehicle_attributes': {'category': 'TRUCK', ... | <NA> | [{'partition': '23600686', 'identifier': 'here... |
3.9 Topology Geometry
Layer Id - topology-geometry
topology_geometry = hmc.topology_geometry
types_to_df(topology_geometry.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| node | here.content.hmc2.topology_geometry.Node | True | True | None |
| segment | here.content.hmc2.topology_geometry.Segment | True | True | None |
topology_geometry.ref_types(){'node': [], 'segment': []}
types_to_df(topology_geometry.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| node | here.content.hmc2.topology_geometry.Node | True | True | None |
| segment | here.content.hmc2.topology_geometry.Segment | True | True | None |
tiles =[19318110]nodes = topology_geometry.get(tiles, "node")
nodes.head(2).dataframe thead th {text-align: right;}
| segment_ref | geometry | z_level | ||
|---|---|---|---|---|
| partition_id | node_id | |||
| 19318110 | here:cm:node:19706971 | [{'partition': '19318110', 'identifier': 'here... | POINT (-118.22421 34.0527) | 0 |
| here:cm:node:19706990 | [{'partition': '19318110', 'identifier': 'here... | POINT (-118.21902 34.04041) | 0 |
segments = topology_geometry.get(tiles, "segment")
segments.head(2).dataframe thead th {text-align: right;}
| start_node_ref.partition | start_node_ref.identifier | end_node_ref.partition | end_node_ref.identifier | geometry | z_level | length | ||
|---|---|---|---|---|---|---|---|---|
| partition_id | segment_id | |||||||
| 19318110 | here:cm:segment:395921031 | 19318110 | here:cm:node:49251578 | 19318110 | here:cm:node:49251579 | LINESTRING (-118.27758 34.03233, -118.27676 34... | [0, 0] | 159.93573 |
| here:cm:segment:395921122 | 19318110 | here:cm:node:49256445 | 19318110 | here:cm:node:49256415 | LINESTRING (-118.2891 34.07896, -118.28967 34.... | [0, 0, 0, 0, 0] | 157.52114 |
geometries={"Nodes": nodes, "Segments": segments}
plot_multiple_geometry(geometries)Map(center=[np.float64(34.0527), np.float64(-118.22421)], controls=(ZoomControl(options=['position', 'zoomin…
3.10 Topology Attributes
Layer Id - topology-attributes
topology_attributes = hmc.topology_attributestypes_to_df(topology_attributes.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| access_permission | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| access_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| accessible_by | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| black_spot | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| construction_status | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| display_level | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| environmental_zone_condition | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| functional_class | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| gate | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| grade_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| intersection_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| iso_country_code | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| junction_divider | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| lane_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| local_road | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| low_mobility | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| low_speed_zone | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| motorcycle_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| overpass_underpass | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| overtaking_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| permitted_driving_manoeuvre | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| physical | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| physical_lane_count | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| political_view_action | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| protected_overtaking | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| railway_crossing | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| recreational_vehicle_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| restricted_driving_manoeuvre | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| road_class | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| road_divider | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| road_usage | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| scenic | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| short_construction_warning | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| special_explication | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| special_speed_situation | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| special_traffic_area_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| speed_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| speed_limit | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| supplemental_geometry | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| through_lane_count | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| through_route | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| toll_structure | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| traffic_message_channel_code | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| traffic_sign | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| traffic_signal | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| transport_protocol_expert_group | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| travel_direction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| urban | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| usage_fee_required | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| variable_speed_limit | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| variable_speed_sign | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| vehicle_checkpoint | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
topology_attributes.ref_types(){'access_permission': ['first_segment', 'segment'], 'access_restriction': ['first_segment', 'segment'], 'accessible_by': ['first_segment', 'segment'], 'black_spot': ['first_segment', 'segment'], 'construction_status': ['first_segment', 'segment'], 'display_level': ['first_segment', 'segment'], 'environmental_zone_condition': ['first_segment', 'segment'], 'functional_class': ['first_segment', 'segment'], 'gate': ['first_segment', 'segment'], 'grade_category': ['first_segment', 'segment'], 'intersection_category': ['first_segment', 'segment'], 'iso_country_code': ['first_segment', 'segment'], 'junction_divider': ['first_segment', 'segment'], 'lane_category': ['first_segment', 'segment'], 'local_road': ['first_segment', 'segment'], 'low_mobility': ['first_segment', 'segment'], 'low_speed_zone': ['first_segment', 'segment'], 'motorcycle_restriction': ['first_segment', 'segment'], 'overpass_underpass': ['first_segment', 'segment'], 'overtaking_restriction': ['first_segment', 'segment'], 'permitted_driving_manoeuvre': ['first_segment', 'segment'], 'physical': ['first_segment', 'segment'], 'physical_lane_count': ['first_segment', 'segment'], 'political_view_action': ['first_segment', 'segment'], 'protected_overtaking': ['first_segment', 'segment'], 'railway_crossing': ['first_segment', 'segment'], 'recreational_vehicle_restriction': ['first_segment', 'segment'], 'restricted_driving_manoeuvre': ['first_segment', 'segment'], 'road_class': ['first_segment', 'segment'], 'road_divider': ['first_segment', 'segment'], 'road_usage': ['first_segment', 'segment'], 'scenic': ['first_segment', 'segment'], 'short_construction_warning': ['first_segment', 'segment'], 'special_explication': ['first_segment', 'segment'], 'special_speed_situation': ['first_segment', 'segment'], 'special_traffic_area_category': ['first_segment', 'segment'], 'speed_category': ['first_segment', 'segment'], 'speed_limit': ['first_segment', 'segment'], 'supplemental_geometry': ['first_segment', 'segment'], 'through_lane_count': ['first_segment', 'segment'], 'through_route': ['first_segment', 'segment'], 'toll_structure': ['first_segment', 'segment'], 'traffic_message_channel_code': ['first_segment', 'segment'], 'traffic_sign': ['first_segment', 'segment'], 'traffic_signal': ['first_segment', 'segment'], 'transport_protocol_expert_group': ['first_segment', 'segment'], 'travel_direction': ['first_segment', 'segment'], 'urban': ['first_segment', 'segment'], 'usage_fee_required': ['first_segment', 'segment'], 'variable_speed_limit': ['first_segment', 'segment'], 'variable_speed_sign': ['first_segment', 'segment'], 'vehicle_checkpoint': ['first_segment', 'segment']}
types_to_df(topology_attributes.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| access_permission | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| access_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| accessible_by | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| black_spot | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| construction_status | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| display_level | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| environmental_zone_condition | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| functional_class | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| gate | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| grade_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| intersection_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| iso_country_code | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| junction_divider | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| lane_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| local_road | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| low_mobility | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| low_speed_zone | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| motorcycle_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| overpass_underpass | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| overtaking_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| permitted_driving_manoeuvre | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| physical | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| physical_lane_count | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| political_view_action | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| protected_overtaking | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| railway_crossing | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| recreational_vehicle_restriction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| restricted_driving_manoeuvre | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| road_class | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| road_divider | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| road_usage | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| scenic | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| short_construction_warning | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| special_explication | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| special_speed_situation | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| special_traffic_area_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| speed_category | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| speed_limit | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| supplemental_geometry | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| through_lane_count | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| through_route | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| toll_structure | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| traffic_message_channel_code | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| traffic_sign | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| traffic_signal | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| transport_protocol_expert_group | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| travel_direction | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| urban | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| usage_fee_required | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| variable_speed_limit | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| variable_speed_sign | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| vehicle_checkpoint | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
tiles = [19318110]
df = topology_attributes.get(tiles, "functional_class")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.functional_class | |
|---|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | True | True | FUNCTIONAL_CLASS_5 |
| 1 | [{'ref': {'partition': '19318110', 'identifier... | True | True | FUNCTIONAL_CLASS_5 |
df = topology_attributes.get_referencing(tiles, "functional_class", "segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.functional_class | ||
|---|---|---|---|---|---|
| ref_partition | ref_identifier | ||||
| 19318110 | here:cm:segment:395921031 | [{'ref': {'partition': '19318110', 'identifier... | True | True | FUNCTIONAL_CLASS_5 |
| here:cm:segment:396018522 | [{'ref': {'partition': '19318110', 'identifier... | True | True | FUNCTIONAL_CLASS_5 |
df = topology_attributes.get_referencing(tiles, "iso_country_code", "segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.iso_country_code.official_country_code | ||
|---|---|---|---|---|---|
| ref_partition | ref_identifier | ||||
| 19318110 | here:cm:segment:395921031 | [{'ref': {'partition': '19318110', 'identifier... | True | True | USA |
| here:cm:segment:395921122 | [{'ref': {'partition': '19318110', 'identifier... | True | True | USA |
df = topology_attributes.get(tiles, "speed_limit")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.value | attribute.source | attribute.unlimited | attribute.sources | |
|---|---|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | True | False | 40 | DERIVED | False | [] |
| 1 | [{'ref': {'partition': '19318110', 'identifier... | False | True | 40 | DERIVED | False | [] |
df = topology_attributes.get(tiles, "traffic_message_channel_code")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.location_code | attribute.location_disposition | attribute.location_table_number | attribute.ebu_country_code | |
|---|---|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | True | False | 21457 | INTERNAL_POSITIVE_DIRECTION | 6 | 1 |
| 1 | [{'ref': {'partition': '19318110', 'identifier... | False | True | 21457 | INTERNAL_POSITIVE_DIRECTION | 6 | 1 |
df = topology_attributes.get(tiles, "restricted_driving_manoeuvre")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.applies_to.automobiles | attribute.applies_to.buses | attribute.applies_to.taxis | attribute.applies_to.carpools | attribute.applies_to.pedestrians | attribute.applies_to.trucks | attribute.applies_to.through_traffic | attribute.applies_to.deliveries | attribute.applies_to.emergency_vehicles | attribute.applies_to.motorcycles | attribute.applies_to.bicycles | attribute.restriction_type | attribute.applies_during | attribute.manoeuvre_type | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | True | False | True | True | True | True | True | True | True | True | True | True | False | PHYSICAL | [] | MANOEUVRE_TYPE_UNKNOWN |
| 1 | [{'ref': {'partition': '19318110', 'identifier... | True | False | True | True | True | True | True | True | True | True | True | True | False | PHYSICAL | [] | MANOEUVRE_TYPE_UNKNOWN |
df = topology_attributes.get(tiles, "travel_direction")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | |
|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | True | True |
| 1 | [{'ref': {'partition': '19318110', 'identifier... | True | False |
df = topology_attributes.get([18403672], "environmental_zone_condition")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.applies_to.automobiles | attribute.applies_to.buses | attribute.applies_to.carpools | attribute.applies_to.through_traffic | attribute.applies_to.motorcycles | attribute.applies_to.taxis | attribute.applies_to.pedestrians | attribute.applies_to.trucks | attribute.applies_to.deliveries | attribute.applies_to.emergency_vehicles | attribute.applies_to.bicycles | attribute.environmental_zone_ref.partition_name | attribute.environmental_zone_ref.identifier | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '18403672', 'identifier... | True | True | True | True | True | True | True | False | False | False | False | False | False | all | here:cm:envzone:81 |
| 1 | [{'ref': {'partition': '18403672', 'identifier... | True | True | True | True | True | True | True | False | False | False | False | False | False | all | here:cm:envzone:81 |
df = topology_attributes.get_referencing(tiles, "restricted_driving_manoeuvre", "first_segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.applies_to.automobiles | attribute.applies_to.buses | attribute.applies_to.taxis | attribute.applies_to.carpools | attribute.applies_to.pedestrians | attribute.applies_to.trucks | attribute.applies_to.through_traffic | attribute.applies_to.deliveries | attribute.applies_to.emergency_vehicles | attribute.applies_to.motorcycles | attribute.applies_to.bicycles | attribute.restriction_type | attribute.applies_during | attribute.manoeuvre_type | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ref_partition | ref_identifier | |||||||||||||||||
| 19318110 | here:cm:segment:396042113 | [{'ref': {'partition': '19318110', 'identifier... | True | False | True | True | True | True | True | True | True | True | True | True | False | PHYSICAL | [] | MANOEUVRE_TYPE_UNKNOWN |
| here:cm:segment:396042113 | [{'ref': {'partition': '19318110', 'identifier... | True | False | True | True | True | True | True | True | True | True | True | True | False | PHYSICAL | [] | MANOEUVRE_TYPE_UNKNOWN |
df = topology_attributes.get(tiles, "traffic_signal")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.signal_location | |
|---|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | False | True | SIGN_LOCATION_UNKNOWN |
| 1 | [{'ref': {'partition': '19318110', 'identifier... | False | True | SIGN_LOCATION_UNKNOWN |
df = topology_attributes.get(tiles, "traffic_sign")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.traffic_sign_type | attribute.traffic_sign_category | attribute.traffic_sign_subcategory | attribute.traffic_sign_value.value | attribute.traffic_sign_value.language | attribute.pre_warning.value | attribute.pre_warning.language | ... | attribute.validity_time.value | attribute.validity_time.language | attribute.accessible_by.trucks | attribute.accessible_by.heavy_trucks | attribute.accessible_by.bus | attribute.accessible_by.auto_trailer | attribute.accessible_by.motorhome | attribute.accessible_by.motorcycle | attribute.general_warning_sign_type | attribute.weather_type | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | False | True | STOP_SIGN | REGULATORY_SIGN | PRIORITY_SIGN | ... | False | False | False | False | False | False | GENERAL_WARNING_SIGN_TYPE_UNKNOWN | WEATHER_TYPE_UNKNOWN | ||||||
| 1 | [{'ref': {'partition': '19318110', 'identifier... | False | True | STOP_SIGN | REGULATORY_SIGN | PRIORITY_SIGN | ... | False | False | False | False | False | False | GENERAL_WARNING_SIGN_TYPE_UNKNOWN | WEATHER_TYPE_UNKNOWN |
2 rows × 22 columns
df = topology_attributes.get_referencing(tiles, "traffic_sign", "first_segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.traffic_sign_type | attribute.traffic_sign_category | attribute.traffic_sign_subcategory | attribute.traffic_sign_value.value | attribute.traffic_sign_value.language | attribute.pre_warning.value | attribute.pre_warning.language | ... | attribute.validity_time.value | attribute.validity_time.language | attribute.accessible_by.trucks | attribute.accessible_by.heavy_trucks | attribute.accessible_by.bus | attribute.accessible_by.auto_trailer | attribute.accessible_by.motorhome | attribute.accessible_by.motorcycle | attribute.general_warning_sign_type | attribute.weather_type | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ref_partition | ref_identifier | |||||||||||||||||||||
| 19318110 | here:cm:segment:395921031 | [{'ref': {'partition': '19318110', 'identifier... | False | True | STOP_SIGN | REGULATORY_SIGN | PRIORITY_SIGN | ... | False | False | False | False | False | False | GENERAL_WARNING_SIGN_TYPE_UNKNOWN | WEATHER_TYPE_UNKNOWN | ||||||
| here:cm:segment:395921031 | [{'ref': {'partition': '19318110', 'identifier... | True | False | STOP_SIGN | REGULATORY_SIGN | PRIORITY_SIGN | ... | False | False | False | False | False | False | GENERAL_WARNING_SIGN_TYPE_UNKNOWN | WEATHER_TYPE_UNKNOWN |
2 rows × 22 columns
df = topology_attributes.get(tiles, "railway_crossing")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.crossing_type | |
|---|---|---|---|---|
| 0 | [{'ref': {'partition': '19318110', 'identifier... | False | True | UNPROTECTED |
| 1 | [{'ref': {'partition': '19318110', 'identifier... | False | True | UNPROTECTED |
df = topology_attributes.get_referencing(tiles, "railway_crossing", "segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.crossing_type | ||
|---|---|---|---|---|---|
| ref_partition | ref_identifier | ||||
| 19318110 | here:cm:segment:411541476 | [{'ref': {'partition': '19318110', 'identifier... | False | True | UNPROTECTED |
| here:cm:segment:425689374 | [{'ref': {'partition': '19318110', 'identifier... | False | True | UNPROTECTED |
3.11 Bicycle Attributes
Layer Id - bicycle-attributes
bicycle_attributes = hmc.bicycle_attributes
types_to_df(bicycle_attributes.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| bicycle_access_override | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_protection_type | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_travel_direction_override | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| dedicated_bicycle_path | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_path | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_access_verified | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
bicycle_attributes.ref_types(){'bicycle_access_override': ['first_segment', 'segment'], 'bicycle_protection_type': ['first_segment', 'segment'], 'bicycle_travel_direction_override': ['first_segment', 'segment'], 'dedicated_bicycle_path': ['first_segment', 'segment'], 'bicycle_path': ['first_segment', 'segment'], 'bicycle_access_verified': ['first_segment', 'segment']}
types_to_df(bicycle_attributes.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| bicycle_access_override | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_protection_type | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_travel_direction_override | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| dedicated_bicycle_path | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_path | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
| bicycle_access_verified | here.content.hmc2.base_attributes.Attribute | False | False | first_segment, segment |
tiles = [19318110]
df = bicycle_attributes.get_referencing(tiles, "bicycle_path", "segment")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.separately_digitized | attribute.dedicated_bicycle_path | attribute.surface_type | ||
|---|---|---|---|---|---|---|---|
| ref_partition | ref_identifier | ||||||
| 19318110 | here:cm:segment:399602652 | [{'ref': {'partition': '19318110', 'identifier... | True | True | True | SIDE_UNKNOWN | SURFACE_TYPE_UNKNOWN |
| here:cm:segment:420339828 | [{'ref': {'partition': '19318110', 'identifier... | True | True | True | SIDE_UNKNOWN | SURFACE_TYPE_UNKNOWN |
df = bicycle_attributes.get_referencing(tiles, "dedicated_bicycle_path", "segment")
df.head(2).dataframe thead th {text-align: right;}
3.12 Places Metadata
Layer Id - places-metadata
places_metadata = hmc.places_metadata
types_to_df(places_metadata.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| category_system | here.content.hmc2.metadata.CategorySystem | False | True | None |
| category | here.content.hmc2.metadata.Category | False | True | None |
places_metadata.get("all", "category_system").dataframe thead th {text-align: right;}
| name.text.value | name.text.language | name.name_type | name.representation | name.exonym | description | |
|---|---|---|---|---|---|---|
| identifier | ||||||
| here:pds:chain_families:chain_families | chain_families | NAME_TYPE_UNKNOWN | [] | False | <NA> | |
| here:pds:chains:chains | chains | NAME_TYPE_UNKNOWN | [] | False | <NA> | |
| here:pds:izumi:izumi | izumi | NAME_TYPE_UNKNOWN | [] | False | <NA> | |
| here:pds:lcms-foodtype:lcms-foodtype | lcms-foodtype | NAME_TYPE_UNKNOWN | [] | False | <NA> | |
| here:pds:navteq-lcms:navteq-lcms | navteq-lcms | NAME_TYPE_UNKNOWN | [] | False | <NA> | |
| here:pds:nokia-foodtype:nokia-foodtype | nokia-foodtype | NAME_TYPE_UNKNOWN | [] | False | <NA> |
df = places_metadata.get("all", "category")
df.head(2).dataframe thead th {text-align: right;}
| name.text.value | name.text.language | name.name_type | name.representation | name.exonym | description | category_system | description.text.value | description.text.language | description.name_type | description.representation | description.exonym | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| identifier | ||||||||||||
| here:pds:chain_families:10001 | BMW | en | NAME_TYPE_UNKNOWN | [] | False | <NA> | here:pds:chain_families:chain_families | NaN | NaN | NaN | NaN | NaN |
| here:pds:chain_families:10002 | FIAT | en | NAME_TYPE_UNKNOWN | [] | False | <NA> | here:pds:chain_families:chain_families | NaN | NaN | NaN | NaN | NaN |
3.13 Building Metadata
Layer Id - building-metadata
building_metadata = hmc.building_metadata
types_to_df(building_metadata.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| category_system | here.content.hmc2.metadata.CategorySystem | False | True | None |
| category | here.content.hmc2.metadata.Category | False | True | None |
building_metadata.get("all", "category_system").dataframe thead th {text-align: right;}
| name.text.value | name.text.language | name.name_type | name.representation | name.exonym | description.text.value | description.text.language | description.name_type | description.representation | description.exonym | |
|---|---|---|---|---|---|---|---|---|---|---|
| identifier | ||||||||||
| here:cm:building-category:1999217009 | FEATSTP | NAME_TYPE_UNKNOWN | [] | False | Feature Sub-Types | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:building-category:1999021584 | FEATURE | NAME_TYPE_UNKNOWN | [] | False | Feature Type | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:building-category:7979404116 | JPN_CARTOFEATURE_TYPES | NAME_TYPE_UNKNOWN | [] | False | Cartofeatures that are unique to Japan | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:building-category:7979406126 | JPN_FEATSTP | NAME_TYPE_UNKNOWN | [] | False | Japan specific building types | NAME_TYPE_UNKNOWN | [] | False |
df = building_metadata.get("all", "category")
df.head(2).dataframe thead th {text-align: right;}
| name.text.value | name.text.language | name.name_type | name.representation | name.exonym | description | category_system | |
|---|---|---|---|---|---|---|---|
| identifier | |||||||
| here:cm:building-category:2005000 | BUSINESS/COMMERCE BUILDING/LANDMARK | NAME_TYPE_UNKNOWN | [] | False | <NA> | here:cm:building-category:1999217009 | |
| here:cm:building-category:2005000 | Business/Commerce Building/Landmark | NAME_TYPE_UNKNOWN | [] | False | <NA> | here:cm:building-category:1999021584 |
3.14 Cartography Metadata
Layer Id - cartography-metadata
cartography_metadata = hmc.cartography_metadata
types_to_df(places_metadata.object_types())
.dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| category_system | here.content.hmc2.metadata.CategorySystem | False | True | None |
| category | here.content.hmc2.metadata.Category | False | True | None |
cartography_metadata.get("all", "category_system").dataframe thead th {text-align: right;}
| name.text.value | name.text.language | name.name_type | name.representation | name.exonym | description.text.value | description.text.language | description.name_type | description.representation | description.exonym | |
|---|---|---|---|---|---|---|---|---|---|---|
| identifier | ||||||||||
| here:cm:carto-category:1999893136 | CLS_PUBLISHED_FEATURES | NAME_TYPE_UNKNOWN | [] | False | CLS_PUBLISHED_FEATURES | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:carto-category:1999021599 | DISPCLAS | NAME_TYPE_UNKNOWN | [] | False | Display Class | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:carto-category:1999021584 | FEATURE | NAME_TYPE_UNKNOWN | [] | False | Feature Type | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:carto-category:7979866573 | HMC_CARTO | NAME_TYPE_UNKNOWN | [] | False | Carto features used by global HMC | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:carto-category:7979404116 | JPN_CARTOFEATURE_TYPES | NAME_TYPE_UNKNOWN | [] | False | Cartofeatures that are unique to Japan | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:carto-category:7979406126 | JPN_FEATSTP | NAME_TYPE_UNKNOWN | [] | False | Japan specific building types | NAME_TYPE_UNKNOWN | [] | False | ||
| here:cm:carto-category:1999918379 | LANDCOVER_CLASS | NAME_TYPE_UNKNOWN | [] | False | LANDCOVER_CLASS | NAME_TYPE_UNKNOWN | [] | False |
df = cartography_metadata.get("all", "category")
df.head(2).dataframe thead th {text-align: right;}
| name.text.value | name.text.language | name.name_type | name.representation | name.exonym | description | category_system | |
|---|---|---|---|---|---|---|---|
| identifier | |||||||
| here:cm:carto-category: | NOT APPLICABLE | NAME_TYPE_UNKNOWN | [] | False | <NA> | here:cm:carto-category:1999021599 | |
| here:cm:carto-category:1 | FIRST CLASS | NAME_TYPE_UNKNOWN | [] | False | <NA> | here:cm:carto-category:1999021599 |
3.15 Here Places
here_places = hmc.here_places
types_to_df(here_places.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| supplier | here.content.hmc2.models.Supplier | True | True | None |
| author | here.content.hmc2.models.Author | True | False | None |
| place | here.content.hmc2.models.Place | True | True | None |
| external_identifier | here.content.hmc2.models.ExternalIdentifier | True | True | None |
| contact_information | here.content.hmc2.models.ContactInformation | True | False | None |
| operating_time | here.content.hmc2.models.OperatingTime | True | False | None |
| feedback | here.content.hmc2.models.Feedback | True | False | None |
| payment | here.content.hmc2.models.Payment | True | False | None |
| relationship_attribute | here.content.hmc2.models.RelationshipAttribute | True | False | None |
| capacity_attribute | here.content.hmc2.models.CapacityAttribute | True | False | None |
| internet_connection_attribute | here.content.hmc2.models.InternetConnectionAtt... | True | False | None |
| price_range | here.content.hmc2.models.PriceRange | True | False | None |
| spoken_language | here.content.hmc2.models.SpokenLanguage | True | False | None |
| qr_code_attribute | here.content.hmc2.models.QrCodeAttribute | True | False | None |
| verification_attribute | here.content.hmc2.models.VerificationAttribute | True | False | None |
| media_reference_attribute | here.content.hmc2.models.MediaReferenceAttribute | True | False | None |
| quality_score | here.content.hmc2.models.QualityScore | True | False | None |
| place_access_attribute | here.content.hmc2.models.PlaceAccessAttribute | True | False | None |
| amenities_attribute | here.content.hmc2.models.AmenitiesAttribute | True | False | None |
| alcohol_service_attribute | here.content.hmc2.models.AlcoholServiceAttribute | True | False | None |
| basic_info_attribute | here.content.hmc2.models.BasicInfoAttribute | True | False | None |
| other_information | here.content.hmc2.models.OtherInformation | True | False | None |
| electric_charge_attribute | here.content.hmc2.models.ElectricChargeAttribute | True | False | None |
| hotel_attribute | here.content.hmc2.models.HotelAttribute | True | False | None |
| location_information | here.content.hmc2.models.LocationInformation | True | False | None |
| parking_attribute | here.content.hmc2.models.ParkingAttribute | True | False | None |
| restaurant_attribute | here.content.hmc2.models.RestaurantAttribute | True | False | None |
| transit_attribute | here.content.hmc2.models.TransitAttribute | True | False | None |
| vehicle_services_attribute | here.content.hmc2.models.VehicleServicesAttribute | True | False | None |
| address | here.content.hmc2.models.Address | True | False | None |
| location | here.content.hmc2.models.Location | True | True | None |
| truck_attribute | here.content.hmc2.models.TruckAttribute | True | False | None |
| fuel_type_attribute | here.content.hmc2.models.FuelTypeAttribute | True | False | None |
| social_signal | here.content.hmc2.models.SocialSignal | True | False | None |
| port_attribute | here.content.hmc2.models.PortAttribute | True | False | None |
| safety_camera | here.content.hmc2.models.SafetyCamera | True | False | None |
| black_spot | here.content.hmc2.models.BlackSpot | True | False | None |
| match_level_attribute | here.content.hmc2.models.MatchLevelAttribute | True | False | None |
| affiliation_attribute | here.content.hmc2.models.AffiliationAttribute | True | False | None |
| office_type_attribute | here.content.hmc2.models.OfficeTypeAttribute | True | False | None |
| note_type_attribute | here.content.hmc2.models.NoteTypeAttribute | True | False | None |
| place_category_confidence_attribute | here.content.hmc2.models.PlaceCategoryConfiden... | True | False | None |
| popularity_attribute | here.content.hmc2.models.PopularityAttribute | True | False | None |
| vendor_url_attribute | here.content.hmc2.models.VendorUrlAttribute | True | False | None |
df = here_places.get("19319399", "external_identifier")
df.head(2).dataframe thead th {text-align: right;}
| places | supplier.partition_id | supplier.id | supplier.names | supplier.category.partition | supplier.category.identifier | inactive | category.partition | category.identifier | type | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| partition_id | id | ||||||||||
| 19319399 | -0Mrmlbum_Eii7fo8POhQQ | [{'partition_id': '19319399', 'id': 'here:pds:... | 19319399 | here:pds:placesupplier:yelp | [{'text': {'value': 'yelp', 'language': ''}, '... | all | here:pds:navteq-lcms:900-9300-0221 | False | SUPPLIER_POIID | ||
| -2VLIpgTdqoWMckVAS1b7Q | [{'partition_id': '19319399', 'id': 'here:pds:... | 19319399 | here:pds:placesupplier:yelp | [{'text': {'value': 'yelp', 'language': ''}, '... | all | here:pds:navteq-lcms:900-9300-0221 | False | SUPPLIER_POIID |
4. Multilayer Bindings
4.1 Administrative boundary for a segment
This binding associates segment with administrative boundary.
Layer Ids - administrative-places , administrative-locations
segment_admin_boundary = hmc.segment_admin_boundary
types_to_df(segment_admin_boundary.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| segment_admin_boundary | here.content.hmc2.segment_admin_boundary.Segme... | True | False | segment, place |
df = segment_admin_boundary.get(17302684, "segment_admin_boundary")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | place_ref.partition | place_ref.identifier | place_name | admin_category | location.partition_id | location.location_id | location.location_type | ... | location.segment_anchor.oriented_segment_ref | location.segment_anchor.attribute_orientation | location.segment_anchor_side | location.accessors | location.political_geometry | location.alternate_geometry | location.within_location_ref.partition_name | location.within_location_ref.identifier | location.bounding_box | location.level_info | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| partition_id | |||||||||||||||||||||
| 17302684 | [{'ref': {'partition': '17302684', 'identifier... | True | True | 23060936-27869540-27869541 | here:cm:namedplace:27869542 | [{'text': {'value': 'Chatham Islands', 'langua... | city | 23060936-27869540-27869541 | here:cm:namedplace-loc:27869542 | AREA | ... | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] | ||||
| 17302684 | [{'ref': {'partition': '17302684', 'identifier... | True | True | 23060936-27869540-27869541 | here:cm:namedplace:27869549 | [{'text': {'value': '8016', 'language': ''}, '... | postal_code | 23060936-27869540-27869541 | here:cm:namedplace-loc:27869549 | AREA | ... | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] |
2 rows × 24 columns
df = segment_admin_boundary.get(17302684, "segment_admin_boundary")
df.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | place_ref.partition | place_ref.identifier | place_name | admin_category | location.partition_id | location.location_id | location.location_type | ... | location.segment_anchor.oriented_segment_ref | location.segment_anchor.attribute_orientation | location.segment_anchor_side | location.accessors | location.political_geometry | location.alternate_geometry | location.within_location_ref.partition_name | location.within_location_ref.identifier | location.bounding_box | location.level_info | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| partition_id | |||||||||||||||||||||
| 17302684 | [{'ref': {'partition': '17302684', 'identifier... | True | True | 23060936-27869540-27869541 | here:cm:namedplace:27869542 | [{'text': {'value': 'Chatham Islands', 'langua... | city | 23060936-27869540-27869541 | here:cm:namedplace-loc:27869542 | AREA | ... | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] | ||||
| 17302684 | [{'ref': {'partition': '17302684', 'identifier... | True | True | 23060936-27869540-27869541 | here:cm:namedplace:27869549 | [{'text': {'value': '8016', 'language': ''}, '... | postal_code | 23060936-27869540-27869541 | here:cm:namedplace-loc:27869549 | AREA | ... | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] |
2 rows × 24 columns
### Construct a new Reference by giving partition and identifier.
segment_ref = make_ref("17302684", "here:cm:segment:499005300")segment_admin_boundary_atts = segment_admin_boundary.get_referencing("17302684", "segment_admin_boundary",
"segment", segment_ref)
segment_admin_boundary_atts.head(2).dataframe thead th {text-align: right;}
| partition_id | segments | forward | backward | place_ref.partition | place_ref.identifier | place_name | admin_category | location.partition_id | location.location_id | ... | location.segment_anchor.oriented_segment_ref | location.segment_anchor.attribute_orientation | location.segment_anchor_side | location.accessors | location.political_geometry | location.alternate_geometry | location.within_location_ref.partition_name | location.within_location_ref.identifier | location.bounding_box | location.level_info | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 17302684 | [{'ref': {'partition': '17302684', 'identifier... | True | True | 23060936-27869540-27869541 | here:cm:namedplace:27869542 | [{'text': {'value': 'Chatham Islands', 'langua... | city | 23060936-27869540-27869541 | here:cm:namedplace-loc:27869542 | ... | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] | ||||
| 1 | 17302684 | [{'ref': {'partition': '17302684', 'identifier... | True | True | 23060936-27869540-27869541 | here:cm:namedplace:27869549 | [{'text': {'value': '8016', 'language': ''}, '... | postal_code | 23060936-27869540-27869541 | here:cm:namedplace-loc:27869549 | ... | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] |
2 rows × 25 columns
### Construct a new Reference by giving partition and identifier.
place_ref = make_ref("23060936", "here:cm:namedplace:23060936")place_admin_boundary_atts = segment_admin_boundary.get_referencing("17302684", "segment_admin_boundary",
"place", place_ref)
place_admin_boundary_atts.dataframe thead th {text-align: right;}
| partition_id | segments | forward | backward | place_ref.partition | place_ref.identifier | place_name | admin_category | location.partition_id | location.location_id | ... | location.segment_anchor.oriented_segment_ref | location.segment_anchor.attribute_orientation | location.segment_anchor_side | location.accessors | location.political_geometry | location.alternate_geometry | location.within_location_ref.partition_name | location.within_location_ref.identifier | location.bounding_box | location.level_info | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 17302684 | [{'ref': {'partition': '17302684', 'identifier... | True | True | 23060936 | here:cm:namedplace:23060936 | [{'text': {'value': 'New Zealand', 'language':... | country | 23060936 | here:cm:namedplace-loc:23060936 | ... | [] | RELATIVE_DIRECTION_UNKNOWN | SIDE_UNKNOWN | <NA> | [] | [] |
1 rows × 25 columns
4.2 Environmental zones for a segment
This binding associates segment with environmental zones.
Layer Ids - environmental_zones, navigation-attributes
ezc = hmc.environmental_zone_conditions
display(ezc)<here.content.hmc2.environmental_zone_conditions.EnvironmentalZoneConditions at 0x7efbbd5d6680>
types_to_df(ezc.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| segment_to_environmental_zone | here.content.hmc2.environmental_zone_condition... | True | False | location, segment |
data_ezc = ezc.get(partition = 23618402, object_type = 'segment_to_environmental_zone')
data_ezc.head(2).dataframe thead th {text-align: right;}
| segment_ref.ref.partition | segment_ref.ref.identifier | segment_ref.inverted | segment_ref.offset.start | segment_ref.offset.end | forward | backward | applies_to.automobiles | applies_to.buses | applies_to.taxis | ... | zone.name | zone.info.description | zone.info.website.value | zone.info.website.language | zone.info.version_date | zone.info.extent_date | zone.info.country | zone.vehicle_class | zone.environmental_badge | zone.location_ref | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| partition_id | |||||||||||||||||||||
| 23618402 | 23618402 | here:cm:segment:100005273 | False | <NA> | <NA> | True | True | True | True | True | ... | [{'text': {'value': 'Berlin Umweltzone', 'lang... | [{'value': 'Die Umweltzone der Stadt Berlin is... | https://www.berlin.de/senuvk/umwelt/luftqualit... | 2019-05-09 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23618400', 'identifier': 'here... | |
| 23618402 | 23618402 | here:cm:segment:100005286 | False | <NA> | <NA> | True | True | True | True | True | ... | [{'text': {'value': 'Berlin Umweltzone', 'lang... | [{'value': 'Die Umweltzone der Stadt Berlin is... | https://www.berlin.de/senuvk/umwelt/luftqualit... | 2019-05-09 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23618400', 'identifier': 'here... |
2 rows × 29 columns
data_ezc.iloc[0]['zone.location_ref'][{'partition': '23618400', 'identifier': 'here:cm:carto-loc:1415962522'}]
### Construct a new Reference by giving partition and identifier.
ref = make_ref(23618402, "here:cm:segment:92642459")data = ezc.get_referencing(partition = 23618402,
object_type = 'segment_to_environmental_zone',
ref_type='segment',
referenced_obj=ref)
data.dataframe thead th {text-align: right;}
| partition_id | segment_ref.ref.partition | segment_ref.ref.identifier | segment_ref.inverted | segment_ref.offset.start | segment_ref.offset.end | forward | backward | applies_to.automobiles | applies_to.buses | ... | zone.name | zone.info.description | zone.info.website.value | zone.info.website.language | zone.info.version_date | zone.info.extent_date | zone.info.country | zone.vehicle_class | zone.environmental_badge | zone.location_ref | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 23618402 | 23618402 | here:cm:segment:92642459 | False | <NA> | 0.512538 | True | True | True | True | ... | [{'text': {'value': 'Berlin Umweltzone', 'lang... | [{'value': 'Die Umweltzone der Stadt Berlin is... | https://www.berlin.de/senuvk/umwelt/luftqualit... | 2019-05-09 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23618400', 'identifier': 'here... | |
| 1 | 23618402 | 23618402 | here:cm:segment:92642459 | False | 0.512538 | <NA> | True | True | True | True | ... | [{'text': {'value': 'Berlin Umweltzone', 'lang... | [{'value': 'Die Umweltzone der Stadt Berlin is... | https://www.berlin.de/senuvk/umwelt/luftqualit... | 2019-05-09 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23618400', 'identifier': 'here... |
2 rows × 30 columns
### Construct a new Reference by giving partition and identifier.
ref = make_ref(23618400, "here:cm:carto-loc:1415962522")data = ezc.get_referencing(partition = 23618402,
object_type = 'segment_to_environmental_zone',
ref_type='location',
referenced_obj=ref)
data.head(2).dataframe thead th {text-align: right;}
| partition_id | segment_ref.ref.partition | segment_ref.ref.identifier | segment_ref.inverted | segment_ref.offset.start | segment_ref.offset.end | forward | backward | applies_to.automobiles | applies_to.buses | ... | zone.name | zone.info.description | zone.info.website.value | zone.info.website.language | zone.info.version_date | zone.info.extent_date | zone.info.country | zone.vehicle_class | zone.environmental_badge | zone.location_ref | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 23618402 | 23618402 | here:cm:segment:100005273 | False | <NA> | <NA> | True | True | True | True | ... | [{'text': {'value': 'Berlin Umweltzone', 'lang... | [{'value': 'Die Umweltzone der Stadt Berlin is... | https://www.berlin.de/senuvk/umwelt/luftqualit... | 2019-05-09 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23618400', 'identifier': 'here... | |
| 1 | 23618402 | 23618402 | here:cm:segment:100005286 | False | <NA> | <NA> | True | True | True | True | ... | [{'text': {'value': 'Berlin Umweltzone', 'lang... | [{'value': 'Die Umweltzone der Stadt Berlin is... | https://www.berlin.de/senuvk/umwelt/luftqualit... | 2019-05-09 | 2019-01-01 | GERMANY | [{'vehicle_attributes': {'category': 'AUTO', '... | [{'badge_type': 'DEU_GREEN_STICKER', 'zone_acc... | [{'partition': '23618400', 'identifier': 'here... |
2 rows × 30 columns
data_ezc.iloc[0]segment_ref.ref.partition 23618402
segment_ref.ref.identifier here:cm:segment:100005273
segment_ref.inverted False
segment_ref.offset.start
4.3 Street name for a segment
This binding associates segment with administrative boundary.
Layer Id - address-attributes, street-names
segment_street_names = hmc.segment_street_namessegment_street = segment_street_names.get(["20371958","17434043"], "street_section")
segment_street.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.side | attribute.property | attribute.street_section | |
|---|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '20371958', 'identifier... | True | True | BOTH_SIDES | [EXPLICATABLE, NAME_ON_ROADSIGN] | StreetSection(partition_id='20317122-23489553'... |
| 1 | [{'ref': {'partition': '20371958', 'identifier... | True | True | BOTH_SIDES | [EXPLICATABLE, NAME_ON_ROADSIGN] | StreetSection(partition_id='20317122-23489553'... |
segment_street = segment_street_names.get(["20371958","17434043"], "address_range")
segment_street.head(2).dataframe thead th {text-align: right;}
| segments | forward | backward | attribute.address_range_type | attribute.format | attribute.side | attribute.postal_mapping | attribute.address_type | attribute.scheme | attribute.first_house_number | attribute.last_house_number | attribute.street_section | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | [{'ref': {'partition': '20371958', 'identifier... | True | True | LOGICAL | UNADDRESSED | LEFT_SIDE | [{'match_category': 'ADDRESS_RANGE_MATCH', 'fi... | BASE | ADDRESS_SCHEME_UNKNOWN | [StreetSection(partition_id='20317122-23489553... | ||
| 1 | [{'ref': {'partition': '20371958', 'identifier... | True | True | LOGICAL | UNADDRESSED | LEFT_SIDE | [{'match_category': 'ADDRESS_RANGE_MATCH', 'fi... | BASE | ADDRESS_SCHEME_UNKNOWN | [StreetSection(partition_id='20317122-23489553... |
4.4 ADAS Attributes
This binding associates Topology Geometry with ADAS layer.
Layer Id - ADAS Attributes
adas_attributes = hmc.adas_attributes
partition_id = ['18508594','18608750']
types_to_df(adas_attributes.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| curvature | here.content.hmc2.adas_attributes.Curvature | True | False | None |
| heading | here.content.hmc2.adas_attributes.Heading | True | False | None |
| elevation | here.content.hmc2.adas_attributes.Elevation | True | False | None |
| slope | here.content.hmc2.adas_attributes.Slope | True | False | None |
| link_accuracy | here.content.hmc2.adas_attributes.LinkAccuracy | True | False | None |
| built_up_area_road | here.content.hmc2.adas_attributes.BuiltupAreaRoad | True | False | None |
curvature_attribute = adas_attributes.get(partition_id, 'curvature')
curvature_attribute.head(2).dataframe thead th {text-align: right;}
| segment_anchors | curvature | |
|---|---|---|
| partition_id | ||
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | -1000000 |
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | -958604 |
heading_attribute = adas_attributes.get(partition_id, 'heading')
heading_attribute.head(2).dataframe thead th {text-align: right;}
| segment_anchors | heading | |
|---|---|---|
| partition_id | ||
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | 0 |
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | 6 |
slope_attribute = adas_attributes.get(partition_id, 'slope')
slope_attribute.head(2).dataframe thead th {text-align: right;}
| segment_anchors | slope | accuracy | |
|---|---|---|---|
| partition_id | |||
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | -21000 | BASIC |
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | -20994 | BASIC |
elevation_attribute = adas_attributes.get(partition_id, 'elevation')
elevation_attribute.head(2).dataframe thead th {text-align: right;}
| segment_anchors | elevation | accuracy | signed_elevation | node_anchors | |
|---|---|---|---|---|---|
| partition_id | |||||
| 18508594 | <NA> | 2335 | BASIC | 2335 | [Node(partition_id='18508594', node_id='here:c... |
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | 2343 | BASIC | 2343 | <NA> |
link_accuracy_attribute = adas_attributes.get(partition_id, 'link_accuracy')
link_accuracy_attribute.head(2).dataframe thead th {text-align: right;}
| segment_anchors | link_accuracy | |
|---|---|---|
| partition_id | ||
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | 2 |
| 18508594 | [SegmentAnchor(partition_id='18508594', orient... | 4 |
built_up_area_road_attribute = adas_attributes.get(partition_id, 'built_up_area_road')
built_up_area_road_attribute.head(2).dataframe thead th {text-align: right;}
4.5 Composite Road Attributes
This binding associates Composite Road Attribute with ADAS layer.
Layer Id - Composite Road Attributes
composite_road_attributes = hmc.composite_road_attributes
partition_id = ['23195507','23462802','23462789']
types_to_df(composite_road_attributes.object_types()).dataframe thead th {text-align: right;}
| Data Class | Index by partition | Index by ID | Ref Types | |
|---|---|---|---|---|
| Type | ||||
| complex_road_attribute | here.content.hmc2.composite_road_attributes.Co... | True | True | None |
| complex_intersection_attribute | here.content.hmc2.composite_road_attributes.Co... | True | True | None |
| complex_object_attribute | here.content.hmc2.composite_road_attributes.Co... | True | True | None |
complex_object_attribute = composite_road_attributes.get(partition_id, 'complex_object_attribute')
complex_object_attribute.dataframe thead th {text-align: right;}
| node_anchors | segment_anchors | name | valid_unnamed | anchor_point.latitude | anchor_point.longitude | anchor_point.z_level | anchor_point.elevation | ||
|---|---|---|---|---|---|---|---|---|---|
| partition_id | complex_object_id | ||||||||
| 23195507 | here:cm:crf:1493708652 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.58096 | 39.16535 | 0 | 0.0 |
| here:cm:crf:1497800168 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.59759 | 39.15982 | 0 | 0.0 | |
| here:cm:crf:1499287692 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.56455 | 39.17078 | 0 | 0.0 | |
| here:cm:crf:1504000399 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.54156 | 39.15534 | 0 | 0.0 | |
| here:cm:crf:1504006567 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.57577 | 39.17977 | 0 | 0.0 | |
| here:cm:crf:1519617199 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.61966 | 39.16551 | 0 | 0.0 | |
| here:cm:crf:1650073602 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.57973 | 39.19850 | 0 | 0.0 | |
| here:cm:crf:1650125112 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.56808 | 39.18278 | 0 | 0.0 | |
| here:cm:crf:1650131595 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.61969 | 39.18584 | 0 | 0.0 | |
| here:cm:crf:1650133452 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.59982 | 39.19228 | 0 | 0.0 | |
| here:cm:crf:1650144410 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.55941 | 39.18735 | 0 | 0.0 | |
| here:cm:crf:1667168619 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.58440 | 39.17726 | 0 | 0.0 | |
| here:cm:crf:1677169493 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.61388 | 39.15552 | 0 | 0.0 | |
| here:cm:crf:1684284225 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.56041 | 39.19229 | 0 | 0.0 | |
| here:cm:crf:1722897456 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.55587 | 39.17373 | 0 | 0.0 | |
| here:cm:crf:1723827387 | [Node(partition_id='23195507', node_id='here:c... | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.58943 | 39.17533 | 0 | 0.0 | |
| here:cm:crf:544894463 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.54407 | 39.14448 | 0 | 0.0 | |
| here:cm:crf:722159622 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.57475 | 39.14330 | 0 | 0.0 | |
| here:cm:crf:722562744 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.61806 | 39.17726 | 0 | 0.0 | |
| here:cm:crf:725863472 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.60112 | 39.17159 | 0 | 0.0 | |
| here:cm:crf:725904596 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | <NA> | True | 21.54449 | 39.19048 | 0 | 0.0 | |
| 23462802 | here:cm:crf:1578840808 | <NA> | [SegmentAnchor(partition_id='23462802', orient... | <NA> | True | 24.76493 | 46.84140 | 0 | 0.0 |
| here:cm:crf:1681059910 | <NA> | [SegmentAnchor(partition_id='23462802', orient... | <NA> | True | 24.77620 | 46.77654 | 0 | 0.0 | |
| here:cm:crf:1720328913 | <NA> | [SegmentAnchor(partition_id='23462802', orient... | <NA> | True | 24.77734 | 46.83228 | 0 | 0.0 | |
| here:cm:crf:544892244 | <NA> | [SegmentAnchor(partition_id='23462802', orient... | [text {\n value: "Demashq Square"\n}\nname_ty... | False | 24.71451 | 46.76177 | 0 | 0.0 | |
| here:cm:crf:736990579 | <NA> | [SegmentAnchor(partition_id='23462802', orient... | <NA> | True | 24.72163 | 46.77325 | 0 | 0.0 | |
| here:cm:crf:737020957 | <NA> | [SegmentAnchor(partition_id='23462802', orient... | <NA> | True | 24.73022 | 46.78705 | 0 | 0.0 | |
| here:cm:crf:737090233 | <NA> | [SegmentAnchor(partition_id='23462802', orient... | <NA> | True | 24.73816 | 46.79983 | 0 | 0.0 | |
| 23462789 | here:cm:crf:1481339727 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.62703 | 46.69214 | 0 | 0.0 |
| here:cm:crf:1500104605 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.67550 | 46.70346 | 0 | 0.0 | |
| here:cm:crf:1501861080 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.65659 | 46.67867 | 0 | 0.0 | |
| here:cm:crf:1503889262 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.63702 | 46.69261 | 0 | 0.0 | |
| here:cm:crf:1503889263 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.64139 | 46.69289 | 0 | 0.0 | |
| here:cm:crf:1573974308 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.62201 | 46.74738 | 0 | 0.0 | |
| here:cm:crf:1623389228 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.65028 | 46.70229 | 0 | 0.0 | |
| here:cm:crf:1659713397 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.64065 | 46.75989 | 0 | 0.0 | |
| here:cm:crf:1672958913 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.69360 | 46.72322 | 0 | 0.0 | |
| here:cm:crf:38870755 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.65039 | 46.69375 | 0 | 0.0 | |
| here:cm:crf:38882882 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.65003 | 46.68995 | 0 | 0.0 | |
| here:cm:crf:544886286 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.69506 | 46.68057 | 0 | 0.0 | |
| here:cm:crf:544886620 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.67872 | 46.68881 | 0 | 0.0 | |
| here:cm:crf:544886680 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.63101 | 46.70473 | 0 | 0.0 | |
| here:cm:crf:544886681 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.62886 | 46.70501 | 0 | 0.0 | |
| here:cm:crf:544892561 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | [text {\n value: "ميدان النقل"\n}\nname_type:... | False | 24.68823 | 46.71257 | 0 | 0.0 | |
| here:cm:crf:544892572 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.68336 | 46.69967 | 0 | 0.0 | |
| here:cm:crf:544892576 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.68016 | 46.69202 | 0 | 0.0 | |
| here:cm:crf:551627028 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | [text {\n value: "Al Amal Square"\n}\nname_ty... | False | 24.64722 | 46.73287 | 0 | 0.0 | |
| here:cm:crf:551627932 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.64657 | 46.68772 | 0 | 0.0 | |
| here:cm:crf:710121064 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.66694 | 46.71817 | 0 | 0.0 | |
| here:cm:crf:710121148 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.61106 | 46.67182 | 0 | 0.0 | |
| here:cm:crf:710175213 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.65596 | 46.71717 | 0 | 0.0 | |
| here:cm:crf:710175338 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.68626 | 46.70660 | 0 | 0.0 | |
| here:cm:crf:710183532 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | [text {\n value: "ميدان مقديشو"\n}\nname_type... | False | 24.63959 | 46.73664 | 0 | 0.0 | |
| here:cm:crf:710190559 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.66818 | 46.69582 | 0 | 0.0 | |
| here:cm:crf:736822102 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.66088 | 46.68495 | 0 | 0.0 | |
| here:cm:crf:736944566 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.67539 | 46.67818 | 0 | 0.0 | |
| here:cm:crf:737212476 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.68831 | 46.75429 | 0 | 0.0 | |
| here:cm:crf:739486354 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.63000 | 46.71737 | 0 | 0.0 | |
| here:cm:crf:739486355 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.63796 | 46.71781 | 0 | 0.0 | |
| here:cm:crf:739495774 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | <NA> | True | 24.64483 | 46.70301 | 0 | 0.0 |
complex_intersection_attribute = composite_road_attributes.get(partition_id, 'complex_intersection_attribute')
complex_intersection_attribute.dataframe thead th {text-align: right;}
| node_anchors | segment_anchors | ||
|---|---|---|---|
| partition_id | complex_intersection_id | ||
| 23195507 | here:cm:crf:1410280611 | [Node(partition_id='23195507', node_id='here:c... | [SegmentAnchor(partition_id='23195507', orient... |
| here:cm:crf:1410310487 | [Node(partition_id='23195507', node_id='here:c... | [SegmentAnchor(partition_id='23195507', orient... | |
| here:cm:crf:1418600386 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | |
| here:cm:crf:1457805913 | <NA> | [SegmentAnchor(partition_id='23195507', orient... | |
| here:cm:crf:1457807146 | [Node(partition_id='23195507', node_id='here:c... | [SegmentAnchor(partition_id='23195507', orient... | |
| ... | ... | ... | ... |
| 23462789 | here:cm:crf:740764272 | [Node(partition_id='23462789', node_id='here:c... | <NA> |
| here:cm:crf:740764273 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | |
| here:cm:crf:740764274 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | |
| here:cm:crf:740764275 | <NA> | [SegmentAnchor(partition_id='23462789', orient... | |
| here:cm:crf:741489237 | <NA> | [SegmentAnchor(partition_id='23462789', orient... |
9348 rows × 2 columns
complex_road_attribute = composite_road_attributes.get(partition_id,'complex_road_attribute')
complex_road_attribute.dataframe thead th {text-align: right;}
| segment_anchors | start_complex_intersection_ref.identifier | start_complex_intersection_ref.partition_name | end_complex_intersection_ref.identifier | end_complex_intersection_ref.partition_name | ||
|---|---|---|---|---|---|---|
| partition_id | complex_road_id | |||||
| 23195507 | here:cm:crf:1410280612 | [SegmentAnchor(partition_id='23195507', orient... | here:cm:crf:704229234 | here:cm:crf:1410280611 | ||
| here:cm:crf:1457805915 | [SegmentAnchor(partition_id='23195507', orient... | here:cm:crf:1457805913 | here:cm:crf:544887755 | |||
| here:cm:crf:1457807153 | [SegmentAnchor(partition_id='23195507', orient... | here:cm:crf:1457807146 | here:cm:crf:734900193 | |||
| here:cm:crf:1457807154 | [SegmentAnchor(partition_id='23195507', orient... | here:cm:crf:1497853257 | here:cm:crf:1457807146 | |||
| here:cm:crf:1457807155 | [SegmentAnchor(partition_id='23195507', orient... | here:cm:crf:1457807148 | here:cm:crf:544894522 | |||
| ... | ... | ... | ... | ... | ... | ... |
| 23462789 | here:cm:crf:740764278 | [SegmentAnchor(partition_id='23462789', orient... | here:cm:crf:740764271 | here:cm:crf:740764274 | ||
| here:cm:crf:740764279 | [SegmentAnchor(partition_id='23462789', orient... | here:cm:crf:740764272 | here:cm:crf:740764275 | |||
| here:cm:crf:741489238 | [SegmentAnchor(partition_id='23462789', orient... | here:cm:crf:741489237 | here:cm:crf:544869158 | |||
| here:cm:crf:741489239 | [SegmentAnchor(partition_id='23462789', orient... | here:cm:crf:544869165 | here:cm:crf:741489237 | |||
| here:cm:crf:743367541 | [SegmentAnchor(partition_id='23462789', orient... | here:cm:crf:1672893600 | here:cm:crf:544884808 |
9429 rows × 5 columns
5. Download notebook
To run the notebook on your local machine, please refer to link below.
url = os.path.abspath("")
notebook_name = 'hmc.ipynb'
notebook = FileLink(f"{url}/{notebook_name}", result_html_prefix="Click here to download: ")
display(notebook)Click here to download: /builds/sdk/pysdk-nagini/dev_guide/notebooks/hmc.ipynb
Updated last month