Creating Rule Packages (RPKS) for ArcGIS Pro and CityEngine with CGA

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so my name is Erik Whitner I'm the park manager for City Engine I'm here with Pascal Muller the director of the R&D center and we wanted to talk to you today about creating rule packages for use really across the platform and then basically give you an introduction to CGA and Pascal is going to do a little code challenge live for us and actually build some CGA on the fly and show us some of the functions and capabilities that's wrapped up in it so what is CGA CGA is computer-generated architecture the agenda so just going to do two few quick slides on to the edge and I assume all of you know what city incheon is how many of you are writing CGA okay three people pretty good we would like to get you all writing CGA it's not it's not that hard it's easy to dive into so after I refresher on city engine I'm going to show a little bit of using rule packages and ArcGIS Pro show what they can do and how we're using them then we're going to go through a little overview of procedural modeling what it is what what computer-generated architecture is what rule packages are Pascal is going to give us a little CGA 101 demo as I mentioned then I'm going to talk about creating rule packages sharing rule packages ArcGIS online and then just touch on some tips and tricks that you should be aware of when you're creating rule packages for arcgis pro and one with a Q&A so city engine of course is a tool for generating 3d content buildings streetscapes for inserting vegetation creating arc spaces came from the entertainment industry we like the rules because they capture architectural style or streetscape style and just by changing parameters you can create a lot of different features and forms without having to do all that painful modeling so it's a real time-saver it's like you build the rule once and then use it in mass and you know where we're seeing the a lot of traction with this is and you know small landscape architecture architecture firms who are capturing the styles of buildings they typically do it in a rule set and then using that to kind of pull the really heavy 3d modeling time out of their workflow and they can do more iterations faster for their customers and create data much much more quickly so what is a rule package a rule package is a set of computer-generated architecture CGA the language of city engine and then assets the assets that touch those could be 3d models those could be textures and so those get wrapped together into what's called an RPK and then they can be shared when you create a rule package you have a choice you can make it open or you can make it closed open means someone else can open it up look at the code you've written inside use that as a basement foundation it's a nice way to share with other people what you're doing because they get everything they need the rule and the assets all in one one form but some people are developing rules and actually selling them and licensing them to people so they don't want people to see the code that's inside there so you can lock it down so that nobody can actually look inside CGA is written inside city engine there's an editor directly inside of it it's the kind of best place because you get that immediate feedback when you're generating there is no cgi editor in arcgis perot so city engine is the only place that you can build that the assets that are associated a rule or referenced in folders so actually when you package it's going to go and search those folders and find the assets that are related to the rule inside those and grab them so there's a lot of functions in CGA that allow you to pick random assets so if you have a folder filled with terabytes of assets and you have a random function that's picking one of those it's when you package it it's going to try and pick all of those so a great example of that was Singapore had a rule that referenced their colada library of every single building and Singapore and then they tried to turn it into an R pk a-and I think it came out something insane like 72 gigs on the back end kind of not super usable so it's just something you have to be aware of when you're where packing things up and as I mentioned it can be locked or unlocked what can they do they can be used as a content creation tool you know into the engine that's the primary use so you take some simple 2d data a street scape a footprint or a parcel and you generate something out of it but they also have a lot of functions that you can use for kind of alternative purposes so one example is we have a function called conform normals will looks a 3d model and make sure that all the normals are correct the faces are facing outside you can actually wrap that in a rule package you can use it in ArcGIS Pro to clean up data that's part of a geoprocessing work workflow the other thing we use over a lot is analytics so city engine is really good at splitting things into pieces iteratively so taking a set of buildings and splitting them into panels and then sample points and being able to use that the line-of-sight analysis a good example of an analytic workflow and then in arcgis pro within symbology you can use the rule directly as a type of symbol to create a 3d view so multiple ways to use it so I'm actually going to show some rule packages in action and arcgis pro okay so this is ArcGIS pro what I have is a design this design was submitted by an architecture firm it was a piece of CAD 2d data with a bunch of annotation on it telling me what kind of building was there and how tall that building was so the orange buildings are commercial orange with yellow dots are commercial with residential on top Lewis office blue with yellow dots is office with the residential on top grey ones are parking the yellow ones are residential and then around it they had a just a hard scape Park area walkways etc so I want to turn this into a set of 3d models so I'm going to copy this and paste it in my scene it gets dropped in automatically as 2d data I can copy that I'm going to drop it into le and then I'm going to paste it in twice because I want to leave them so I'm going to drag it up into the 3d side and then open the symbology so kind of classic ESRI symbology interface I'm going to go to a single symbol because I want to apply one rule to everything if I wanted to I could actually apply a different rule per unique value renderer or a different rule for range so anytime you see that you have a unique symbol you can associate a rule with it typically what we do is we offer one rule for everything and the rule itself handles kind of the uniqueness of the features but you know there's different approaches so I'm going to open the properties of the symbol this is inside symbology right there's different ways of creating representations you can add new symbol layers so I'm going to add a procedural symbol layer I'm actually going to get rid of the old ones and if I switch back I can see I have a procedural error right now it's unassigned and it's wanting you to select a rule so I click rule go to the folder which rule ritual which rule that's gray blocks oh it looks kind of boring there we go so the sign of procedural rule to it the parameters of the rule are exposed here in this window what it does is it reaches out and it looks at the geodatabase if it finds any field that matches a parameter it automatically associates those two things together and creates the link for you if you want though you can actually go in and manually assign it to a field that you specifically want to to have it point to so I'm just going to go ahead and hit apply and I get a bunch of 3d buildings so it's found the appropriate height field right and is giving me a simple representation of graded floors and all these buildings now as I associate more and more fields with that I can change what's being displayed here right so in this case I've now linked up the the textures the window size the roof type the roof texture right and created kind of a much more compelling symbol for each one of these buildings and these are live and responsive so if I actually start editing let's grab one of these buildings all right and open its attributes okay so this is a nine-story building so let's make this a much more drastic 15 story building all right so the incident I committed those edits it's pushing the feature back out to the procedural runtime procedural runtime is using the CGA to generate a new building and then I get a new feature live on the screen so you can use it interactively with with editing the other thing is it will honor if I go to create let's see I have a bunch of feature editing templates in here the dev already created and these feature editing templates have preset attributes associated with these buildings so if I create a create a new feature so let's create a an office tower here right that's going to be a really really big office divert 16 stories right so let's clear my selection so there I've created a new office tower feature so you can use it interactively in editing not just in symbology so this is one way this is the symbology approach to using procedural in arcgis pro i wanted to show you an example of using it in an analytical workflow okay so I'm looking here this is the town of Clarksville across from Louisville this green space we're looking at in the middle is a newly proposed development one of the things they're concerned about is basically work as they develop views to downtown Louisville on the other side of the river or considered amenity so they want to they want to measure that so we have a couple tools that do you know lines we have line of sight we have skyline etc that can do some of this analysis but there's a challenge when you're measuring visibility you need to have a regularly sampled backdrop that you're creating your line of sights to if you split a building and you imagine if you're looking at a building in an oblique angle the one that's more perpendicular to you it's going to have the point spread wider than the one that's you know more parallel to your field of view so if you were just to generate line of sights and calculate visibility based on that you'd bias all the things that are more oblique to you they get extra counted so you need to do is create a flat surface and then regularly sample it so what I've done is created a little model that does that so I'm going to walk you through that the first thing is I have a model here that just does a skyline so I have building footprints that are extruded I have new design footprints which are extruded I have 3d buildings for Louisville which we actually got out of get map data and city engine and then exported as multi patches of broad ends I'm merging those into a single set of buildings that on that single set of buildings I do a skyline analysis and then I generate a skyline barrier this is just kind of a generic skyline skyline model and what I've done is I've brought that whole model here into a I can model so I'm going to run that and as long as we don't see any red I'll be really happy okay so there's our skyline let's make it transparent so we can see through it drop down so you can see the red line in the distance that's our skyline we turned it into a barrier we're pushing that barrier far beyond the buildings for analytical reasons which will become obvious in a second the next step was I need that flat surface that I need to be able to sample it's not laughs flat is the wrong term it needs to be a surface that's equidistant from me the observer it's a sphere and we have a tool called buffer 3d which creates spheres so I'm going to buffer my observer point and then intersect that barrier with with the skyline and the barrier with a sphere and actually get this kind of representation of what the the profile looks like so let's take a look at that turn off these two so there in the distance is a flat surface showing the prominence of buildings from my observer okay I can turn that into a multi patch with layer 3d the future class but I need to sample it somehow so one of the ways that procedural is exposed is in a geoprocessing tool called feature from city engine rule you specify an input it could be a polygon it could be a multi batch feature interesting left in arcgis pro they support points as an input to procedural which we don't don't do in city engine we treat points as as basically three point triangles polygons so there's a variety of stuff you can push in you associate a rule package with it it's going to take rule package again is going to look at that data and see are there any attributes that match what I need and then it's going to create outputs and the default output is a multi patch feature but there's this option called export leaf files so some rules can create multiple types of geometries so I'm doing a rule called panelized multipatch takes a multi batch feature and splits a little bunch of panels for every single panel it gives you a line along the bottom edge and a height then it gives you a point in the center of the panel and then it gives you a multi patch each for each panel so the reason why we do this is you can create create an observer to create a line of sight to that point you can measure whether it can't can't see can or cannot see that point then you can associate that with the pulp with the line or with the multi patch feature to create a heat map or a color map so now with it so I'm just going to run this rule I should have been doing that while I was talking probably thinking thinking thinking might have gone with less of a point density so what it's doing is it's going building by building a building by building but every part of that profile and splitting the profile and the points points points points points points points and then from the observer I can construct sight lines between my observer and those points and then I can do a line-of-sight analysis when I drop in a proposed building to see if I'm going to wind up having conflict between those two so I think I'm just going to let this chug and then maybe we'll page back to it a little bit later after I've constructed some sight lines out of it so that's how you can rule packages in ArcGIS Pro you can do symbology you can use them for as a foundation for analysis for developing lines of sight or for cleaning up geometry you can share them to our chess online and I'm going to show a little bit later searching for some rule packages and finding some of the ones that are out there already for you to use you can consume them in RDS with the features from City Engine rule now it used to be that you had to have a matching schema to get the the fields to line up with the rule when you used it at the last release of arcgis pro we if you feed it a layer it'll actually look in the symbology to how you've linked all the fields to those parameters and honor that when you run it so now you have a WYSIWYG experience so if you apply a rule of symbology connect all your fields you're looking at it your run feature substantial rule you're going to get the same field mapping on the same looking feature on the backend as a multi patch feature so that was a nice enhancement you can consume the novelty is Prost as symbology and then you can also consume them in and third-party apps so rules are CGA right so they're actually kind of this procedural script and kind of introduce the concept of what CDA is I'm going to turn it over to Pascal de to take us to a CGA 101 okay so so yeah so CGI yeah it means a computer-generated architecture and yeah we can use it for procedural symbols and basically yeah and it's a it's a technically to shape grammar programming language so it's a shape grammar language so it's a bit like functional programming language and and where you can put basically pieces together to create iteratively create more and more detail it's a bit like playing Lego or you put stuff together and yeah so the our our basically our Lego piece is is what we call the shape and that means that the scope let's get our bounding box and inside there's the geometry so it's all about like how is it oriented and hot words what is the Chairman inside and then I can apply some operations on this stuff so here for example these are here are some operations you can see so some people can go and split stuff into so you can take one shape and then split it into two or many or you can take for example as an operation to take the sides of the split of the of the shape or offset so it read a lot of geometry function functionality 3d geometry functionality here I think this is also how you should see this as a tool for GP tools like this is one of the biggest ear and libraries for processing 3d geometry so you can just reuse that also for for basically any kind of to be like for those who knows he call or something but we're as you see go for for for for geometric processing so and you have geometric processing problems with multi patch then very often you can do and you can write some GP tools and and apply them to come clean up your shapes and pro or all these kind of things so yeah then so what's a rule so it's basically a sequence of shape operations that means you take a shape then you say it okay taken out of the shape and then maybe move it a bit scale it a bit split it and make two new should make two new shapes then the next rule takes the shapes again and and according to the rule its then create again something like this with the shapes and so yeah the challenge of this is actually many people are scared of of of learning CJ what it's actually pretty simple I think the only problem is the very beginning the concept of the functional language programming concept you need to understand once you have this and it might click and I think this is when you're into scripting very quickly you are it's like after one day you get it like this ol shape thing then afterwards your challenge is basically not so much anymore the technology of course there are always limitations to the technology but but very often it's more like okay what what is actually what am I going to build is it like agree like what is the rule actually which people want some means for example when you talk to an architect or a zoning designer or Sony planner and then you tell it then he and he says like yeah there's the setback of 10 meters then you ask like okay they said pack of 10 meters where is it actually this is from outside or he says look here then he doesn't know the answer he says like yeah we just do that and we just do it somehow and this isn't exactly so unique really need to get to the to the you start to ask the right questions actually like really then they they also start to think like okay setback passes a pack of 10 meters to a mage Street and what happens on the round corner it's kind of questions which then come up and you have to think about and where we have the tools to solve the stuff so yeah let's dive into it so connect the demo is the alpha version of the new CD engine it comes like two months at 2017 so one of the new things is here our our start up screen so I'm going to start with a an NPC in here and and I'm going to add a new rule so I create an hour rule and then I go in here I create here a parcel now on the left side you see that that's not a CJ editor what I can do now here is can go extrude then save it and now I go I go here and I assign a rule I'm just going to think so now now I have this this guy here which is ten meters so now what I am it's very very simple so I have here the star two lot and my operation is an extrusion that's it person so now what I can do is I add an attribute called height equals ten and I replace this with this attribute here and again I generate looks the same however now I have here in my inspector I got this attribute height here and I cannot change it to like here 70 meters or I could now go and select a source which drives this so these are these are exactly the attributes which you can connect to the field which in in pro so means if you have if you have data of any of any form so for example some two databases of have except the number of stories so then you go in and say like okay we make a rule for number of stories and then then you can connect it there and and yeah so it's really like whatever what it basically will ever attribute you have some have the age of buildings then you want to make a rule for the age so all this you can do rescue so I'm going to show here some some stuff which is in City Engine so one thing which you have is is the annotations so the most important annotation is actually the start rule so and this is something which pro needs to know need to know what is the start rule so you need to annotate this start tool then and you also can give it some some here is a parameter you can click on to say what's the range of this guy so let's say 4 to 250 meters so now when I when I go in here now so now I have slider here or what I also can do is and it's now clear this of course it is just an extrusion but now what I can do is I can start using other rules so let's go for example in here and search and this guy so we have city edge comes with the edge we lip so they here some some ready-to-use rules in here and then there's this building math texturizer so I cannot just grab this CGI here I drag it here so now I import this guy here and now when I go to to back to my lot here to my rule so what I do now is I just extruded slot now and what I do now is I create a new shape called math now for math I'm using a new rule which which which basically goes which now calls this guy here this building math texturizer typically I think it's just I have to say generate so and and I now turn right again it's and it's texturized so this is a yeah those of you you can very quickly do something then something which is in in silly engine is also you have handles so this is not yet in pro but you can go in here and say okay I want to RAK handle and I want to attach it to the to this mass here and and I generate and now I have a handle here so now you see I can instead of going to the inspector I can directly operate on on my on my shape here oh yeah this is your very basics but now we have many many operations where we can do really cool stuff so for example this that's and typically parcels are not on the pond percent extruded so what you have for example is it's actually something more like this so let's make here let's add in here a rule called footprint and what you now can do is and we have an operation for example called shape L and I can go in here and say like ok I go 15 meters make 10 meters then I go and shape and I say here this is my footprints so maybe let's go quickly here to the help and so here's the help CGA here you see all the operations which are available which attributes you can get stuff you can query like like like fiction we can query the angle and also your shape and all these kind of things so there are many many operations and functions here so I'm using now here this the shape L and what I'm doing is um and basically I'm dividing the parcel into two parts one is the footprint and one is the open space so so now see so I have now here this typical and kind of l-shaped I'll shave the building and yeah so the parcel I see the parcel here is a bit big which I created so I make it smaller and it looks better so yeah so I have I have now this now it starts to look like like a real kind of architectural parameter building which which they are they fix their building of course an architects and planners they of nastily us of these of these parametric blocks as a as a parameter so again I use here just a list and as an attribute that I can control it isn't a parameter here so yeah so so I have noticed this yep shape L and kind of looks looks like like a building so now let's have a look at what's this and what the building mast texture actually provides us so this is a rule where you can see I can go in and say like okay I want to have a schematic sausage and or a realistic facet so I'm realistic I said I could actually go in here and select here browse for texture if I really want my own texture can go in here and I don't know select one okay that's more like on for a big building now and or I or I can go in and say okay I want and I want schematics faucets and and there I also have many options in here which are already in there like I can go inside like okay this may be like more like this kind of style and let's make it a bit colorful and so so yeah or maybe it's better for something like this so basically visualized number of stories so tell you so this is all and available in here what's now missing is what's very important these days is always in green space so there's another another rule which is is the plant library so let's just go for rules here and again as relief we have something called the plant distributor again I just drag it in here and now I go to and I make a rule here for open space so currently you see open space doesn't have a rule yet so it just stops so that's basically this area here just stops so I go in here open space and add here the plant distributor again I think check custom choose generate and then it does something I think yes so just generates me here some some some had plans so here I could actually select and what I want to have and proper 3d models then I could go in and say and now here I see I get the interface of plant distributor so these are all the attributes of the plant distributor and and there I can go in say for example Amazon tropical kind of area here and then it's a bit too dense for me so let's go to all the five so this yeah so we kind of get idea and suddenly you are kind of in a visualization space where you are where we're architects are pretty mode planners are very happy and all this is now these are this few rules here and you could now create the RPK and and use this also in pro to create this kind of area here and the cool thing now is really I can the parcel and the parcel I can change the parcel as I want or and it's really like it's it really tries to be yeah tries to be clever and and really um yeah so here for some interesting tries to criterion l-shape tell you can you wrap it and interact so that regardless of the rectangle sure so if you want so we have we have we have operations like in a rectangle where you can put it can make actually rectangular forms in there like everything like like a yeah this is kind of parameter buildings this is what area type these days do very often and it's I think it's questionable if this is actually what we really want in the world all these kind of apparently buildings what I typically do is actually more something like this they actually they don't go directly to open space they make here and I'm like I basically make a stoploss rule here and I call this on on the open space I create a subplot and now I switch it the other way around so I make it inside and make footprint and the remainder ease is so now when I generate it again so now you see it then I make a make here times two so this is typical kind of architecture and rules which which city planners use or urban urban designers to really kind of figure out and massing and sizes etc and still it is this is this is all completely and procedural and so now we can do it also on this mass we just use the we can also do stuff on the as we can create old school rules so therefore I make a so-called component split and and I take the top and and and on top I create and let's say here my roof so means now I just take the top of my of my mass and now I need to write a roof rule so one one hit thing to do these days would be just this can it can play some plants on top of it so if I can to Singapore actually really has to do that they have roles like so I could do stuff like this or I can go in and make actual proper and proper and roof and let's come here and here some say 22 degrees and two meters overhand and now I generate and select so now you've got some kind of roof style kind of building there are different roof types which you have a gable roof and all these kind of things so yeah and I like to plant more so I'll go back to the plan and connecting is fun one special thing which we have in with the new CD engine 2017 is this is something which is not yet available in pro already so-called local edits so means I can go in here and and this vocal edit I can actually just just grab this part make it big and and really create these kinds of yeah associations however so these are let me just expand on local is there for a second it's you will Colette it allows you to take anything that's procedurally generated that you have exposed you most usually with a handle right and allow you to make individual edits to it so typically when we've been doing procedural generation you create a window all the windows in your building are the same width now you can put the local edit mode and change the width of individual windows you can change them and mass vertically so you can select a kind of a vertical column and change all those in one go and all that stuff's persisted in it so it's it's a huge leap because it really it really moves it away from being an N mass creation tool to being a creation tool for custom buildings yeah I can give here so this is a let's make a quick internet so to local edit cuz uh so here I can pick up the phone and say for this floor here I won so um so here is he I selected the whole floor and I can go in and say I'm like sample I'm going to make the make this floor hires hello what's going on out here so for example here no support try it again now they changed something from yesterday I kind of it's the other version of today so did you test it let's try it again I should have tested oh yeah you see the the and the the idea is that you actually can really I'm going for the for the for the single building and and really change the single thing okay hi I demoed that on the other session but it's really alpha build so but ideas really I can go in and change the actual one building however I know it works weird and and it's it's so I can very very easily create it's a typical use case are people want what they want to change this kind of this one top this one top window so yeah um well let's but that's another story go back to CGI hacking so yeah but now the important part here is actually you you don't you get a 3d visualization for your for your career and for your data however you also want to have numbers so what you can do also here enjoy some in my math rule I can report and example geometry dot volume and when I when I so I have to say I have to give it and name let's say volume here so when I do this now and this is especially this is pretty calculating the volume of such a thing here it becomes pretty difficult so now when I go to the inspector when I go to the inspector you can see here the volume so there are two there are two guys two masses which are basically reporting volume as in value and then here you see and so it's in total it's 50,000 cubic meters of volume so means this you can for example is used to report cross floor area and all these kind of things so means you can really report stuff it can be energy benchmarks and etc the we're we are providing all these kinds of benchmarks and so that you can actually really get out of your and of these symbols also you can get out reports and incidentally you can use them directly in pro you need to apply some Python scripts to actually really use the stuff so yeah and once you're happy you create you going you go to your rule so what is it true teaching so so I have here my perfect system so I'd hear my rule and I go to share us and and now I can create a package and can I can either upload it directly to artists online or or a Kansas State save it to a file and instead use this will package in a way as Eric showed so I chose my little bit okay I'm going to make you do one more thing I just made this on the flash lots of stuff came out for 2016 zero and CGA I was curious we just wanted to walk through quickly with the new new new functions were area split so one of the functions that we've had is the ability to split you can split along the scope the X or the Y or the Z you can split regularly one of the things that users kind of work continuously asking for us being able to split by an area and said and give me everything of an equal area or give me everything of a range of area this is really useful when you're doing parcels subdivision but it's also useful for other workflows like taking the floor of a building and splitting it into a set of Suites or apartments for the interior so that's something that we added in 2016 Pascal mentioned inner rectangle there's two things that were added to that one is not being able to just get the rectangle but to get the remainder around it so you could for instance drop a green space roll out and create a garden around the building so this was really useful for you know cities that had a lot of irregularly shaped parcels but still wanted to be able to generate or create square buildings on a proposed design the other thing that was cool was you could get the largest rectangle and any shape so the old inner rectangle you gave it a scope and orientation and it found the biggest rectangle that fit in that orientation this will find the orientation that optimizes the rectangle inside automatically we added in bunch of primitives that you can use directly when you're generating a building there's a great example we have a effort called ruled the week where we're trying to publish a one rule as an example every week there's a Taj Mahal example or every single shape inside of it was the primitive so there was there was actually no source shape and you can control the resolution of those shapes as you as you insert them depending on on your needs when you're doing insertion with objects we now honor the native size we also allow added some more control over soften and normals whether you want hard edges soft edges all soft edges and then conform normals which is that a function I mentioned earlier that allows you to particularly nepo shape and then coming in 2017 is this context query where the rule can not not just know things about the shape it's applied to but know things about shapes that it's near so in this case we have a tree that tree is figuring out how big its canopy can be based on how close it is to the wall and it gets to close it just snuffs itself out of existence and if it's somewhere in between it actually is reducing its canopy size so context queries are going to really kind of open up what we can do for CGA and going to be especially powerful when it comes to writing zoning rules and ten zoning regulations okay I'm just going to jump back to pro prove it ran so the only problem was it made six hundred and forty-one thousand points which is why I was taking a little bit of time but you know you can see we've taken that profile and split it into these points at a a regular interval that we could now use to create a line of sight and do a live site analysis I won't do the construction sight lines because that would also probably take 10 minutes or 12 minutes okay so so just some important tips I mentioned be be aware wary of the assets that you're including in your rule it's going to try and grab everything that it touches in a folder there's even some more I guess you could say destructive practices that sometimes you can make for instance one of the one of the great things to do when you're generating a building is you can tint a texture slightly to create variation so it's the same texture but it's got a slightly more green hue but then when you publish those or create features from those or if you export all those textures right you're going to get a neat unique one for each variant so if you use you know a huge range of colors you'd wind up with thousands of textures and really larger if you K so just be aware of that for arcgis pro you have to designate tags of what kind of what kind of input geometry you're providing into the rule so that the GP tool knows what it's expecting to receive so as it doesn't want a point doesn't want a polygon doesn't want to mesh so right now it's probably gone point and mesh but we have other things that we're planning on adding in the future parameters make sure you have a good name that's going to show up and mean something in the UI so that people know what what they're going to put in there and if you have an existing data model if you're using the local government data model for instance make sure that you're using the same field names set your ranges because it makes it a lot easier to manipulate those inside uh inside the layer layer controls and then if you need to protect your CGA you know protect it when you wrap it as rvk I'm going to ask please don't protect your CGA because it's nice to have for people to see examples and be able to share the one other thing I wanted to mention is it's the the rule packages can also be used by the SDK so this is a little plugin for Maya the uses the City Engine SDK I can a rule package directly into Maya and generate procedurally inside Maya using this SDK so some of our business partners have actually started using this SDK to produce data directly from things are doing like lidar collection tourist rail light our collection and then push it through a procedural workflow without without actually doing any manual work in arcgis pro or or city engine so it's just something to be aware of if if you're interested you can look at kind of embedding it pascal touched on creating in our PK there's an interface directly inside to the engine it looks very much like sharing and the rest of the desktop products you have that option of sharing up to online or you can create a local RPK and then share it manually later or just send it in an email so just kind of as a summary right you write cg rules the city engine you share as a rule package within your organization to portal ArcGIS online you can consume it in our chest through GP tools and pro through symbology and GP tools and of course and third-party packages using the sdk so let's just jump out arcgis just to a quick search for RPK so there are a bunch of different rule packages already out there posted that you can use and look at I mentioned we're doing an effort called rule of the week all right so there there we go so different example rules that we've already published to do different kind of workflows the last two were these park rules that use a blend of the plant distributor and some other features to actually create parks so yeah definitely you know if you get a chance and you want to look we'll look and play this is a great place to find and look for example rules that other people have built and then we're also planning on we're continuing to grow the ESRI rule library of the core library that ships with city engine adding new rules to that as well and we're planning on adding rules to the ESRI marketplace as a way to share and actually sell and monetize the exchange rules so the big takeaway is write rules are not not scary things they're they're basically building blocks right you can chain functions together to create more complex objects right with these rules if you haven't tried to do engine and how I recommend going and giving a download there's a lot of tutorials on how to write CGA and do and actually access the different shape grammars and the reporting functions so there's a lot of good help out there already there's a forum on Geo net where people exchange CGI CGA ideas and exchange help so I recommend you take a look at that so and please don't forget radar session and and this is if you have any questions feel free to reach out to me email or Twitter and yeah for now I want to open it for for any questions you guys might have yeah so the one of the export formats is multipatch all the local edits will be honored on export so yeah you'll be you'll get what you see back as a multi patch no problem you can also also am create a IPS or recent to the engine and kind of like if you want to share it again of course local editor are in there yes that was on all of you so I wish there so you specify which which layers it's going to be intersecting with said no no this is that's in arcgis pro and a lot of site GP tool oh no no that's he's talking about the context the context capabilities can you talk a little bit about that and maybe a little about the roadmap for counter yeah so and what you can bet you do is you label shapes so you could damage them so if we come here there was like label sense those things and then you can in your rules you can go and query like okay what's my distance to the nearest sense so and then you can base on this you can react in your rule so means it's the and and to the so the the rule can differentiate between between some because you can label them with strings that means you can basically control your and you can say like okay I just make and I just label the ones in this block or you can add the block ID to the label or so you can you can better control what you want to check against in your rule in a very simple way it's just basically you label yourself and then you can compare against dislike things so you can constrain by name of shape can you constrain by distance as well and what the unit of constraint so if I'm if I'm a tree and I'm looking for the nearest fence can I say I only want to look at fences they're within 100 meters this is happening automatically for you so you just get back your nearest your nearest tree and orphans and and then you can decide if if you are a lot if you like the distance or not so you can make a case statement and say like okay it's too far so typical typical use cases again in our planning is for example Austin often they do not have courses they have blocks and three like they really work in kind of like bigger kind of volumes and and then what they often have is on and they do some some some very simple subdivision of this of this blocks and then at the biggest of the biggest parcels a place at our summit but you need to figure out like okay which one is the biggest so because you have you have many blocks etc and then though you can now become make a query like like am i one of the three biggest parcels if so then create a block I create a tower the notarized page is create this kind of thing so these are typical like it starts to become really interesting from a trauma from a programming point of view you can really start to think like okay I can really I can add this context rules about like about like what's around or so they can be conducive query like is there a school near me if there is a school then I I can I don't need to create another school for some that's not one currently what you can do is you can you can label it school and then ask if there what's the difference - the to school but not one and in the in the September October release we want to actually be able to that you can you can query the school and then you can also query like a cable type of school as it for example and ask for like so this is the typical use case there's two is the street and you want to go and know it is what what type of street is it like is it to Main Street or Main Street a category five straight then you have setback of twenty meters and if it's category one them so these kind of things so you want to know the vertex activities you want to know the attributes so that's coming into one it's going to be pretty exciting this stuff because it is like next level [Music] the serial examples okay on asset as I said apropos a male if you if you have a questions and we are always interested in getting feedback and and especially now with the new functionalities and the new CD engines kind of like really everything's new basically oh thank you
Info
Channel: Esri Events
Views: 17,481
Rating: 4.9735098 out of 5
Keywords: Esri, ArcGIS, GIS, Esri Events, Computer Generated Architecture (CGA), 3D, zoning, streetscapes, parks, natural landscape, metrics, reports, energy consumption, CityEngine, RPK
Id: 6oiiXkwnnJc
Channel Id: undefined
Length: 60min 10sec (3610 seconds)
Published: Thu Mar 30 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.