{"id":819831,"date":"2020-04-22T06:46:47","date_gmt":"2020-04-22T13:46:47","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=819831"},"modified":"2020-06-17T05:25:33","modified_gmt":"2020-06-17T12:25:33","slug":"low-poly-ski-resort-map-2","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2","title":{"rendered":"A low poly ski resort map &#8211; part II: add thematic data"},"author":7011,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23771],"tags":[549072],"industry":[],"product":[36831],"class_list":["post-819831","blog","type-blog","status-publish","format-standard","hentry","category-3d-gis","tag-esrirdzurich","product-js-api-arcgis"],"acf":{"short_description":"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.","flexible_content":[{"acf_fc_layout":"content","content":"<p>In the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-1\/\">previous blog post<\/a> Arno showed you how to create a low poly terrain surface for the map. In this post we\u2019ll add the thematic data (e.g. ski slopes, ski lifts, points of interest, trees) and we&#8217;ll look at some tips and tricks in terms of symbology.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Align thematic data to the mesh surface<\/h2>\n<p>The data is stored in <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html\">FeatureLayers<\/a> that we&#8217;ll add to the scene. However, the features don&#8217;t contain z values, so our first step is to align them to the mesh surface. Currently, we can\u2019t align features to mesh geometry using the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html#elevationInfo\">elevationInfo<\/a> property. Instead we&#8217;ll use the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-geometry-support-meshUtils.html#createElevationSampler\">meshUtils.createElevationSampler()<\/a> method to create an <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-ElevationSampler.html\">ElevationSampler<\/a> from the mesh geometry. This sampler can then be used to enhance features with z values based on the mesh elevation at the location of the feature.<\/p>\n"},{"acf_fc_layout":"content","content":"<pre><code style=\"padding: 0.5em; color: #333; background: #f8f8f8;\">meshUtils.createElevationSampler(mesh)\r\n  .then(<span style=\"color: #333; font-weight: bold;\">function<\/span>(sampler) {\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ query the features that don't have<\/span>\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ elevation information<\/span>\r\n    layer.queryFeatures({\r\n        where: <span style=\"color: #d14;\">\"1=1\"<\/span>,\r\n        outFields: [<span style=\"color: #d14;\">\"OBJECTID\"<\/span>],\r\n        returnGeometry: <span style=\"color: #333; font-weight: 500;\">true<\/span>,\r\n        returnZ: <span style=\"color: #333; font-weight: 500;\">true<\/span>\r\n      })\r\n      .then(<span style=\"color: #333; font-weight: bold;\">function<\/span> (result) {\r\n\r\n        <span style=\"color: #333; font-weight: bold;\">const<\/span> features = result.features;\r\n        <span style=\"color: #998; font-style: italic;\">\/\/ enhance each feature with z values<\/span>\r\n        <span style=\"color: #998; font-style: italic;\">\/\/ retrieved from the sampler<\/span>\r\n        features.forEach(<span style=\"color: #333; font-weight: bold;\">function<\/span> (feature) {\r\n          <span style=\"color: #333; font-weight: bold;\">const<\/span> zGeometry = sampler.queryElevation(feature.geometry);\r\n          feature.geometry = zGeometry;\r\n        });\r\n\r\n        <span style=\"color: #998; font-style: italic;\">\/\/ overwrite the geometry on the layer<\/span>\r\n        layer\r\n          .applyEdits({ updateFeatures: features })\r\n          .then(<span style=\"color: #333; font-weight: bold;\">function<\/span> (results) {\r\n            <span style=\"color: #0086b3;\">console<\/span>.log(results);\r\n          })\r\n          .catch(<span style=\"color: #0086b3;\">console<\/span>.error);\r\n      });\r\n  });\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<p>At the end, we can make small changes using the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Editor.html\">Editor<\/a> widget. For example, the ski lifts need adjustments for a more realistic alignment to the terrain.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":820151,"id":820151,"title":"Screenshot 2020-04-14 at 17.46.27","filename":"Screenshot-2020-04-14-at-17.46.27.png","filesize":40875,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/screenshot-2020-04-14-at-17-46-27","alt":"","author":"7011","description":"","caption":"Modify position and height of line vertices with the Editor widget","name":"screenshot-2020-04-14-at-17-46-27","status":"inherit","uploaded_to":819831,"date":"2020-04-15 14:58:05","modified":"2020-04-15 14:58:32","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":1072,"height":579,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27.png","medium-width":464,"medium-height":251,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27.png","medium_large-width":768,"medium_large-height":415,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27.png","large-width":1072,"large-height":579,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27.png","1536x1536-width":1072,"1536x1536-height":579,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27.png","2048x2048-width":1072,"2048x2048-height":579,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27-826x446.png","card_image-width":826,"card_image-height":446,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-17.46.27.png","wide_image-width":1072,"wide_image-height":579}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Create symbols for ski lifts using 3D strips and cylinders<\/h2>\n<p class=\"graf graf--p\">For the ski lifts we used a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-PathSymbol3DLayer.html\">PathSymbol3DLayer<\/a> with a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-PathSymbol3DLayer.html#profile\">square profile<\/a> where the width is larger than the height:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":826061,"id":826061,"title":"Path-2","filename":"Path-2.png","filesize":4543,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/path-2","alt":"","author":"7011","description":"LineSymbol3D with a PathSymbol3DLayer","caption":"","name":"path-2","status":"inherit","uploaded_to":819831,"date":"2020-04-20 10:24:09","modified":"2020-04-20 10:25:05","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":235,"height":198,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2-213x198.png","thumbnail-width":213,"thumbnail-height":198,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","medium-width":235,"medium-height":198,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","medium_large-width":235,"medium_large-height":198,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","large-width":235,"large-height":198,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","1536x1536-width":235,"1536x1536-height":198,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","2048x2048-width":235,"2048x2048-height":198,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","card_image-width":235,"card_image-height":198,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Path-2.png","wide_image-width":235,"wide_image-height":198}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p class=\"graf graf--p\">Using a dark gray color for the path helps to identify them as ski lifts on the map, but it still feels a bit too abstract. So we decided to add pillars, similar to real ski lifts. To add them we created a new <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-GraphicsLayer.html\">GraphicsLayer<\/a> with points extracted from the vertices of the ski lift lines. The layer uses a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-SimpleRenderer.html\">SimpleRenderer<\/a> with cylinder symbols:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":820221,"id":820221,"title":"comparison-lift-symbol","filename":"comparison-lift-symbol.png","filesize":51686,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/comparison-lift-symbol","alt":"","author":"7011","description":"","caption":"Ski lift symbols with and without pillars","name":"comparison-lift-symbol","status":"inherit","uploaded_to":819831,"date":"2020-04-15 15:05:53","modified":"2020-04-15 15:11:57","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":1050,"height":413,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol.png","medium-width":464,"medium-height":183,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol.png","medium_large-width":768,"medium_large-height":302,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol.png","large-width":1050,"large-height":413,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol.png","1536x1536-width":1050,"1536x1536-height":413,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol.png","2048x2048-width":1050,"2048x2048-height":413,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol-826x325.png","card_image-width":826,"card_image-height":325,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/comparison-lift-symbol.png","wide_image-width":1050,"wide_image-height":413}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Use icons as labels to show ski lift status<\/h2>\n<p>To show whether a ski lift is open or closed we could use a different color for the lines based on the status (red for closed lifts and green for open ones). However, the dark gray color is what makes the lift symbols easy to distinguish on the map. And we want to add a small identifier, not something that could distract our viewers. So we\u2019re going to add a label for each lift. Having a text could be too verbose, so we\u2019re going to use icon labels from the<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/esri-icon-font\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/esri-icon-font\/\"> Esri Icon Font<\/a>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":820231,"id":820231,"title":"open-closed","filename":"open-closed.png","filesize":49099,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/open-closed","alt":"","author":"7011","description":"","caption":"Placing labels with Esri Icon Font to show whether ski lifts are open or closed","name":"open-closed","status":"inherit","uploaded_to":819831,"date":"2020-04-15 15:14:05","modified":"2020-04-15 15:14:31","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":1067,"height":412,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed.png","medium-width":464,"medium-height":179,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed.png","medium_large-width":768,"medium_large-height":297,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed.png","large-width":1067,"large-height":412,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed.png","1536x1536-width":1067,"1536x1536-height":412,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed.png","2048x2048-width":1067,"2048x2048-height":412,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed-826x319.png","card_image-width":826,"card_image-height":319,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/open-closed.png","wide_image-width":1067,"wide_image-height":412}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p class=\"graf graf--p\">On <a href=\"https:\/\/github.com\/RalucaNicola\/ski-resort-map\/blob\/master\/app\/renderers.js#L246\">GitHub<\/a> you can see the code for adding multiple label classes using an icon font.<\/p>\n<h2>Two line symbol layers for ski slope symbols<\/h2>\n<p class=\"graf graf--p\">Multiple line symbol layers can be combined within one symbol. We are going to use this feature to emphasize the ski slopes.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":820241,"id":820241,"title":"multiple-symbol-layers","filename":"multiple-symbol-layers.png","filesize":24515,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/multiple-symbol-layers","alt":"","author":"7011","description":"","caption":"","name":"multiple-symbol-layers","status":"inherit","uploaded_to":819831,"date":"2020-04-15 15:17:44","modified":"2020-04-15 15:17:44","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":704,"height":407,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","medium-width":451,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","medium_large-width":704,"medium_large-height":407,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","large-width":704,"large-height":407,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","1536x1536-width":704,"1536x1536-height":407,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","2048x2048-width":704,"2048x2048-height":407,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","card_image-width":704,"card_image-height":407,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/multiple-symbol-layers.png","wide_image-width":704,"wide_image-height":407}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The first symbol layer has 0.2 transparency which will allow the terrain to show through. The line is quite wide, so it creates a halo effect.<\/p>\n<p>The second symbol layer uses a fully opaque line, using the same color. This time the line is much thinner, so that it doesn\u2019t attract too much attention. In the end both layers are combined in a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-LineSymbol3D.html\">LineSymbol3D<\/a>. Using a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-UniqueValueRenderer.html\">UniqueValueRenderer<\/a> we create different such symbols for each slope category:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":820301,"id":820301,"title":"Screenshot 2020-04-14 at 18.05.46","filename":"Screenshot-2020-04-14-at-18.05.46.png","filesize":127944,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/screenshot-2020-04-14-at-18-05-46","alt":"","author":"7011","description":"","caption":"Ski slopes with multiple symbol layers, colored based on difficulty level","name":"screenshot-2020-04-14-at-18-05-46","status":"inherit","uploaded_to":819831,"date":"2020-04-15 15:33:59","modified":"2020-04-15 15:34:35","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":1073,"height":661,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46.png","medium-width":424,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46.png","medium_large-width":768,"medium_large-height":473,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46.png","large-width":1073,"large-height":661,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46.png","1536x1536-width":1073,"1536x1536-height":661,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46.png","2048x2048-width":1073,"2048x2048-height":661,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46-755x465.png","card_image-width":755,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-14-at-18.05.46.png","wide_image-width":1073,"wide_image-height":661}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Symbolize huts with a 3D model<\/h2>\n<p class=\"graf graf--p\">The huts in our map are just points in a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html\">FeatureLayer<\/a>. These points can be symbolized with <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-ObjectSymbol3DLayer.html\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-ObjectSymbol3DLayer.html\">ObjectSymbol3DLayers<\/a> that can reference any custom 3D model. In our map, we want to show the restaurants and hotels in the ski resort with a 3D model of a hut. 3D artists post some of their work under a Creative Commons license on websites like <a href=\"https:\/\/poly.google.com\/\">Poly<\/a> or <a href=\"https:\/\/sketchfab.com\/feed\">Sketchfab<\/a>. If your 3D modelling skills are very limited or nonexistent, you can search for a model that fits your map on one of these websites. For the hut I downloaded this 3D model of a chalet:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":826091,"id":826091,"title":"Screenshot 2020-04-20 at 12.47.10","filename":"Screenshot-2020-04-20-at-12.47.10.png","filesize":9678,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/screenshot-2020-04-20-at-12-47-10","alt":"","author":"7011","description":"3D model of a chalet on Google Poly","caption":"3D model of a chalet on Google Poly","name":"screenshot-2020-04-20-at-12-47-10","status":"inherit","uploaded_to":819831,"date":"2020-04-20 10:48:51","modified":"2020-04-21 07:57:09","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":317,"height":234,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","medium-width":317,"medium-height":234,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","medium_large-width":317,"medium_large-height":234,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","large-width":317,"large-height":234,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","1536x1536-width":317,"1536x1536-height":234,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","2048x2048-width":317,"2048x2048-height":234,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","card_image-width":317,"card_image-height":234,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Screenshot-2020-04-20-at-12.47.10.png","wide_image-width":317,"wide_image-height":234}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/poly.google.com\/view\/6ufSK2nQBc6"},{"acf_fc_layout":"content","content":"<p class=\"graf graf--p\">Custom 3D models can be added as a resource for the <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-ObjectSymbol3DLayer.html\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-ObjectSymbol3DLayer.html\">ObjectSymbol3DLayer<\/a> if they are in <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.khronos.org\/gltf\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.khronos.org\/gltf\/\">glTF format<\/a>.<\/p>\n<p>When you add a 3D model as a symbol, the size and the rotation of the model might not fit to your scene. In our case, each hut will need a symbol with a different size and orientation. To solve this, we added size and rotation fields on the layer and used them as <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-visualVariables-SizeVariable.html\">size<\/a> and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-visualVariables-RotationVariable.html\">rotation visual variables<\/a> on the renderer. Like this, the renderer uses the values in the fields for symbol scaling and orientation. If we enable editing capabilities on the layer and we add the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Editor.html\">Editor widget<\/a> to the scene, we can set these values interactively as you can see in the video below:<\/p>\n"},{"acf_fc_layout":"youtube","start_time":"0","end_time":"","youtube_video_url":"<iframe title=\"3D model symbol scale and rotation in ArcGIS API for JavaScript\" width=\"520\" height=\"390\" src=\"https:\/\/www.youtube.com\/embed\/Up7-i4unEQw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>"},{"acf_fc_layout":"content","content":"<h2>Use more than one icon for a symbol<\/h2>\n<p class=\"graf graf--p\">Points of interest in a ski resort can have multiple facilities (restaurant, bar, toilets, etc.), and we want to use multiple icons to show which facilities are available at each point. To achieve this we&#8217;ll use multiple symbol layers and set an offset from the original position of the symbol layer. The graphic below displays an example with two icons: one for restaurant and one for first aid kit. We placed the restaurant icon relative to its initial position (the black circle) by moving it 50% of its width to the left and 50% of its height to the top.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":826171,"id":826171,"title":"icon-symbols-hires","filename":"icon-symbols-hires.png","filesize":165847,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\/icon-symbols-hires","alt":"","author":"7011","description":"","caption":"","name":"icon-symbols-hires","status":"inherit","uploaded_to":819831,"date":"2020-04-20 11:06:13","modified":"2020-04-20 11:06: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":2363,"height":1659,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires.png","medium-width":372,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires.png","medium_large-width":768,"medium_large-height":539,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires.png","large-width":1538,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires-1536x1078.png","1536x1536-width":1536,"1536x1536-height":1078,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires-2048x1438.png","2048x2048-width":2048,"2048x2048-height":1438,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires-662x465.png","card_image-width":662,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires-1538x1080.png","wide_image-width":1538,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/icon-symbols-hires.png"},{"acf_fc_layout":"content","content":"<p class=\"graf graf--p\">You might notice that we actually have three symbol layers because we also added a symbol layer for the background. The background is a semi-transparent white square, generated using the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Canvas_API\">Canvas API<\/a>. You can find the code for generating the background on <a href=\"https:\/\/github.com\/RalucaNicola\/ski-resort-map\/blob\/master\/app\/renderers.js#L6\">Github<\/a>.<\/p>\n<p>These are the main features that we used to create this ski resort map. We hope you enjoyed this blog post and we\u2019d love to hear how you use these features! In the meantime, you can explore the map <a href=\"https:\/\/ralucanicola.github.io\/ski-resort-map\/\">here<\/a> and if you&#8217;re interested in the details, check out the code on <a href=\"https:\/\/github.com\/RalucaNicola\/ski-resort-map\">Github<\/a>.<\/p>\n"}],"authors":[{"ID":9302,"user_firstname":"Arno","user_lastname":"Fiva","nickname":"Arno Fiva","user_nicename":"afiva","display_name":"Arno Fiva","user_email":"afiva@esri.com","user_url":"http:\/\/js.arcgis.com","user_registered":"2019-03-26 21:36:58","user_description":"Developer Evangelist at the Esri R&amp;D Center Z\u00fcrich, creating 3D web apps using the ArcGIS Maps SDK for JavaScript.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/01\/IMG_1603-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":7011,"user_firstname":"Raluca","user_lastname":"Nicola","nickname":"Raluca Nicola","user_nicename":"raluca_zurich","display_name":"Raluca Nicola","user_email":"RNicola@esri.com","user_url":"https:\/\/raluca-nicola.net\/","user_registered":"2018-03-02 00:19:07","user_description":"Raluca works as a web cartographer with the Geo Experience Center team at Esri. She loves to play around with web technologies and visualization styles. If she's not in front of the computer, she's probably somewhere up in the mountains.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/7VkWXsZ3_400x400.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":806491,"post_author":"7011","post_date":"2020-04-10 12:02:20","post_date_gmt":"2020-04-10 19:02:20","post_content":"","post_title":"Thoughts on creating 3D maps in low poly\u00a0style","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"3d-maps-in-low-poly-style","to_ping":"","pinged":"","post_modified":"2020-06-17 06:16:37","post_modified_gmt":"2020-06-17 13:16:37","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=806491","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"3","filter":"raw"},{"ID":826541,"post_author":"9302","post_date":"2020-04-22 06:44:52","post_date_gmt":"2020-04-22 13:44:52","post_content":"","post_title":"A low poly ski resort map - part I: generating the terrain","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"low-poly-ski-resort-map-1","to_ping":"","pinged":"","post_modified":"2020-06-17 06:14:44","post_modified_gmt":"2020-06-17 13:14:44","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=826541","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"1","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/ski-card.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/ski-banner.png"},"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>A low poly ski resort map - part II: symbols for thematic data<\/title>\n<meta name=\"description\" content=\"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.\" \/>\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\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A low poly ski resort map - part II: add thematic data\" \/>\n<meta property=\"og:description\" content=\"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\" \/>\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=\"2020-06-17T12:25:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2020\/04\/ski-card.png\" \/>\n\t<meta property=\"og:image:width\" content=\"826\" \/>\n\t<meta property=\"og:image:height\" content=\"465\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/ski-card.png\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\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\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\"},\"author\":{\"name\":\"Raluca Nicola\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e8fe39abb687cde59f7f1296fbfb24a4\"},\"headline\":\"A low poly ski resort map &#8211; part II: add thematic data\",\"datePublished\":\"2020-04-22T13:46:47+00:00\",\"dateModified\":\"2020-06-17T12:25:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\"},\"wordCount\":12,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"EsriRDZurich\"],\"articleSection\":[\"3D Visualization &amp; Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\",\"name\":\"A low poly ski resort map - part II: symbols for thematic data\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-04-22T13:46:47+00:00\",\"dateModified\":\"2020-06-17T12:25:33+00:00\",\"description\":\"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A low poly ski resort map &#8211; part II: add thematic data\"}]},{\"@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\/e8fe39abb687cde59f7f1296fbfb24a4\",\"name\":\"Raluca Nicola\",\"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\/2018\/04\/7VkWXsZ3_400x400.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/7VkWXsZ3_400x400.jpg\",\"caption\":\"Raluca Nicola\"},\"description\":\"Raluca works as a web cartographer with the Geo Experience Center team at Esri. She loves to play around with web technologies and visualization styles. If she's not in front of the computer, she's probably somewhere up in the mountains.\",\"sameAs\":[\"https:\/\/raluca-nicola.net\/\",\"https:\/\/www.linkedin.com\/in\/raluca-nicola-cartography\/\",\"https:\/\/x.com\/nicolaraluk\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/raluca_zurich\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A low poly ski resort map - part II: symbols for thematic data","description":"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.","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\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2","og_locale":"en_US","og_type":"article","og_title":"A low poly ski resort map - part II: add thematic data","og_description":"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2020-06-17T12:25:33+00:00","og_image":[{"width":826,"height":465,"url":"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2020\/04\/ski-card.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_description":"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.","twitter_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/ski-card.png","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2"},"author":{"name":"Raluca Nicola","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/e8fe39abb687cde59f7f1296fbfb24a4"},"headline":"A low poly ski resort map &#8211; part II: add thematic data","datePublished":"2020-04-22T13:46:47+00:00","dateModified":"2020-06-17T12:25:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2"},"wordCount":12,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["EsriRDZurich"],"articleSection":["3D Visualization &amp; Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2","name":"A low poly ski resort map - part II: symbols for thematic data","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-04-22T13:46:47+00:00","dateModified":"2020-06-17T12:25:33+00:00","description":"This is the second part of a blog series explaining how to create a ski resort map in a low poly style with ArcGIS API for JavaScript.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"A low poly ski resort map &#8211; part II: add thematic data"}]},{"@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\/e8fe39abb687cde59f7f1296fbfb24a4","name":"Raluca Nicola","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\/2018\/04\/7VkWXsZ3_400x400.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/7VkWXsZ3_400x400.jpg","caption":"Raluca Nicola"},"description":"Raluca works as a web cartographer with the Geo Experience Center team at Esri. She loves to play around with web technologies and visualization styles. If she's not in front of the computer, she's probably somewhere up in the mountains.","sameAs":["https:\/\/raluca-nicola.net\/","https:\/\/www.linkedin.com\/in\/raluca-nicola-cartography\/","https:\/\/x.com\/nicolaraluk"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/raluca_zurich"}]}},"text_date":"April 22, 2020","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/3d-gis\/low-poly-ski-resort-map-2","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/ski-banner.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":549072,"name":"EsriRDZurich","slug":"esrirdzurich","term_group":0,"term_taxonomy_id":549072,"taxonomy":"post_tag","description":"","parent":0,"count":96,"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":692,"filter":"raw"}],"product_data":[{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":363,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/819831","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\/7011"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=819831"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/819831\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=819831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=819831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=819831"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=819831"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=819831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}