{"id":2971523,"date":"2026-07-01T00:30:12","date_gmt":"2026-07-01T07:30:12","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2971523"},"modified":"2026-07-01T16:40:28","modified_gmt":"2026-07-01T23:40:28","slug":"python-arcgis-cityengine-import-from-overture-maps","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps","title":{"rendered":"Use Python in ArcGIS CityEngine and import features from Overture Maps"},"author":360672,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23771,23851,37151],"tags":[25781,760632,42631,781170,24341],"industry":[],"product":[36781],"class_list":["post-2971523","blog","type-blog","status-publish","format-standard","hentry","category-3d-gis","category-data-management","category-design-planning","tag-3d","tag-arcgis-cityengine","tag-cityengine","tag-overture-maps","tag-python","product-city-engine"],"acf":{"authors":[{"ID":6031,"user_firstname":"Simon","user_lastname":"Haegler","nickname":"shaegler","user_nicename":"shaegler","display_name":"Simon Haegler","user_email":"SHaegler@esri.com","user_url":"","user_registered":"2018-03-02 00:17:52","user_description":"I'm a software developer in the field of computer graphics, specialized in procedural modeling. I have a background in electrical engineering (hardware development), general software development (C++, multiple scripting languages, build environments) and expert knowledge in Linux systems (several platforms).\r\n\r\nMy main interest currently lies in the application of procedural 3d modeling techniques in AEC and M&amp;E (special effects and environments for movies and computer games), as well as digital set building and production pipeline tools.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/11\/1517701153747-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":360672,"user_firstname":"Jennifer","user_lastname":"Johnson","nickname":"Jen Johnson","user_nicename":"jenjohnson","display_name":"Jen Johnson","user_email":"jenjohnson@esri.com","user_url":"","user_registered":"2024-08-26 13:49:44","user_description":"Jen Johnson is a Product Engineer on the ArcGIS CityEngine team at the Esri R&amp;D Center in Zurich. Her background is in landscape architecture, urban planning, geodesign and sustainable design for passive development strategies. She has otherwise used her GIS knowledge to support humanitarian initiatives worldwide.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/01\/IMG_6204-2-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"short_description":"CityEngine Python 3 API and IDE support are now out of beta.  We introduce functionality to manage Python environments and third-party packages.","flexible_content":[{"acf_fc_layout":"content","content":"<p>ArcGIS CityEngine 2026.0 introduces a\u00a0<a class=\"external-link\" href=\"https:\/\/doc.arcgis.com\/en\/cityengine\/latest\/python\/cityengine-python-intro.htm\" rel=\"nofollow\">new Python 3 API<\/a>\u00a0and corresponding Python\u00a0<a class=\"external-link\" href=\"https:\/\/doc.arcgis.com\/en\/cityengine\/latest\/python\/python-working-with-python-3.htm#ESRI_SECTION1_A6A73E07828D49BC857532F741C004D0\" rel=\"nofollow\">environment management<\/a>. This means you can now run Python 3 code in the CityEngine Python editor and interactive console to access the full CityEngine API functionality. In addition, combine the new &#8220;cityengine&#8221; package with other packages in the vast Python ecosystem like PyPI.org or Anaconda.org.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2972914,"id":2972914,"title":"OvetureMaps_IDE_image1_Alternate","filename":"OvetureMaps_IDE_image1_Alternate-scaled.png","filesize":231555,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-scaled.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\/oveturemaps_ide_image1_alternate","alt":"","author":"360672","description":"","caption":"","name":"oveturemaps_ide_image1_alternate","status":"inherit","uploaded_to":2971523,"date":"2026-06-24 22:41:13","modified":"2026-06-24 22:41:13","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2560,"height":791,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-scaled.png","medium-width":464,"medium-height":143,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-scaled.png","medium_large-width":768,"medium_large-height":237,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-scaled.png","large-width":1920,"large-height":593,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-1536x475.png","1536x1536-width":1536,"1536x1536-height":475,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-2048x633.png","2048x2048-width":2048,"2048x2048-height":633,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-826x255.png","card_image-width":826,"card_image-height":255,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image1_Alternate-1920x593.png","wide_image-width":1920,"wide_image-height":593}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Conveniently switch between Python 3 and Jython per project. Environments and their required packages are also automatically installed when you import a project making sharing and collaboration on Python scripts easy!<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2972841,"id":2972841,"title":"OvetureMaps_IDE_image2","filename":"OvetureMaps_IDE_image2.png","filesize":179676,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\/oveturemaps_ide_image2","alt":"","author":"360672","description":"","caption":"","name":"oveturemaps_ide_image2","status":"inherit","uploaded_to":2971523,"date":"2026-06-24 21:09:20","modified":"2026-06-24 21:09:20","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1974,"height":1074,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2.png","medium-width":464,"medium-height":252,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2.png","medium_large-width":768,"medium_large-height":418,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2.png","large-width":1920,"large-height":1045,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2-1536x836.png","1536x1536-width":1536,"1536x1536-height":836,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2.png","2048x2048-width":1974,"2048x2048-height":1074,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2-826x449.png","card_image-width":826,"card_image-height":449,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvetureMaps_IDE_image2-1920x1045.png","wide_image-width":1920,"wide_image-height":1045}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The Python 3 API is 1:1 compatible with the existing Jython API and updating your older scripts requires just three steps:<\/p>\n<ol>\n<li>Switching the script&#8217;s project from Jython to Python in the project properties, typically to the built-in &#8220;Python 3.x.y&#8221; environment.<\/li>\n<li>Switching the API import statement from &#8220;import scripting&#8221; to &#8220;import cityengine&#8221;.<\/li>\n<li>Performing standard Python\u00a0<a class=\"external-link\" href=\"https:\/\/docs.python.org\/3.10\/library\/2to3.html\" rel=\"nofollow\">2to3<\/a>\u00a0upgrades (either manually or automated).<\/li>\n<\/ol>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"PythonExample1:OuvertureMapimport-AboutOvertureMaps\">About Overture Maps<\/h2>\n<p><span class=\"TextRun SCXW245760173 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW245760173 BCX0\">Overture maps is<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0an open data mapping\u00a0<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">initiative funded by organizations including Amazon,\u00a0<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">Microsoft,\u00a0<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">Meta<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">,<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">TomTom. It <\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">is also supported by Esri<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">. <\/span><\/span><\/p>\n<p><span class=\"TextRun SCXW245760173 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW245760173 BCX0\">The goal of Overture Maps<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0is<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0to pro<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">vide<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">high-quality, <\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">reliable<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0open map data like buildings, places, transportation and other geographic features.\u00a0<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">Th<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">is<\/span><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0data comes from OpenStreetMap, governmental agencies and contributions from participating organizations. It is available in\u00a0<\/span><\/span><a href=\"https:\/\/geoparquet.org\/\"><span class=\"TextRun Underlined SCXW245760173 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW245760173 BCX0\">GeoParquet<\/span><\/span><\/a><span class=\"TextRun SCXW245760173 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW245760173 BCX0\">\u00a0format which is an <a href=\"https:\/\/www.ogc.org\/\">Open Geospatial Consortium<\/a> standard that works with modern geospatial tools and cloud platforms.\u00a0<\/span><\/span><\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"PythonExample1:OuvertureMapimport-RunningtheOvertureMapsimportexample\">Running the Overture Maps import example<\/h2>\n<ol>\n<li>Start CityEngine 2026.0, call the menu item &#8220;Help \u2192 Download Tutorials and Examples&#8230;&#8221; and download the project &#8220;Example Python 01 Import Overture Maps&#8221;<\/li>\n<li>Open the script &#8220;scripts\/main.py&#8221; and hit F9 (or menu item &#8220;Python \u2192 Run Script&#8221;) to run it<\/li>\n<li>Optionally, use &#8220;Window \u2192 Console&#8221; to view the progress in the Python output console.<\/li>\n<\/ol>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"PythonExample1:OuvertureMapimport-ThevastPythongeospatialeco-system\">The vast Python geospatial eco-system<\/h2>\n<p><span class=\"TextRun SCXW25071537 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW25071537 BCX0\">Our Python 3 support<\/span><span class=\"NormalTextRun SCXW25071537 BCX0\">\u00a0makes use of the standard CPython distribution, making it compatible with many popular Python libraries such as Pandas and GeoPandas.<\/span><\/span><span class=\"EOP Selected SCXW25071537 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span class=\"NormalTextRun SCXW63152046 BCX0\">For example, this code uses GeoPandas to convert Overture Maps features from WGS84 coordinates to the projected coordinate system of the current CityEngine scene<\/span><span class=\"NormalTextRun SCXW63152046 BCX0\">:<\/span><\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"from geopandas import GeoDataFrame\r\n \r\nce_wkid = 32610 # EPSG id for UTM 10N, retrieved typically via ce.getSceneCoordSystem()\r\ndata_frame_wgs84: GeoDataFrame = ... # from Overture Map reader\r\ndata_frame_utm10n: GeoDataFrame = data_frame_wgs84.to_crs(epsg=ce_wkid)\r\n","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p><span class=\"NormalTextRun SCXW258390650 BCX0\">Similar to GeoPandas, DuckDB also makes it easy to work with Overture Maps data. <\/span><span class=\"NormalTextRun SCXW258390650 BCX0\">It can read GeoParquet files directly <span class=\"TextRun SCXW183729463 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW183729463 BCX0\">as well as extensions for Amazon S3 and spatial SQL. This<\/span><\/span> allows you to process large datasets in just a few lines of code<\/span><span class=\"NormalTextRun SCXW258390650 BCX0\">:<\/span><\/p>\n"},{"acf_fc_layout":"sidebar","content":"","image_reference":false,"layout":"code_snippet","image_reference_figure":"","snippet":"sql_query\u00a0=\u00a0f\"\"\"\r\n\u00a0SELECT names.primary AS name, ST_AsWKB(geometry) AS geom_wkb\r\n\u00a0\u00a0\u00a0\u00a0FROM read_parquet(\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0's3:\/\/overturemaps-{s3_region}\/release\/{release}\/theme={ovm_query.ov_theme}\/type={ovm_query.ov_type}\/*',\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0hive_partitioning=true)\r\n\u00a0\u00a0\u00a0\u00a0WHERE bbox.xmin BETWEEN {minx} AND {maxx}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0AND bbox.ymin BETWEEN {miny} AND {maxy}\r\n\"\"\"\r\n\r\ncon\u00a0=\u00a0duckdb.connect()\r\ncon.execute(\"INSTALL spatial; LOAD spatial; INSTALL httpfs; LOAD httpfs;\")\r\ncon.execute(\"SET enable_object_cache=true;\")\r\ntry:\r\ndf\u00a0=\u00a0con.sql(sql_query).fetchdf()\r\nfinally:\r\ncon.close()\r\n\r\ngdf\u00a0=\u00a0geopandas.GeoDataFrame(df.drop(columns=['geom_wkb']),\r\ngeometry=geopandas.GeoSeries.from_wkb(df['geom_wkb'].apply(bytes)),\r\ncrs=OVERTUREMAPS_CRS)","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"image","image":{"ID":2972919,"id":2972919,"title":"Oveture Maps Import_AsIs","filename":"Oveture-Maps-Import_AsIs.gif","filesize":6429624,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\/oveture-maps-import_asis","alt":"Run Overture Script","author":"360672","description":"","caption":"","name":"oveture-maps-import_asis","status":"inherit","uploaded_to":2971523,"date":"2026-06-24 22:48:27","modified":"2026-06-24 22:48:50","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1920,"height":1080,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs.gif","large-width":1920,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs-1536x864.gif","1536x1536-width":1536,"1536x1536-height":864,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs.gif","2048x2048-width":1920,"2048x2048-height":1080,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs-826x465.gif","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Oveture-Maps-Import_AsIs.gif","wide_image-width":1920,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""}],"related_articles":"","show_article_image":true,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/Adobe-Express-file-3-1.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvertureMapsV7.gif"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Use Python in ArcGIS CityEngine to import from Overture Maps<\/title>\n<meta name=\"description\" content=\"Run\u00a0Python 3 code in the CityEngine Python editor and interactive console. Try this new example to import data from Overture Maps!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use Python in ArcGIS CityEngine and import features from Overture Maps\" \/>\n<meta property=\"og:description\" content=\"Run\u00a0Python 3 code in the CityEngine Python editor and interactive console. Try this new example to import data from Overture Maps!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-01T23:40:28+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\"},\"author\":{\"name\":\"Jen Johnson\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f67d314a51e642c08cc0b93efa68d60e\"},\"headline\":\"Use Python in ArcGIS CityEngine and import features from Overture Maps\",\"datePublished\":\"2026-07-01T07:30:12+00:00\",\"dateModified\":\"2026-07-01T23:40:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\"},\"wordCount\":11,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"3D\",\"arcgis cityengine\",\"CityEngine\",\"overture maps\",\"python\"],\"articleSection\":[\"3D Visualization &amp; Analytics\",\"Data Management\",\"Design and Planning\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\",\"name\":\"Use Python in ArcGIS CityEngine to import from Overture Maps\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2026-07-01T07:30:12+00:00\",\"dateModified\":\"2026-07-01T23:40:28+00:00\",\"description\":\"Run\u00a0Python 3 code in the CityEngine Python editor and interactive console. Try this new example to import data from Overture Maps!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use Python in ArcGIS CityEngine and import features from Overture Maps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f67d314a51e642c08cc0b93efa68d60e\",\"name\":\"Jen Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/01\/IMG_6204-2-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/01\/IMG_6204-2-213x200.jpg\",\"caption\":\"Jen Johnson\"},\"description\":\"Jen Johnson is a Product Engineer on the ArcGIS CityEngine team at the Esri R&amp;D Center in Zurich. Her background is in landscape architecture, urban planning, geodesign and sustainable design for passive development strategies. She has otherwise used her GIS knowledge to support humanitarian initiatives worldwide.\",\"knowsLanguage\":[\"English\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/jenjohnson\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Use Python in ArcGIS CityEngine to import from Overture Maps","description":"Run\u00a0Python 3 code in the CityEngine Python editor and interactive console. Try this new example to import data from Overture Maps!","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:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps","og_locale":"en_US","og_type":"article","og_title":"Use Python in ArcGIS CityEngine and import features from Overture Maps","og_description":"Run\u00a0Python 3 code in the CityEngine Python editor and interactive console. Try this new example to import data from Overture Maps!","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2026-07-01T23:40:28+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps"},"author":{"name":"Jen Johnson","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f67d314a51e642c08cc0b93efa68d60e"},"headline":"Use Python in ArcGIS CityEngine and import features from Overture Maps","datePublished":"2026-07-01T07:30:12+00:00","dateModified":"2026-07-01T23:40:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps"},"wordCount":11,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["3D","arcgis cityengine","CityEngine","overture maps","python"],"articleSection":["3D Visualization &amp; Analytics","Data Management","Design and Planning"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps","name":"Use Python in ArcGIS CityEngine to import from Overture Maps","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2026-07-01T07:30:12+00:00","dateModified":"2026-07-01T23:40:28+00:00","description":"Run\u00a0Python 3 code in the CityEngine Python editor and interactive console. Try this new example to import data from Overture Maps!","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Use Python in ArcGIS CityEngine and import features from Overture Maps"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f67d314a51e642c08cc0b93efa68d60e","name":"Jen Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/01\/IMG_6204-2-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/01\/IMG_6204-2-213x200.jpg","caption":"Jen Johnson"},"description":"Jen Johnson is a Product Engineer on the ArcGIS CityEngine team at the Esri R&amp;D Center in Zurich. Her background is in landscape architecture, urban planning, geodesign and sustainable design for passive development strategies. She has otherwise used her GIS knowledge to support humanitarian initiatives worldwide.","knowsLanguage":["English"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/jenjohnson"}]}},"text_date":"July 1, 2026","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/city-engine\/3d-gis\/python-arcgis-cityengine-import-from-overture-maps","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/06\/OvertureMapsV7.gif","primary_product":"ArcGIS CityEngine","tag_data":[{"term_id":25781,"name":"3D","slug":"3d","term_group":0,"term_taxonomy_id":25781,"taxonomy":"post_tag","description":"","parent":0,"count":354,"filter":"raw"},{"term_id":760632,"name":"arcgis cityengine","slug":"arcgis-cityengine","term_group":0,"term_taxonomy_id":760632,"taxonomy":"post_tag","description":"","parent":0,"count":8,"filter":"raw"},{"term_id":42631,"name":"CityEngine","slug":"cityengine","term_group":0,"term_taxonomy_id":42631,"taxonomy":"post_tag","description":"","parent":0,"count":27,"filter":"raw"},{"term_id":781170,"name":"overture maps","slug":"overture-maps","term_group":0,"term_taxonomy_id":781170,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":24341,"name":"python","slug":"python","term_group":0,"term_taxonomy_id":24341,"taxonomy":"post_tag","description":"","parent":0,"count":174,"filter":"raw"}],"category_data":[{"term_id":23771,"name":"3D Visualization &amp; Analytics","slug":"3d-gis","term_group":0,"term_taxonomy_id":23771,"taxonomy":"category","description":"","parent":0,"count":708,"filter":"raw"},{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":964,"filter":"raw"},{"term_id":37151,"name":"Design and Planning","slug":"design-planning","term_group":0,"term_taxonomy_id":37151,"taxonomy":"category","description":"","parent":0,"count":123,"filter":"raw"}],"product_data":[{"term_id":36781,"name":"ArcGIS CityEngine","slug":"city-engine","term_group":0,"term_taxonomy_id":36781,"taxonomy":"product","description":"","parent":36591,"count":87,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=city-engine","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2971523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/360672"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2971523"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2971523\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2971523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2971523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2971523"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2971523"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2971523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}