[{"data":1,"prerenderedAt":248},["ShallowReactive",2],{"blog-index":3,"blog-sidebar-tags":240,"blog-sidebar-popular":241},{"posts":4,"count":239},[5,32,56,101,120,137,151,165,179,195,212,226],{"slug":6,"title":7,"subtitle":8,"opener":9,"tags":10,"date":14,"headerImage":15,"author":20,"images":30,"__typename":31},"radial-progress-css-animation","Radial progress with CSS","Implementing a CSS-only radial progress animation","Creating an animatable version of a progress bar as an overlay which can be utilized on top of any child content.",[11,12,13],"web","css","animation","2023-04-12T00:00:00Z",[16],{"fileName":17,"url":18,"__typename":19},"Radial Progress Image2.png","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002Fb7cdc0ef-364e-4444-8dd3-b85f19e87820\u002F","Asset",[21],{"id":22,"flatData":23,"__typename":29},"e417ff36-4933-45ce-96f9-5e6056ab658d",{"name":24,"image":25,"__typename":28},"Sebastian Greifeneder",[26],{"url":27,"__typename":19},"https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002F2112c3f2-541f-4cad-b072-9c0037873fcd\u002F","AuthorFlatDataDto","Author",null,"PostsFlatDataDto",{"slug":33,"title":34,"subtitle":35,"opener":36,"tags":37,"date":43,"headerImage":44,"author":48,"images":30,"__typename":31},"load-testing-put-endpoints-with-apache-jmeter","Load testing PUT endpoints","With Apache JMeter and minimal APIs","Load testing PUT endpoints with Apache JMeter using ASP.NET Core minimal APIs as an example.",[38,39,40,41,42],"Performance","Apache JMeter","C#","Minimal APIs","ASP.NET","2023-01-03T00:00:00Z",[45],{"fileName":46,"url":47,"__typename":19},"julian-hochgesang-3-y9vq8uoxk-unsplash.jpg","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002Fad44fc84-935c-4ab4-ab0e-9fbcb84fb2c1\u002F",[49],{"id":50,"flatData":51,"__typename":29},"0152e82d-a848-44f8-b0b8-fd8aec4b874a",{"name":52,"image":53,"__typename":28},"Christopher Dresel",[54],{"url":55,"__typename":19},"https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002F305bcd01-b811-4147-8947-e025b7966355\u002F",{"slug":57,"title":58,"subtitle":59,"opener":60,"tags":61,"date":69,"headerImage":70,"author":74,"images":79,"__typename":31},"iso-tc-211-plenary-vienna","54th ISO\u002FTC 211 Plenary Vienna","Standard in Action Seminar","Presenting our SDI-as-a-Service solution during the 54th ISO\u002FTC 211 Plenary.",[62,63,64,65,66,67,68],"iso","ogc","tc211","wms","wfs","standards","geo","2022-05-16T00:00:00Z",[71],{"fileName":72,"url":73,"__typename":19},"IMG_0136.JPEG","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002Fc358a9fd-3e6c-459e-8269-b9df50e96fb0\u002F",[75],{"id":22,"flatData":76,"__typename":29},{"name":24,"image":77,"__typename":28},[78],{"url":27,"__typename":19},[80,89,95],{"fileName":72,"url":73,"metadata":81,"__typename":19},{"created":82,"latitude":83,"longitude":84,"pixelWidth":85,"description":86,"pixelHeight":87,"imageQuality":88},"2022-05-11T12:55:58",48.22924166666667,16.45606111111111,2048,"JFIF File",1536,93,{"fileName":90,"url":91,"metadata":92,"__typename":19},"IMG_0143.JPEG","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002Ff32dab86-93d8-4cd9-a960-3e6a4b4e48bf\u002F",{"created":93,"latitude":83,"longitude":94,"pixelWidth":87,"description":86,"pixelHeight":85,"imageQuality":88},"2022-05-11T13:49:33",16.456105555555556,{"fileName":96,"url":97,"metadata":98,"__typename":19},"IMG_0144.JPEG","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002F305417c2-3513-4f10-bcf3-f59719747982\u002F",{"created":99,"latitude":83,"longitude":100,"pixelWidth":85,"description":86,"pixelHeight":87,"imageQuality":88},"2022-05-11T13:52:44",16.45608611111111,{"slug":102,"title":103,"subtitle":104,"opener":105,"tags":106,"date":110,"headerImage":111,"author":115,"images":30,"__typename":31},"removing-infrastructure-information-from-domain-code-5","Removing infrastructure information from domain code - Part 5","Dealing with readonly collections","Keep navigation properties of type IReadOnlyCollection\u003CT> small and simple with SpatialFocus.EFLazyLoading.Fody.",[107,40,108,109],"DDD","EF","Clean code","2021-07-30T00:00:00Z",[112],{"fileName":113,"url":114,"__typename":19},"DDD.png","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002Fe23416f4-3d80-404b-bf82-b5c79d9dee2e\u002F",[116],{"id":50,"flatData":117,"__typename":29},{"name":52,"image":118,"__typename":28},[119],{"url":55,"__typename":19},{"slug":121,"title":122,"subtitle":123,"opener":124,"tags":125,"date":126,"headerImage":127,"author":129,"images":30,"__typename":31},"removing-infrastructure-information-from-domain-code-4","Removing infrastructure information from domain code - Part 4","Always ensure tracked entities for navigation properties operations","Ensure entities are always tracked for navigation properties operations by implementing a custom LazyLoadingIntercepter.",[107,40,108,109],"2021-04-14T00:00:00Z",[128],{"fileName":113,"url":114,"__typename":19},[130],{"id":131,"flatData":132,"__typename":29},"247edfce-2ecf-40b8-87e1-58e549d0c243",{"name":133,"image":134,"__typename":28},"Christoph Perger",[135],{"url":136,"__typename":19},"https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002F967c15d7-bd4a-4d6e-9e34-b891dccb9906\u002F",{"slug":138,"title":139,"subtitle":140,"opener":141,"tags":142,"date":143,"headerImage":144,"author":146,"images":30,"__typename":31},"removing-infrastructure-information-from-domain-code-3","Removing infrastructure information from domain code - Part 3","Getting rid of the private setters","Eliminating the need of adding private setters to bind read-only properties by using IL weaving and the Fody plugin SpatialFocus.AddSetter.Fody.",[107,40,108,109],"2021-04-09T00:00:00Z",[145],{"fileName":113,"url":114,"__typename":19},[147],{"id":131,"flatData":148,"__typename":29},{"name":133,"image":149,"__typename":28},[150],{"url":136,"__typename":19},{"slug":152,"title":153,"subtitle":154,"opener":155,"tags":156,"date":157,"headerImage":158,"author":160,"images":30,"__typename":31},"removing-infrastructure-information-from-domain-code-2","Removing infrastructure information from domain code - Part 2","Getting rid of the empty constructor","Eliminating the need of adding an empty constructor to bind navigation properties by using IL weaving and the Fody plugin EmptyConstructor.Fody.",[107,40,108,109],"2021-04-03T00:00:00Z",[159],{"fileName":113,"url":114,"__typename":19},[161],{"id":131,"flatData":162,"__typename":29},{"name":133,"image":163,"__typename":28},[164],{"url":136,"__typename":19},{"slug":166,"title":167,"subtitle":168,"opener":169,"tags":170,"date":171,"headerImage":172,"author":174,"images":30,"__typename":31},"removing-infrastructure-information-from-domain-code-1","Removing infrastructure information from domain code - Part 1","Getting rid of the virtual keyword","Eliminating the need of using the virtual keyword in lazy loaded navigation properties by using IL weaving and the Fody plugin Virtuosity.",[107,40,108,109],"2021-03-11T00:00:00Z",[173],{"fileName":113,"url":114,"__typename":19},[175],{"id":131,"flatData":176,"__typename":29},{"name":133,"image":177,"__typename":28},[178],{"url":136,"__typename":19},{"slug":180,"title":181,"subtitle":30,"opener":182,"tags":183,"date":185,"headerImage":186,"author":190,"images":30,"__typename":31},"working-with-file-geodatabase-in-csharp-3","Working with File Geodatabase using GDAL\u002FOGR in C# - Part 3","The third part of this blog series is going into more detail and will show a couple of real life examples how to extract data from a File Geodatabase using data sampling strategies of different complexities.",[184,40],"Geo","2020-10-19T00:00:00Z",[187],{"fileName":188,"url":189,"__typename":19},"gdb-ua2012.png","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002Fd99f43f5-59a9-42e3-bafa-20901048c80c\u002F",[191],{"id":131,"flatData":192,"__typename":29},{"name":133,"image":193,"__typename":28},[194],{"url":136,"__typename":19},{"slug":196,"title":197,"subtitle":30,"opener":198,"tags":199,"date":202,"headerImage":203,"author":207,"images":30,"__typename":31},"bringing-net-extensions-to-xamarin-forms","Bringing .NET extensions to Xamarin.Forms","This blog post will show you a way of integrating configuration, dependency injection, logging and localization of the .NET extensions stack into your Xamarin.Forms application.",[200,201,40],"Mobile","Xamarin.Forms","2020-09-28T00:00:00Z",[204],{"fileName":205,"url":206,"__typename":19},"background.png","https:\u002F\u002Fcms.spatial-focus.net\u002Fapi\u002Fassets\u002Fspatialfocus\u002F9711d050-3ff9-4abe-8822-47d04dfe4d47\u002F",[208],{"id":50,"flatData":209,"__typename":29},{"name":52,"image":210,"__typename":28},[211],{"url":55,"__typename":19},{"slug":213,"title":214,"subtitle":215,"opener":216,"tags":217,"date":218,"headerImage":219,"author":221,"images":30,"__typename":31},"working-with-file-geodatabase-in-csharp-2","Working with File Geodatabase using GDAL\u002FOGR in C# - Part 2","","The second part of this blog series is looking into reading the actual data within a File Geodatabase. We will explore how to access both the attribute as well as the spatial data of a vector layer and build some indexes, that will be used later.",[184,40],"2020-08-28T00:00:00Z",[220],{"fileName":188,"url":189,"__typename":19},[222],{"id":131,"flatData":223,"__typename":29},{"name":133,"image":224,"__typename":28},[225],{"url":136,"__typename":19},{"slug":227,"title":228,"subtitle":30,"opener":229,"tags":230,"date":231,"headerImage":232,"author":234,"images":30,"__typename":31},"working-with-file-geodatabase-in-csharp-1","Working with File Geodatabase using GDAL\u002FOGR in C# - Part 1","The first part of this blog series is providing some background information and lays the basis for working with the ESRI File Geodatabase data format for geospatial data.",[184,40],"2020-08-05T00:00:00Z",[233],{"fileName":188,"url":189,"__typename":19},[235],{"id":131,"flatData":236,"__typename":29},{"name":133,"image":237,"__typename":28},[238],{"url":136,"__typename":19},12,[40,107,108,109,184,11],[242,245],{"slug":6,"title":7,"headerImage":243,"__typename":31},[244],{"url":18,"__typename":19},{"slug":33,"title":34,"headerImage":246,"__typename":31},[247],{"url":47,"__typename":19},1783525730556]