{"id":50749,"date":"2021-04-02T00:00:00","date_gmt":"2021-04-02T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/"},"modified":"2025-11-14T07:54:43","modified_gmt":"2025-11-14T15:54:43","slug":"creating-a-performance-tracker-for-car-races-collecting-race-data-part-2","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/","title":{"rendered":"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b &#8211; \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2)"},"content":{"rendered":"<h2>\u306f\u3058\u3081\u306b<\/h2>\n<p>\u30c7\u30fc\u30bf\u5206\u6790\u3068\u306f\u3001\u751f\u30c7\u30fc\u30bf\u304b\u3089\u610f\u5473\u306e\u3042\u308b\u30c7\u30fc\u30bf\u3092\u5f97\u308b\u305f\u3081\u306e\u30d7\u30ed\u30bb\u30b9\u3067\u3059\u3002\u9069\u5207\u306a\u5206\u6790\u3092\u884c\u308f\u306a\u3051\u308c\u3070\u3001\u3069\u3093\u306a\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3082\u5358\u306a\u308b\u60c5\u5831\u306e\u96c6\u307e\u308a\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u30c7\u30fc\u30bf\u53ef\u8996\u5316\u306e\u624b\u6cd5\u3092\u7528\u3044\u3066\u3001\u69cb\u9020\u5316\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092\u610f\u5473\u306e\u3042\u308b\u30c7\u30fc\u30bf\u306b\u5909\u63db\u3059\u308b\u65b9\u6cd5\u3092\u5b66\u3073\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/griddb.net\/ja\/blog\/creating-a-performance-tracker-for-car-races-collecting-race-data\/\">\u524d\u56de\u306e\u8a18\u4e8b<\/a>\u3067\u306f\u3001\u69cb\u9020\u5316\u3055\u308c\u305f\u65b9\u6cd5\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3059\u308b\u65b9\u6cd5\u3068\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u308a\u51fa\u3059\u65b9\u6cd5\u3092\u5b66\u3073\u307e\u3057\u305f\u3002\u4eca\u56de\u306e\u8a18\u4e8b\u3067\u306f\u3001\u30c7\u30fc\u30bf\u306e\u53ef\u8996\u5316\u306b\u3088\u3063\u3066\u5b9f\u73fe\u3067\u304d\u308b\u3053\u3068\u3068\u3001\u5206\u6790\u306e\u30cb\u30fc\u30ba\u306b\u5408\u308f\u305b\u3066\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u65b9\u6cd5\u306b\u7126\u70b9\u3092\u5f53\u3066\u307e\u3059\u3002<\/p>\n<h2>\u524d\u63d0\u6761\u4ef6<\/h2>\n<p>\u3053\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3067\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3068\u3057\u3066Python\u3092\u4f7f\u7528\u3057\u3001\u30c7\u30fc\u30bf\u5206\u6790\u3068\u8996\u899a\u5316\u306e\u305f\u3081\u306bpandas\u3001matplotlib\u3001folium\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u5229\u7528\u3057\u307e\u3059\u3002\u307e\u305f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3068\u306e\u9023\u643a\u306b\u306f\u3001GridDB Python\u30b3\u30cd\u30af\u30bf\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>\u3055\u3089\u306b\u3001GridDB\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u8a2d\u5b9a\u3057\u3001<a href=\"https:\/\/www.kaggle.com\/\">Kaggle<\/a>\u304b\u3089\u5165\u624b\u3057\u305f<a href=\"https:\/\/www.kaggle.com\/rohanrao\/formula-1-world-championship-1950-2020?select=lap_times.csv\">Formula 1 World Championship (1950 &#8211; 2020)<\/a>\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u304b\u3089\u5fc5\u8981\u306a\u3059\u3079\u3066\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h2>\u30c7\u30fc\u30bf\u69cb\u9020<\/h2>\n<p>\u4ee5\u4e0b\u306f\u3001\u30c7\u30fc\u30bf\u306e\u53ef\u8996\u5316\u306b\u4f7f\u7528\u3059\u308bGridDB\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5185\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3067\u3059\u3002<\/p>\n<p><style type=\"text\/css\">\n  .tg  {border-collapse:collapse;border-spacing:0;}\n.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;\n  overflow:hidden;padding:10px 5px;word-break:normal;}\n.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;\n  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}\n.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}\n.tg .tg-0lax{text-align:left;vertical-align:top}\n<\/style>\n<\/p>\n<table class=\"tg\">\n<thead>\n<tr>\n<th class=\"tg-0pky\">\n        \u30d5\u30a3\u30fc\u30eb\u30c9\u540d\n      <\/th>\n<th class=\"tg-0pky\">\n        \u30c7\u30fc\u30bf\u578b (GridDB)\n      <\/th>\n<th class=\"tg-0pky\">\n        \u5099\u8003\n      <\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"tg-0pky\">\n        CircuitID\n      <\/td>\n<td class=\"tg-0pky\">\n        INTEGER\n      <\/td>\n<td class=\"tg-0pky\">\n        \u30b5\u30fc\u30ad\u30c3\u30c8\u306e\u8b58\u5225\u5b50\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        CircuitRef\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        name\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        location\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n        \u30b5\u30fc\u30ad\u30c3\u30c8\u304c\u3042\u308b\u90fd\u5e02\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        country\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        lat\n      <\/td>\n<td class=\"tg-0pky\">\n        FLOAT\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        lng\n      <\/td>\n<td class=\"tg-0pky\">\n        FLOAT\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0lax\">\n        url\n      <\/td>\n<td class=\"tg-0lax\">\n        String\n      <\/td>\n<td class=\"tg-0lax\">\n        Wiki\u8a18\u4e8b\u306eURL\n      <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><style type=\"text\/css\">\n  .tg  {border-collapse:collapse;border-spacing:0;}\n.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;\n  overflow:hidden;padding:10px 5px;word-break:normal;}\n.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;\n  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}\n.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}\n<\/style>\n<\/p>\n<table class=\"tg\">\n<thead>\n<tr>\n<th class=\"tg-0pky\">\n        \u30d5\u30a3\u30fc\u30eb\u30c9\u540d\n      <\/th>\n<th class=\"tg-0pky\">\n        \u30c7\u30fc\u30bf\u578b (GridDB)\n      <\/th>\n<th class=\"tg-0pky\">\n        \u5099\u8003\n      <\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"tg-0pky\">\n        raceid\n      <\/td>\n<td class=\"tg-0pky\">\n        INTEGER\n      <\/td>\n<td class=\"tg-0pky\">\n        \u30ec\u30fc\u30b9\u306e\u8b58\u5225\u5b50\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        year\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        round\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        circuitid\n      <\/td>\n<td class=\"tg-0pky\">\n        INTEGER\n      <\/td>\n<td class=\"tg-0pky\">\n        \u30b5\u30fc\u30ad\u30c3\u30c8\u304c\u3042\u308b\u90fd\u5e02\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        name\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        raceTime\n      <\/td>\n<td class=\"tg-0pky\">\n        TIMESTAMP\n      <\/td>\n<td class=\"tg-0pky\">\n      <\/td>\n<\/tr>\n<tr>\n<td class=\"tg-0pky\">\n        url\n      <\/td>\n<td class=\"tg-0pky\">\n        STRING\n      <\/td>\n<td class=\"tg-0pky\">\n        Wiki\u8a18\u4e8b\u306eURL\n      <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u57fa\u672c\u7684\u306a\u30c7\u30fc\u30bf\u306e\u898b\u305b\u65b9<\/h2>\n<p>\u30c7\u30fc\u30bf\u3092\u5206\u6790\u3057\u305f\u308a\u53ef\u8996\u5316\u3057\u305f\u308a\u3059\u308b\u524d\u306b\u3001\u307e\u305a\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u30c7\u30fc\u30bf\u306e\u53d6\u5f97\u65b9\u6cd5\u306b\u3064\u3044\u3066\u5c11\u3057\u304a\u3055\u3089\u3044\u3057\u307e\u3059\u3002GridDB \u306f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u554f\u3044\u5408\u308f\u305b\u3092\u884c\u3046\u305f\u3081\u306e TQL \u30af\u30a8\u30ea\u8a00\u8a9e\u3092\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u63a5\u7d9a\u3092\u4f5c\u6210\u3057\u3001\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u53d6\u5f97\u3057\u3001\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u5bfe\u3057\u3066\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u30d6\u30ed\u30c3\u30af\u306f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5185\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u53d6\u5f97\u3059\u308b\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">$ sudo yum -y install griddb_nosql griddb-c-client<\/code><\/pre>\n<\/div>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\nfactory = griddb.StoreFactory.get_instance()\n\ntry:\n    # Create gridstore object\n    gridstore = factory.get_store(\n        host='239.0.0.1', \n        port=31999, \n        cluster_name='defaultCluster', \n        username='admin', \n        password='admin'\n    )\n\n    # Define the container names\n    circuits_container = \"circuits\"\n    races_container = \"races\"\n\n    # Get the containers\n    circuits_data = gridstore.get_container(circuits_container)\n    races_data = gridstore.get_container(races_container)\n\nexcept griddb.GSException as e:\n    for i in range(e.get_error_stack_size()):\n        print(\"[\", i, \"]\")\n        print(e.get_error_code(i))\n        print(e.get_location(i))\n        print(e.get_message(i))\n  <\/code><\/pre>\n<\/div>\n<p>\u73fe\u5728\u3001\u79c1\u305f\u3061\u306f2\u3064\u306e\u7570\u306a\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u30c7\u30fc\u30bf\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30c7\u30fc\u30bf\u3092\u9069\u5207\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306b\u5909\u63db\u3057\u3066\u3001\u7c21\u5358\u306b\u5206\u6790\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067 &#8220;Pandas &#8220;\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u51fa\u756a\u3068\u306a\u308a\u3001\u30c7\u30fc\u30bf\u3092Pandas DataFrames\u306b\u5909\u63db\u3057\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u305f\u3081\u306b\u306f\u30012\u3064\u306e\u30b3\u30f3\u30c6\u30ca\u5185\u306e\u3059\u3079\u3066\u306e\u30c7\u30fc\u30bf\u3092\u9078\u629e\u3057\u3001\u305d\u308c\u3089\u306e\u30c7\u30fc\u30bf\u304b\u3089\u30ea\u30b9\u30c8\u3092\u4f5c\u6210\u3057\u3001\u3055\u3089\u306b\u305d\u306e\u30ea\u30b9\u30c8\u3092DataFrame\u306b\u5909\u63db\u3059\u308b\u30af\u30a8\u30ea\u3092\u66f8\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u3001\u305d\u306e\u305f\u3081\u306e\u30b7\u30f3\u30d7\u30eb\u306aTQL\u30af\u30a8\u30ea\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\n    # Select all rows from circuits_container\n    query = circuits_data.query(\"select *\")\n    rs = query.fetch(False)\n    \n    # Create a list\n    retrieved_data= []\n    while rs.has_next():\n        data = rs.next()\n        retrieved_data.append(data)\n\n    # Convert the list to a pandas data frame\n    circuits_dataframe = pd.DataFrame(retrieved_data, columns=['circuitId', 'circuitRef', 'name', 'location', 'country', 'lat', 'lng', 'url'])\n\n    # Select all rows from races_container\n    query = races_data.query(\"select *\")\n    rs = query.fetch()\n\n    # Create a list\n    retrieved_data= []\n    while rs.has_next():\n        data = rs.next()\n        retrieved_data.append(data)\n\n    # Convert the list to a pandas data frame\n    races_dataframe = pd.DataFrame(retrieved_data, columns=['raceID', 'year', 'round', 'circuitId', 'name', 'url', 'raceTime'])\n  <\/code><\/pre>\n<\/div>\n<h2>HTML\u30c6\u30fc\u30d6\u30eb\u306e\u4f5c\u6210<\/h2>\n<p>\u30c7\u30fc\u30bf\u3092\u8868\u73fe\u3059\u308b\u6700\u3082\u30b7\u30f3\u30d7\u30eb\u306a\u65b9\u6cd5\u306e\u4e00\u3064\u306b\u30c6\u30fc\u30d6\u30eb\u304c\u3042\u308a\u307e\u3059\u3002pandas\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u306f\u3001\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092HTML\u30c6\u30fc\u30d6\u30eb\u306b\u5909\u63db\u3059\u308b\u305f\u3081\u306e<code>to_html<\/code>\u95a2\u6570\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">races_dataframe.to_html('races_data.html')<\/code><\/pre>\n<\/div>\n<p>\u4e0a\u8a18\u306e\u95a2\u6570\u306f\u3001\u30b7\u30f3\u30d7\u30eb\u306aHTML\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u30c6\u30fc\u30d6\u30eb\u5185\u306e\u30c7\u30fc\u30bf\u3092\u898b\u6804\u3048\u3088\u304f\u8868\u793a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u306b\u306f\u3001\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u306b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u8ffd\u52a0\u3057\u3001\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u3092\u6dfb\u4ed8\u3057\u305f\u9069\u5207\u306aHTML\u30da\u30fc\u30b8\u5185\u306b\u3001\u4f5c\u6210\u3057\u305fHTML\u30c6\u30fc\u30d6\u30eb\u3092\u57cb\u3081\u8fbc\u3093\u3067\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\n# Create the HTML Page Structure\n# Include the Style Sheet\nhtml_string = '''\n&lt;html>\n    \n    &lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"style.css\"\/>\n    &lt;body>\n    &lt;h1>Races Collection&lt;\/h1>\n    {table}\n    &lt;\/body>\n&lt;\/html>\n'''\n\n# Rename the Columns Headers\nraces_dataframe.rename(columns={'raceId': 'Race ID', 'circuitId': 'Circuit ID', 'raceTime': 'Race Time'}, inplace=True)\n\n# Convert the Headers to Uppercase\nraces_dataframe.rename(str.upper, axis='columns', inplace=True)\n\n# Write to HTML File\nwith open('races_table.html', 'w') as f:\n    # Pass the DataFrame to the HTML String\n    f.write(html_string.format(table=races_dataframe.to_html(index=False, render_links=True, escape=False, justify='left', classes='htmlfilestyle')))\n  <\/code><\/pre>\n<\/div>\n<p>CSS\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\n.htmlfilestyle {\n    font-size: 11pt;\n    font-family: Arial;\n    border-collapse: collapse;\n    border: 1px solid silver;\n}\n\n.htmlfilestyle td, th {\n    padding: 5px;\n    font-size: 12pt;\n}\n\n.htmlfilestyle tr:nth-child(even) {\n    background: #E0E0E0;\n}\n\n.htmlfilestyle tr:hover {\n    background: silver;\n    cursor: pointer;\n}\n  <\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u306b\u3088\u308a\u3001\u4e0e\u3048\u3089\u308c\u305f\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30fc\u30bf\u3092\u3088\u308a\u3088\u304f\u8868\u73fe\u3059\u308b\u3001\u6574\u5f62\u3055\u308c\u305fHTML\u30c6\u30fc\u30d6\u30eb\u304c\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture0.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture0.png\" alt=\"\" width=\"602\" height=\"125\" class=\"aligncenter size-full wp-image-27391\" srcset=\"\/wp-content\/uploads\/2021\/03\/Picture0.png 602w, \/wp-content\/uploads\/2021\/03\/Picture0-300x62.png 300w, \/wp-content\/uploads\/2021\/03\/Picture0-600x125.png 600w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<h2>TQL\u3092\u4f7f\u3046<\/h2>\n<p>GridDB\u304c\u63d0\u4f9b\u3059\u308bTQL\u30af\u30a8\u30ea\u8a00\u8a9e\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3092\u3055\u3089\u306b\u7d5e\u308a\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306e\u69cb\u9020\u3084\u5024\u306b\u3088\u3063\u3066\u3001\u5206\u6790\u3084\u8996\u899a\u5316\u3067\u304d\u308b\u5185\u5bb9\u304c\u7570\u306a\u308a\u307e\u3059\u3002GridDB\u306e\u8ad6\u7406\u6f14\u7b97\u5b50\u3001\u6bd4\u8f03\u6f14\u7b97\u5b50\u3001\u6587\u5b57\u5217\u6f14\u7b97\u5b50\u3001\u6570\u5024\u6f14\u7b97\u5b50\u3001\u914d\u5217\u6f14\u7b97\u5b50\u3001\u7a7a\u9593\u6f14\u7b97\u5b50\u3001\u6642\u9593\u6f14\u7b97\u5b50\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u5fc5\u8981\u306a\u30c7\u30fc\u30bf\u3092\u5f97\u308b\u305f\u3081\u306e\u52b9\u7387\u7684\u306a\u30af\u30a8\u30ea\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306e\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306b\u4f7f\u7528\u3067\u304d\u308b\u3044\u304f\u3064\u304b\u306eTQL\u6587\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>races \u30b3\u30ec\u30af\u30b7\u30e7\u30f3<\/h3>\n<p>\u30e2\u30ca\u30b3\u30fb\u30b0\u30e9\u30f3\u30d7\u30ea\u306e\u30ec\u30fc\u30b9\u3060\u3051\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p><code>races_data.query(\"select * where name = 'Monaco Grand Prix'\")<\/code><\/p>\n<p>\u3055\u3089\u306b2010\u5e74\u30682015\u5e74\u306e\u9593\u306e\u30ec\u30fc\u30b9\u306e\u307f\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p><code># Using year field<\/code> <code>query = races_data.query(\"select * where year &gt;= 2009 AND year &lt;= 2015 ORDER BY raceTime DESC\")<\/code><\/p>\n<p><code># Using raceTime field<\/code> <code>races_data.query(\"select * where raceTime &gt;= TIMESTAMP('2010-01-01T00:00:00.000Z') AND year &lt;= TIMESTAMP('2015-12-31T23:59:59.000Z')\")<\/code><\/p>\n<p>\u904e\u53bb5\u5e74\u9593\u3092\u9664\u304f\u30ec\u30fc\u30b9\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p><code># TIMESTAPADD function is used to exclude 5 years from the current time<\/code> <code>races_data.query(\"select * where raceTime &lt; TIMESTAMPADD(YEAR, NOW(), -5)\")<\/code><\/p>\n<p>1990\u5e74\u306b\u884c\u308f\u308c\u305f\u30ec\u30fc\u30b9\u306e\u6570\u3092\u6570\u3048\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\nquery = races_data.query(\"select COUNT(*) where year = 2009\")\nrs = query.fetch(False)\n\n# Obtain the calculated value\nwhile rs.has_next():\n    data = rs.next()\n    count = data.get(griddb.Type.LONG)\n    print(count)\n  <\/code><\/pre>\n<\/div>\n<p>\u30ec\u30b3\u30fc\u30c9\u6570\u3092100\u306b\u5236\u9650\u3057\u307e\u3059\u3002<\/p>\n<p><code>races_data.query(\"select * LIMIT 100\")<\/code><\/p>\n<h3>circuits \u30b3\u30ec\u30af\u30b7\u30e7\u30f3<\/h3>\n<p>\u30c9\u30a4\u30c4\u56fd\u5185\u306b\u3042\u308b\u30b5\u30fc\u30ad\u30c3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p><code>circuits_data.query(\"select * where country = 'Germany'\")<\/code><\/p>\n<p>\u30b5\u30fc\u30ad\u30c3\u30c8\u6570\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\ncircuits_data.query(\"select COUNT(*)\")\nrs = query.fetch(False)\n\n# Obtain the calculated value\nwhile rs.has_next():\n    data = rs.next()\n    count = data.get(griddb.Type.LONG)\n    print(count)\n  <\/code><\/pre>\n<\/div>\n<p>\u30a4\u30ae\u30ea\u30b9\u3001\u30d5\u30e9\u30f3\u30b9\u3001\u30b9\u30da\u30a4\u30f3\u306b\u3042\u308b\u30b5\u30fc\u30ad\u30c3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p><code>circuits_data.query(\"select * where country = 'UK' OR country = 'France' OR country = 'Spain' ORDER BY name DESC\")<\/code><\/p>\n<p>\u540d\u524d\u306b&#8221;Park&#8221;\u3084&#8221;Speedway&#8221;\u3092\u542b\u3080\u30b5\u30fc\u30ad\u30c3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p><code>circuits_data.query(\"select * where name LIKE '%Park%' OR name LIKE '%Speedway%' ORDER BY name DESC\")<\/code><\/p>\n<p>TQL\u3067\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u3059\u308b\u5834\u5408\u30012\u3064\u306e\u5236\u9650\u304c\u3042\u308a\u307e\u3059\u30021\u3064\u306f\u3001\u96c6\u7d04\u64cd\u4f5c\u3092\u9664\u304d\u3001SQL\u306e\u3088\u3046\u306b\u7279\u5b9a\u306e\u5217\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u3053\u3068\u3002\u3082\u30461\u3064\u306f\u3001GROUP BY\u3001HAVING\u3001DISTINCT\u3001JOIN\u306a\u3069\u306e\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001GridDB\u3067\u306f\u3001TQL\u306e\u5236\u9650\u3092\u8d85\u3048\u3066\u3001SQL\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3067\u4e0a\u8a18\u306e\u6587\u3092\u3059\u3079\u3066\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\u3082\u3046\u4e00\u3064\u306e\u65b9\u6cd5\u3068\u3057\u3066\u3001Pandas DataFrames\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002Pandas\u306f\u3001\u7279\u5b9a\u306e\u5217\u3092\u9078\u629e\u3057\u305f\u308a\u3001\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u7d50\u5408\u3057\u305f\u308a\u3001\u5217\u3092\u30b0\u30eb\u30fc\u30d7\u5316\u3057\u305f\u308a\u3059\u308b\u6a5f\u80fd\u3092\u63d0\u4f9b\u3057\u3066\u304a\u308a\u3001\u4e0a\u8a18\u306e\u6b20\u70b9\u3092\u672c\u8cea\u7684\u306b\u89e3\u6d88\u3057\u3066\u3044\u307e\u3059\u3002GridDB\u3068Pandas\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u30c7\u30fc\u30bf\u3092\u4f7f\u3063\u3066\u5b9f\u73fe\u3067\u304d\u308b\u3053\u3068\u304c\u5927\u5e45\u306b\u5e83\u304c\u308a\u3001\u3088\u308a\u9ad8\u5ea6\u306a\u5206\u6790\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002TQL\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001<a href=\"https:\/\/griddb.org\/docs-ja\/manuals\/GridDB_TQL_Reference\/toc.html\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>Pandas\u3092\u4f7f\u3063\u305f\u30b0\u30e9\u30d5\u306e\u4f5c\u6210<\/h2>\n<p>Pandas\u306b\u306f\u3001\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u4f7f\u3063\u3066\u30b0\u30e9\u30d5\u3092\u4f5c\u6210\u3059\u308b\u6a5f\u80fd\u304c\u7d44\u307f\u8fbc\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u5404\u4f1a\u5834\u3067\u958b\u50ac\u3055\u308c\u305f\u30ec\u30fc\u30b9\u306e\u6570\u3092\u793a\u3059\u68d2\u30b0\u30e9\u30d5\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>value_counts\u95a2\u6570\u3092\u4f7f\u3046\u3068\u3001\u7279\u5b9a\u306e\u5217\uff08\u3053\u306e\u4f8b\u3067\u306f\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306e &#8220;name &#8220;\u5217\uff09\u306e\u30e6\u30cb\u30fc\u30af\u306a\u5024\u3092\u6570\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305d\u3057\u3066\u3001\u30ab\u30a6\u30f3\u30c8\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092\u683c\u7d0d\u3059\u308b\u5225\u306e\u5909\u6570\u3092\u4f5c\u6210\u3057\u3001\u305d\u308c\u3092\u4f7f\u3063\u3066figsize\u3001title\u3001x,y\u30e9\u30d9\u30eb\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u68d2\u30b0\u30e9\u30d5\u3092\u30d7\u30ed\u30c3\u30c8\u3057\u307e\u3059\u3002kind\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3001\u30c1\u30e3\u30fc\u30c8\u306e\u7a2e\u985e\u3092\u9078\u629e\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002\u30b0\u30e9\u30d5\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3068\u3057\u3066matplotlib\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u751f\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\n# Print the count\nprint(races_dataframe['name'].value_counts())\n\n# Obtain the count of each venue\nplotdata = races_dataframe['name'].value_counts()\n\n# Plot the data as a bar chart\nplotdata.plot(kind=\"bar\", figsize=(20,10), title=\"Race Locations\", xlabel=\"Races\", ylabel=\"No of Races\")\n  <\/code><\/pre>\n<\/div>\n<p>\u4ee5\u4e0b\u306e\u51fa\u529b\u3092\u5f97\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture1.png\"><img decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture1.png\" alt=\"\" width=\"358\" height=\"327\" class=\"aligncenter size-full wp-image-27392\" srcset=\"\/wp-content\/uploads\/2021\/03\/Picture1.png 358w, \/wp-content\/uploads\/2021\/03\/Picture1-300x274.png 300w\" sizes=\"(max-width: 358px) 100vw, 358px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture2.png\"><img decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture2.png\" alt=\"\" width=\"602\" height=\"383\" class=\"aligncenter size-full wp-image-27398\" srcset=\"\/wp-content\/uploads\/2021\/03\/Picture2.png 602w, \/wp-content\/uploads\/2021\/03\/Picture2-300x191.png 300w, \/wp-content\/uploads\/2021\/03\/Picture2-600x382.png 600w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p>\u6b21\u306b\u3001\u30b5\u30fc\u30ad\u30c3\u30c8\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3092\u4f7f\u3063\u3066\u5186\u30b0\u30e9\u30d5\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u56fd\u306e\u5217\u3092\u4f7f\u3063\u3066\u3001\u5404\u53c2\u52a0\u56fd\u306b\u5206\u5e03\u3059\u308b\u30ec\u30fc\u30b9\u30b5\u30fc\u30ad\u30c3\u30c8\u306e\u6570\u3092\u5206\u6790\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u5186\u30b0\u30e9\u30d5\u3092\u4f5c\u6210\u3059\u308b\u306b\u306f\u3001\u30b0\u30e9\u30d5\u306e\u7a2e\u985e\u3092 &#8220;pie&#8221; \u306b\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\n# Print the count\nprint(circuits_dataframe['country'].value_counts())\n\n# Obtain the count of each venue\nplotdata = circuits_dataframe['country'].value_counts()\n\n# Plot the data as a pie chart\n# Disable the legend and ylabel\nplotdata.plot(kind=\"pie\", figsize=(30,15), title=\"Circuit Locations\", legend=False, ylabel=\"\")\n  <\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture3-REAL.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture3-REAL.png\" alt=\"\" width=\"289\" height=\"255\" class=\"aligncenter size-full wp-image-27401\" \/><\/a><\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture3.png\" alt=\"\" width=\"602\" height=\"581\" class=\"aligncenter size-full wp-image-27400\" srcset=\"\/wp-content\/uploads\/2021\/03\/Picture3.png 602w, \/wp-content\/uploads\/2021\/03\/Picture3-300x290.png 300w, \/wp-content\/uploads\/2021\/03\/Picture3-600x579.png 600w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p>\u4e0a\u8a18\u306e\u4f8b\u304b\u3089\u308f\u304b\u308b\u3088\u3046\u306b\u3001\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u30d7\u30ed\u30c3\u30c8\u3059\u308b\u3053\u3068\u3067\u30c7\u30fc\u30bf\u3092\u53ef\u8996\u5316\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u30d7\u30ed\u30c3\u30c6\u30a3\u30f3\u30b0\u3067\u5b9f\u73fe\u3067\u304d\u308b\u3053\u3068\u306e\u307b\u3093\u306e\u4e00\u90e8\u3067\u3042\u308a\u3001\u8ffd\u52a0\u306e\u30d5\u30a3\u30eb\u30bf\u3084\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u4f7f\u3063\u3066\u3055\u3089\u306b\u6d17\u7df4\u3055\u305b\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002\u30d7\u30ed\u30c3\u30c8\u6a5f\u80fd\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001<a href=\"https:\/\/pandas.pydata.org\/pandas-docs\/stable\/reference\/api\/pandas.DataFrame.plot.html#pandas.DataFrame.plot\">\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>Matplotlib\u3092\u4f7f\u3063\u305f\u8868\u306e\u4f5c\u6210<\/h2>\n<p>\u524d\u306e\u4f8b\u3067\u306f\u3001pandas data frames\u3092\u4f7f\u3063\u3066HTML\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u3092\u5b66\u3073\u307e\u3057\u305f\u3002\u3057\u304b\u3057\u3001\u30c6\u30fc\u30d6\u30eb\u3092\u3088\u308a\u7d30\u304b\u304f\u5236\u5fa1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f\u3001matplotlib\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4ecb\u3057\u3066\u30c6\u30fc\u30d6\u30eb\u3092\u751f\u6210\u3059\u308b\u306e\u304c\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u3053\u306e\u4f8b\u3067\u306f\u3001GridDB\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e &#8220;circuits &#8220;\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304b\u308910\u4ef6\u306e\u30ec\u30b3\u30fc\u30c9\u3092\u7167\u4f1a\u3057\u3001\u305d\u306e\u30c7\u30fc\u30bf\u3092\u4f7f\u3063\u3066\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<p><code>circuits_data.query(\"select * LIMIT 10\")<\/code><\/p>\n<p>\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u57fa\u672c\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3068\u3057\u3066\u3001\u6b21\u306e\u30b3\u30fc\u30c9\u30d6\u30ed\u30c3\u30af\u306b\u793a\u3059\u3088\u3046\u306b\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u30b5\u30d6\u30d7\u30ed\u30c3\u30c8\u3092\u6301\u3064\u30d7\u30ed\u30c3\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3001\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u306e\u5024\u3092\u5fc5\u8981\u306a\u5217\uff08cellText\u3068colLabels\uff09\u3068\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306b\u5272\u308a\u5f53\u3066\u307e\u3059\u3002\u305d\u3057\u3066\u3001\u30bf\u30a4\u30c8\u30eb\u3068\u30d5\u30c3\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u3001\u6700\u5f8c\u306b\u8868\u3092png\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\n# Create the plot object\nfig, ax =plt.subplots(\n    figsize=(20, 6),\n    linewidth=2,\n    tight_layout={'pad':1})\n\n# Turn off the axis\nax.axis('off')\n# Set background color\nax.set_facecolor(\"#ffffff\")\n\ntable = ax.table(\n    # Define cell values\n    cellText=circuits_dataframe.values,\n    # Define column headings\n    colLabels=circuits_dataframe.columns,\n    # Column Options - color and width\n    colColours=['skyblue']*8,\n    colWidths=[0.03,0.06,0.1,0.05,0.04,0.06,0.06,0.135],\n    loc=\"center\")\n\n# Set the font size\ntable.auto_set_font_size(False)\ntable.set_fontsize(10)\n\n# Scale the table\ntable.scale(1.8, 1.8)\n\n# Add title\nplt.suptitle(\"Circuits Collection\", size=25, weight='light')\n\n# Add footer\nplt.figtext(0.95, 0.05, \"GridDB Data Collection\", horizontalalignment='right', size=6, weight='light')\n\n# Draw and save the table as a png\nplt.draw()\nplt.savefig('table.png',dpi=150)\n  <\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture4.png\" alt=\"\" width=\"602\" height=\"199\" class=\"aligncenter size-full wp-image-27402\" srcset=\"\/wp-content\/uploads\/2021\/03\/Picture4.png 602w, \/wp-content\/uploads\/2021\/03\/Picture4-300x99.png 300w, \/wp-content\/uploads\/2021\/03\/Picture4-600x198.png 600w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p>Matplotlib\u306f\u3001\u30c7\u30fc\u30bf\u30d3\u30b8\u30e5\u30a2\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u306e\u305f\u3081\u306e\u6700\u3082\u5e83\u304f\u4f7f\u7528\u3055\u308c\u3066\u3044\u308bPython\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002Matplotlib\u306f\uff0c\u30b7\u30f3\u30d7\u30eb\u306a\u8868\u3084\u30b0\u30e9\u30d5\u304b\u3089\u8907\u96d1\u306a3D\u30b0\u30e9\u30d5\u307e\u3067\uff0c\u53ef\u8996\u5316\u306e\u5404\u5074\u9762\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3057\u306a\u304c\u3089\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0eMatplotlib\u306b\u95a2\u3059\u308b\u8a73\u3057\u3044\u60c5\u5831\u306f\uff0c<a href=\"https:\/\/matplotlib.org\/stable\/index.html\">matplotlib \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>Folium\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u3088\u308b\u5730\u56f3\u306e\u4f5c\u6210<\/h2>\n<p>Folium\u306fPython\u306e\u53ef\u8996\u5316\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3001\u5730\u56f3\u306e\u4f5c\u6210\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30de\u30c3\u30d7\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306bPython\u3068leaflet.js\u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u7d44\u307f\u5408\u308f\u305b\u306b\u3088\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u306fPython\u3067\u5909\u63db\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u306a\u30ea\u30fc\u30d5\u30ec\u30c3\u30c8\u30de\u30c3\u30d7\u306b\u30d0\u30a4\u30f3\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001GridDB\u306e &#8220;circuits &#8220;\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304b\u3089\u53d6\u5f97\u3057\u305f\u7def\u5ea6\u30fb\u7d4c\u5ea6\u30c7\u30fc\u30bf\u3092\u7528\u3044\u3066\u3001\u4e16\u754c\u5730\u56f3\u4e0a\u306b\u30ec\u30fc\u30b9\u30b5\u30fc\u30ad\u30c3\u30c8\u306e\u4f4d\u7f6e\u3092\u30de\u30c3\u30d4\u30f3\u30b0\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u30d6\u30ed\u30c3\u30af\u3067\u306f\u3001MakeCluster\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u3001\u4e16\u754c\u5730\u56f3\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u3001\u3059\u3079\u3066\u306e\u30b5\u30fc\u30ad\u30c3\u30c8\u306e\u4f4d\u7f6e\u3092\u542b\u3080\u30af\u30e9\u30b9\u30bf\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u6b21\u306b\u3001\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u7e70\u308a\u8fd4\u3057\u51e6\u7406\u3057\u3066\u3001\u7def\u5ea6(lat)\u3068\u7d4c\u5ea6(lng)\u3092\u62bd\u51fa\u3057\u3001\u5404\u5834\u6240\u306b\u500b\u5225\u306e\u30de\u30fc\u30ab\u30fc\u3092\u4f5c\u6210\u3057\u3066\u3001\u30af\u30e9\u30b9\u30bf\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\u3055\u3089\u306b\u3001\u5404\u53cd\u5fa9\u306b\u304a\u3044\u3066\u540d\u524d\u3068\u56fd\u306e\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u3057\u3001\u30af\u30ea\u30c3\u30af\u53ef\u80fd\u306a\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u306b\u542b\u3081\u307e\u3059\u3002<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">\n# Create map object\nworld_map= folium.Map()\n\n# Create marker cluster\nmarker_cluster = MarkerCluster().add_to(world_map)\n\n# Create marker for each coordinates\nfor i in range(len(circuits_dataframe)):\n        # Get latitude and longitude from data frame\n        latitude = circuits_dataframe.iloc[i]['lat']\n        longitude = circuits_dataframe.iloc[i]['lng']\n\n        # Set circle radius\n        radius=5\n\n        # Create the popup\n        popup_text = \"\"\"Country : {}&lt;br \/> Circuit Name : {}&lt;br \/>\"\"\"\n        popup_text = popup_text.format(\n                                        circuits_dataframe.iloc[i]['country'],\n                                        circuits_dataframe.iloc[i]['name'])\n        test = folium.Html(popup_text, script=True)\n        popup = folium.Popup(test, max_width=250,min_width=250)\n\n        # Add marker to marker_cluster\n        folium.CircleMarker(location=[latitude, longitude], radius=radius, popup=popup, fill =True).add_to(marker_cluster)\n\n# View the Map\nworld_map\n  <\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture5.png\" alt=\"\" width=\"602\" height=\"361\" class=\"aligncenter size-full wp-image-27403\" srcset=\"\/wp-content\/uploads\/2021\/03\/Picture5.png 602w, \/wp-content\/uploads\/2021\/03\/Picture5-300x180.png 300w, \/wp-content\/uploads\/2021\/03\/Picture5-600x360.png 600w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture6.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2021\/03\/Picture6.png\" alt=\"\" width=\"602\" height=\"361\" class=\"aligncenter size-full wp-image-27396\" srcset=\"\/wp-content\/uploads\/2021\/03\/Picture6.png 602w, \/wp-content\/uploads\/2021\/03\/Picture6-300x180.png 300w, \/wp-content\/uploads\/2021\/03\/Picture6-600x360.png 600w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p>Folium\u306f\u5f37\u529b\u304b\u3064\u30b7\u30f3\u30d7\u30eb\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3001\u30c7\u30fc\u30bf\u3092\u5730\u56f3\u4e0a\u306b\u53ef\u8996\u5316\u3059\u308b\u305f\u3081\u306b\u7c21\u5358\u306b\u9069\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001<a href=\"https:\/\/python-visualization.github.io\/folium\/\">folium \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3001\u5730\u56f3\u306b\u3088\u308b\u30c7\u30fc\u30bf\u53ef\u8996\u5316\u306e\u65c5\u3092\u59cb\u3081\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>\u7d50\u8ad6<\/h2>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001\u30c7\u30fc\u30bf\u30d3\u30b8\u30e5\u30a2\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u306e\u57fa\u672c\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002GridDB\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u3001\u30c7\u30fc\u30bf\u3092\u5206\u6790\u3057\u3001\u305d\u308c\u3089\u306e\u30c7\u30fc\u30bf\u3092\u3088\u308a\u7406\u89e3\u3059\u308b\u305f\u3081\u306b\u3001\u8868\u3001\u30c1\u30e3\u30fc\u30c8\u3001\u30de\u30c3\u30d7\u3092\u4f5c\u6210\u3057\u3066\u8996\u899a\u5316\u3057\u307e\u3057\u305f\u3002Pandas\u3001matplotlib\u3001folium\u306a\u3069\u306f\u3001Python\u3067\u5229\u7528\u3067\u304d\u308b\u30c7\u30fc\u30bf\u5206\u6790\u30fb\u53ef\u8996\u5316\u306e\u305f\u3081\u306e\u5f37\u529b\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u307b\u3093\u306e\u4e00\u90e8\u306b\u904e\u304e\u307e\u305b\u3093\u3002\u30c7\u30fc\u30bf\u5206\u6790\u306f\u3001\u4eba\u751f\u3092\u304b\u3051\u3066\u5b66\u3076\u3053\u3068\u304c\u3067\u304d\u308b\u9b45\u529b\u7684\u306a\u30c6\u30fc\u30de\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3092\u8aad\u3093\u3060\u65b9\u304c\u3001\u30c7\u30fc\u30bf\u5206\u6790\u3068\u30c7\u30fc\u30bf\u30d3\u30b8\u30e5\u30a2\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u306e\u4e16\u754c\u306b\u6df1\u304f\u8db3\u3092\u8e0f\u307f\u5165\u308c\u308b\u304d\u3063\u304b\u3051\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<h2>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<\/h2>\n<p>\u3053\u306e\u30d6\u30ed\u30b0\u3067\u7d39\u4ecb\u3057\u305f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f<a href=\"https:\/\/github.com\/griddbnet\/Blogs\/tree\/main\/Creating%20a%20Performance%20Tracker%20for%20Car%20Races%20%E2%80%93%20Collecting%20Race%20Data%20(Part%202)\">\u3053\u3061\u3089<\/a>\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u30c7\u30fc\u30bf\u5206\u6790\u3068\u306f\u3001\u751f\u30c7\u30fc\u30bf\u304b\u3089\u610f\u5473\u306e\u3042\u308b\u30c7\u30fc\u30bf\u3092\u5f97\u308b\u305f\u3081\u306e\u30d7\u30ed\u30bb\u30b9\u3067\u3059\u3002\u9069\u5207\u306a\u5206\u6790\u3092\u884c\u308f\u306a\u3051\u308c\u3070\u3001\u3069\u3093\u306a\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3082\u5358\u306a\u308b\u60c5\u5831\u306e\u96c6\u307e\u308a\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u30c7\u30fc\u30bf\u53ef\u8996\u5316\u306e\u624b\u6cd5\u3092\u7528\u3044\u3066\u3001\u69cb\u9020\u5316\u3055\u308c\u305f\u30c7 [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":49218,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1005],"tags":[],"class_list":["post-50749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1005"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b - \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2) | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"\u306f\u3058\u3081\u306b\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b - \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2) | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"\u306f\u3058\u3081\u306b\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-02T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-14T15:54:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2021\/03\/Picture3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"602\" \/>\n\t<meta property=\"og:image:height\" content=\"581\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b &#8211; \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2)\",\"datePublished\":\"2021-04-02T07:00:00+00:00\",\"dateModified\":\"2025-11-14T15:54:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/\"},\"wordCount\":139,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2021\/03\/Picture3.png\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/\",\"url\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/\",\"name\":\"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b - \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2) | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2021\/03\/Picture3.png\",\"datePublished\":\"2021-04-02T07:00:00+00:00\",\"dateModified\":\"2025-11-14T15:54:43+00:00\",\"description\":\"\u306f\u3058\u3081\u306b\",\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2021\/03\/Picture3.png\",\"contentUrl\":\"\/wp-content\/uploads\/2021\/03\/Picture3.png\",\"width\":602,\"height\":581},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb.net\/en\/#website\",\"url\":\"https:\/\/griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/www.griddb.net\/ja\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b - \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2) | GridDB: Open Source Time Series Database for IoT","description":"\u306f\u3058\u3081\u306b","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/","og_locale":"ja_JP","og_type":"article","og_title":"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b - \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2) | GridDB: Open Source Time Series Database for IoT","og_description":"\u306f\u3058\u3081\u306b","og_url":"https:\/\/griddb.net\/ja\/\u672a\u5206\u985e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2021-04-02T07:00:00+00:00","article_modified_time":"2025-11-14T15:54:43+00:00","og_image":[{"width":602,"height":581,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2021\/03\/Picture3.png","type":"image\/png"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"\u57f7\u7b46\u8005":"griddb-admin","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"5\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#article","isPartOf":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/"},"author":{"name":"griddb-admin","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b &#8211; \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2)","datePublished":"2021-04-02T07:00:00+00:00","dateModified":"2025-11-14T15:54:43+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/"},"wordCount":139,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2021\/03\/Picture3.png","inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/","url":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/","name":"\u30ab\u30fc\u30ec\u30fc\u30b9\u7528\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c8\u30e9\u30c3\u30ab\u30fc\u3092\u4f5c\u308b - \u30ec\u30fc\u30b9\u30c7\u30fc\u30bf\u306e\u53ce\u96c6 (Part 2) | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage"},"image":{"@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2021\/03\/Picture3.png","datePublished":"2021-04-02T07:00:00+00:00","dateModified":"2025-11-14T15:54:43+00:00","description":"\u306f\u3058\u3081\u306b","inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/ja\/%e6%9c%aa%e5%88%86%e9%a1%9e\/creating-a-performance-tracker-for-car-races-collecting-race-data-part-2\/#primaryimage","url":"\/wp-content\/uploads\/2021\/03\/Picture3.png","contentUrl":"\/wp-content\/uploads\/2021\/03\/Picture3.png","width":602,"height":581},{"@type":"WebSite","@id":"https:\/\/griddb.net\/en\/#website","url":"https:\/\/griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/www.griddb.net\/ja\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/comments?post=50749"}],"version-history":[{"count":1,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50749\/revisions"}],"predecessor-version":[{"id":51586,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/posts\/50749\/revisions\/51586"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/media\/49218"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/media?parent=50749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/categories?post=50749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/ja\/wp-json\/wp\/v2\/tags?post=50749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}