{"version":3,"sources":["webpack:///./src/pages/docs/Miscellaneous/index.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"wPAQaA,G,UAAe,S,wNAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,qBADR,qBAGA,wOAGA,2QAGA,oXAIA,gUAGA,mHACA,uBAAK,gCAAMC,WAAW,OAAU,IAA3B,YAEL,iBAAQ,CACN,GAAM,kBADR,kBAGA,4FACA,sBACE,kBAAIA,WAAW,MAAf,WACA,kBAAIA,WAAW,MAAf,SACA,kBAAIA,WAAW,MAAf,SACA,kBAAIA,WAAW,MAAf,UACA,kBAAIA,WAAW,MAAf,WACA,kBAAIA,WAAW,MAAf,SACA,kBAAIA,WAAW,MAAf,iBACA,kBAAIA,WAAW,MAAf,WACA,kBAAIA,WAAW,MAAf,UACA,kBAAIA,WAAW,MAAf,aACA,kBAAIA,WAAW,MAAf,SACA,kBAAIA,WAAW,MAAf,eACA,kBAAIA,WAAW,MAAf,kBACA,kBAAIA,WAAW,MAAf,WACA,kBAAIA,WAAW,MAAf,QAEF,iBAAQ,CACN,GAAM,wBADR,wBAGA,2GACA,sBACE,kBAAIA,WAAW,MAAf,4FACJ,6BAAGA,WAAW,MAAS,CACf,KAAQ,mCADhB,mCAGI,kBAAIA,WAAW,MAAf,4JAEA,kBAAIA,WAAW,MAAf,4FACJ,6BAAGA,WAAW,MAAS,CACf,KAAQ,sCADhB,sCAGI,kBAAIA,WAAW,MAAf,sJAEA,kBAAIA,WAAW,MAAf,wDAA6E,6BAAGA,WAAW,MAAS,CAChG,KAAQ,2BADiE,2BAG7E,kBAAIA,WAAW,MAAf,cAAmC,0BAAYA,WAAW,MAAvB,+CACnC,kBAAIA,WAAW,MAAf,uEAEF,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,ic,sNA4BTJ,EAAWK,gBAAiB","file":"component---src-pages-docs-miscellaneous-index-mdx-d66f98792435ec03a6cc.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/srinify/Documents/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"country-map-tools\"\n    }}>{`Country Map Tools`}</h2>\n    <p>{`This tool is used in slices for visualization number or string by region, province or department of\nyour countries. So, if you want to use tools, you need ISO 3166-2 code of region, province or\ndepartment.`}</p>\n    <p>{`ISO 3166-2 is part of the ISO 3166 standard published by the International Organization for\nStandardization (ISO), and defines codes for identifying the principal subdivisions (e.g., provinces\nor states) of all countries coded in ISO 3166-1`}</p>\n    <p>{`The purpose of ISO 3166-2 is to establish an international standard of short and unique alphanumeric\ncodes to represent the relevant administrative divisions and dependent territories of all countries\nin a more convenient and less ambiguous form than their full names. Each complete ISO 3166-2 code\nconsists of two parts, separated by a hyphen:`}</p>\n    <p>{`The first part is the ISO 3166-1 alpha-2 code of the country; The second part is a string of up to\nthree alphanumeric characters, which is usually obtained from national sources and stems from coding\nsystems already in use in the country concerned, but may also be developed by the ISO itself.`}</p>\n    <p>{`We can apply these concepts to specify the state of Texas in the country of United States:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`US-TX\n`}</code></pre>\n    <h3 {...{\n      \"id\": \"included-codes\"\n    }}>{`Included Codes`}</h3>\n    <p>{`The ISO codes for the following countries are included in Superset:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`Belgium`}</li>\n      <li parentName=\"ul\">{`China`}</li>\n      <li parentName=\"ul\">{`Egypt`}</li>\n      <li parentName=\"ul\">{`France`}</li>\n      <li parentName=\"ul\">{`Germany`}</li>\n      <li parentName=\"ul\">{`Japan`}</li>\n      <li parentName=\"ul\">{`Liechtenstein`}</li>\n      <li parentName=\"ul\">{`Morocco`}</li>\n      <li parentName=\"ul\">{`Russia`}</li>\n      <li parentName=\"ul\">{`Singapore`}</li>\n      <li parentName=\"ul\">{`Spain`}</li>\n      <li parentName=\"ul\">{`Switzerland`}</li>\n      <li parentName=\"ul\">{`United Kingdom`}</li>\n      <li parentName=\"ul\">{`Ukraine`}</li>\n      <li parentName=\"ul\">{`USA`}</li>\n    </ul>\n    <h3 {...{\n      \"id\": \"adding-new-countries\"\n    }}>{`Adding New Countries`}</h3>\n    <p>{`To add a new country in country map tools, you need to follow the following steps:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`You need shapefiles which contain data of your map. You can get this file on this site:\n`}<a parentName=\"li\" {...{\n          \"href\": \"https://www.diva-gis.org/gdata\"\n        }}>{`https://www.diva-gis.org/gdata`}</a></li>\n      <li parentName=\"ul\">{`You need to add ISO 3166-2 with column name ISO for all record in your file. It’s important\nbecause it’s a norm for mapping your data with geojson file`}</li>\n      <li parentName=\"ul\">{`You need to convert shapefile to geojson file. This action can make with ogr2ogr tools:\n`}<a parentName=\"li\" {...{\n          \"href\": \"https://www.gdal.org/ogr2ogr.html\"\n        }}>{`https://www.gdal.org/ogr2ogr.html`}</a></li>\n      <li parentName=\"ul\">{`Put your geojson file in next folder : superset-frontend/src/visualizations/CountryMap/countries\nwith the next name : nameofyourcountries.geojson`}</li>\n      <li parentName=\"ul\">{`You can to reduce size of geojson file on this site: `}<a parentName=\"li\" {...{\n          \"href\": \"https://mapshaper.org/\"\n        }}>{`https://mapshaper.org/`}</a></li>\n      <li parentName=\"ul\">{`Go in file `}<inlineCode parentName=\"li\">{`superset-frontend/src/explore/controls.jsx`}</inlineCode></li>\n      <li parentName=\"ul\">{`Add your country in component ‘select_country’. Here's an example:`}</li>\n    </ul>\n    <pre><code parentName=\"pre\" {...{}}>{`    type: 'SelectControl',\n    label: 'Country Name Type',\n    default: 'France',\n    choices: [\n    'Belgium',\n    'Brazil',\n    'China',\n    'Egypt',\n    'France',\n    'Germany',\n    'Italy',\n    'Japan',\n    'Korea',\n    'Morocco',\n    'Netherlands',\n    'Russia',\n    'Singapore',\n    'Spain',\n    'Uk',\n    'Usa',\n    ].map(s => [s, s]),\n    description: 'The name of country that Superset should display',\n},\n`}</code></pre>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}