{"version":3,"sources":["webpack:///./src/pages/docs/Miscellaneous/index.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,wNAE5B,IAKMC,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeI,EAAf,CAAsBD,WAAYA,EAAYE,QAAQ,cAC3D,iBAAQ,CACN,GAAM,qBADR,qBAGA,wOAGA,2QAGA,oXAIA,gUAGA,mHACA,uBAAK,mBAAU,CACX,WAAc,OADb,YAIL,iBAAQ,CACN,GAAM,kBADR,kBAGA,4FACA,sBAEE,iBAAQ,CACN,WAAc,MADhB,WAKA,iBAAQ,CACN,WAAc,MADhB,SAKA,iBAAQ,CACN,WAAc,MADhB,SAKA,iBAAQ,CACN,WAAc,MADhB,UAKA,iBAAQ,CACN,WAAc,MADhB,WAKA,iBAAQ,CACN,WAAc,MADhB,SAKA,iBAAQ,CACN,WAAc,MADhB,iBAKA,iBAAQ,CACN,WAAc,MADhB,WAKA,iBAAQ,CACN,WAAc,MADhB,UAKA,iBAAQ,CACN,WAAc,MADhB,aAKA,iBAAQ,CACN,WAAc,MADhB,SAKA,iBAAQ,CACN,WAAc,MADhB,eAKA,iBAAQ,CACN,WAAc,MADhB,kBAKA,iBAAQ,CACN,WAAc,MADhB,WAKA,iBAAQ,CACN,WAAc,MADhB,QAKF,iBAAQ,CACN,GAAM,wBADR,wBAGA,2GACA,sBAEE,iBAAQ,CACN,WAAc,MADhB,4FAIE,gBAAO,CACL,KAAQ,iCACR,WAAc,MAFhB,mCAMF,iBAAQ,CACN,WAAc,MADhB,4JAMA,iBAAQ,CACN,WAAc,MADhB,4FAIE,gBAAO,CACL,KAAQ,oCACR,WAAc,MAFhB,sCAMF,iBAAQ,CACN,WAAc,MADhB,sJAMA,iBAAQ,CACN,WAAc,MADhB,wDAGE,gBAAO,CACL,KAAQ,yBACR,WAAc,MAFhB,2BAMF,iBAAQ,CACN,WAAc,MADhB,cAGE,yBAAgB,CACd,WAAc,MADhB,+CAKF,iBAAQ,CACN,WAAc,MADhB,uEAKF,uBAAK,mBAAU,CACX,WAAc,OADb,ic,sNA8BTH,EAAWI,gBAAiB","file":"component---src-pages-docs-miscellaneous-index-mdx-28f553e6753e7b48636e.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Belgium`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`China`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Egypt`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`France`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Germany`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Japan`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Liechtenstein`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Morocco`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Russia`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Singapore`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Spain`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Switzerland`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`United Kingdom`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Ukraine`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`USA`}</li>\n\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\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`You need shapefiles which contain data of your map. You can get this file on this site:\n`}\n        <a {...{\n          \"href\": \"https://www.diva-gis.org/gdata\",\n          \"parentName\": \"li\"\n        }}>{`https://www.diva-gis.org/gdata`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`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\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`You need to convert shapefile to geojson file. This action can make with ogr2ogr tools:\n`}\n        <a {...{\n          \"href\": \"https://www.gdal.org/ogr2ogr.html\",\n          \"parentName\": \"li\"\n        }}>{`https://www.gdal.org/ogr2ogr.html`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Put your geojson file in next folder : superset-frontend/src/visualizations/CountryMap/countries\nwith the next name : nameofyourcountries.geojson`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`You can to reduce size of geojson file on this site: `}\n        <a {...{\n          \"href\": \"https://mapshaper.org/\",\n          \"parentName\": \"li\"\n        }}>{`https://mapshaper.org/`}</a></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Go in file `}\n        <inlineCode {...{\n          \"parentName\": \"li\"\n        }}>{`superset-frontend/src/explore/controls.jsx`}</inlineCode></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Add your country in component ‘select_country’. Here's an example:`}</li>\n\n    </ul>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`    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":""}