Announcement

Collapse
No announcement yet.

Introducing TGC Designer Tools and Real Course Recreation Lidar Import

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Introducing TGC Designer Tools and Real Course Recreation Lidar Import

    Hi everyone!

    I've been hard at work for the last month developing tools that primarily will import Lidar data into TGC 2019 Courses.

    There have been a lot of ups and downs, but I'm at the point where I'm ready to accept feedback from the community.

    A completed course file is available here:
    https://drive.google.com/file/d/1RYW...ew?usp=sharing

    Please don't publish this course in game, it's not completed and I call 'dibs' on publishing this course after I finish decorating it.


    I've completed the proof-of-concept phases and have created playable, realistic courses. I'm still working on the User Interface and instructions to make this the easiest that it can be, but I wanted to open the tools up for developers to contribute fixes.

    The source code is available free on Github and releases will be available there under the "Releases" link. I'm targeting the initial release in a week or two as a Windows download:




    Click image for larger version  Name:	 Views:	1 Size:	37.9 KB ID:	184974

    I also am supporting import from OpenStreetMap golf courses ( https://www.openstreetmap.org/#map=1...576/-115.28536 ) into TGC as splines if you don't want the lidar elevation or can't get lidar for your course.





    Quick tips if you want to get started on your OpenStreetMap course: use the highest quality sat image available, map greens along the inside of THE FRINGE, map bunkers on the outside lip, map water on the outside lip.

    For more information on the process or if you want to support future features of this tool, please read here: https://www.patreon.com/chadgolf

    I hope this brings enjoyment to everyone. We all have courses that are personally meaningful to us, and I hope this software inspires you to create something for the community.
    - Chad

    Special thanks to MTHunt, crazycanuck1985, friendBOMBER, and HTdumps for initial feedback and guidance.

    Instructions and a tutorial linked from this page: https://chadrockey.github.io/TGC-Designer-Tools/
    Attached Files
    Last edited by ChadGolf; 02-07-2019, 07:06 PM.

  • You mentioned in the video not to overlap features. For fairways that wrap around greens, do you just draw multiple fairways around and behind the green?

    Comment


    • ChadGolf
      ChadGolf commented
      Editing a comment
      That’s perfectly fine. You can place a green on a fairway or even a bunker in a green. The warning is that OSM likes to smoosh features together and combine the points. So be careful to not click too close to another feature.

  • Originally posted by rdh View Post
    I just saw this...holy cow! Who is the genius ChadGolf ? Wow...what a tool! ChadGolf can I contract you to import data for my local course using your tool if it's available???
    rdh I can set you up if there is data for your course. If it's in the US, have not dwelled outside the US yet.
    Last edited by Craig118; 02-26-2019, 01:05 PM.

    Comment


    • rdh
      rdh commented
      Editing a comment
      Sorry Craig - just saw your response now. I'm actually in Canada so not sure whether the data is readily available here. The course I'd love to get done is Rebel Creek in Petersburg, ON.

  • ChadGolf Hey - you seem like a truly smart person so asking you a quick question. A lot of this stuff is over my head... I have a course I want to create but hear it takes 100's of hours to build (when using TGC builder) and I don't want to waste time with a course that doesn't resemble or do absolute justice to the beautiful Harbor Shores course in Michigan.

    Is this easier to understand than it seems? Or should something like this be left to the pros?
    Last edited by calebm1001; 02-26-2019, 08:47 PM.
    -KillaCale8

    Comment


    • RaceTo100
      RaceTo100 commented
      Editing a comment
      My dad lives in St. Joe. I was going to recreate Harbor Shores, after some courses in my area, and crazily enough Berrien Hills. If you have links to data and were to start the Open Street Map digitizing, I could help with LiDAR/LiDAR Processing. Feel free to send me a message. I have some GIS tools available to me that many do not. If you have a link to unclassified LiDAR or classified LiDAR, let me know. I can make sure the LiDAR imports directly and send you a zipped course file.

    • calebm1001
      calebm1001 commented
      Editing a comment
      Hey RaceTo100 -- In a few comments below, Chad got me hooked up. I just finshed hole one at Harbor Shores. About to get it into the building and see how it goes. I'll follow up tomorrow. Would love to get Pointe O' Woods before Berrien

    • RaceTo100
      RaceTo100 commented
      Editing a comment
      Blocked and reported your Pointe O' Woods over Berrien. I'm kidding of course. I'll be keeping an eye out.

  • ChadGolf
    What are the data formats supported by your app?
    I'm looking for LIDAR data in France and I found something like that:
    • Lots of .txt files (250m x 250m squares)
    • Samples of datapoints :
    1316146011,699506.23,6521500.35,930.07,5,U
    1316146012,699505.76,6521500.19,928.50,135,U
    1316146013,699505.07,6521500.08,929.64,33,U
    1316146014,699507.41,6521500.01,930.40,47,U
    1316146015,699508.02,6521500.14,930.31,46,U
    1316146016,699508.60,6521500.28,930.43,16,U
    1316146017,699510.92,6521500.39,928.44,109,U
    1316146018,699510.32,6521500.26,928.45,117,U
    1316146019,699509.73,6521500.13,928.44,110,U
    1316146020,699509.01,6521500.02,929.94,54,U
    1316146021,699512.00,6521500.06,928.49,148,U
    (...)

    Is that OK?

    Thanks for the fantastic job you've done there!

    Comment


    • NetcheK
      NetcheK commented
      Editing a comment
      Thanks!
      I'll keep digging :-)

    • Sascha1818
      Sascha1818 commented
      Editing a comment
      I'm in the same boat here in Germany. They should start something to get European LIDAR in Las or laz. I called the government responsible for my state and they told me I can get it in the text format you posted for 800 per square kilometer. Trying to go through the golf club now and see if they got anything.

    • ChadGolf
      ChadGolf commented
      Editing a comment
      If you guys are desperate, you could try this:


      BUT if your .txt data does not contain ground classification, it won't be usable for courses. And you'll still need an EPSG code for what the numbers in the txt file even mean.

      I can't offer support right now for this, but that data look to be quite pricey.

      You can see why the txt files are all confusing and have almost no meaning without a lot of work put into them. Hopefully they will turn them into las/laz for everyone's sanity soon.

  • ChadGolf Watching and getting started with your tutorial. I have TGC downloaded and setup via steam. I have your newest release and the master files. the tgc_gui.exe opened perfectly. Everything is going good in that regard.

    I am trying to "pin" the 2K folder from minute mark 43 on Twitch (This PC>(CUsers>Caleb) and I don't see anything for App Data. Pic Below.

    Forgive my ignorance as I am Mac user so not 100% familiar with PC workings and where I could find this folder. I have searched through my Steam folder for 2K, searched for Appdata. I am not getting anything and am afraid to even go further than this step.

    Am I missing a major folder of TGC?
    Attached Files
    -KillaCale8

    Comment


    • calebm1001
      calebm1001 commented
      Editing a comment
      ChadGolf -- I'm glad I stayed up past my bedtime for this!!

    • calebm1001
      calebm1001 commented
      Editing a comment
      For some reason, my mask isn't showing up at all. The file is saved, and I used the red marker. I tested it a few times with only one hole being shown and for some reason, after Importing the Heightmap and OSM to course, the mask doesn't active in the "course Tools" tab.
      Last edited by calebm1001; 02-27-2019, 08:56 AM.

    • ChadGolf
      ChadGolf commented
      Editing a comment
      calebm1001 you likely had the "Add Background Terrain" left checked on Course Options. See if it causes you to have too much resource usage. Or if you don't want the background, uncheck it. I think it's easier than trying to fill in background by hand, so I left it on by default.

      Now that you've done the lidar and masked off, you can just return the "Import Terrain and Features" tab. You don't need to do lidar unless you want to change the mask or lidar data for this course.

  • Originally posted by Craig118 View Post
    I am having trouble getting islands of rough to appear in the sand. I am mapping out the bunkers and putting "islands" as rough inside , but all I get is sand when I test in TGC. Anyone know what I'm doing wrong?
    I have attached a pic to show. What my comment says.

    Click image for larger version

Name:	Island Polygons.PNG
Views:	1324
Size:	309.9 KB
ID:	189867

    Comment


    • mp1972
      mp1972 commented
      Editing a comment
      disregard...misunderstood.
      Last edited by mp1972; 02-27-2019, 04:27 AM.

  • Did your tree detection logic make it into the release? I couldn't find that option in the version I am running.

    Comment


    • ChadGolf
      ChadGolf commented
      Editing a comment
      Still working on it. OSM Trees and Lidar Trees haven't been released yet. Edit: they are out!
      Last edited by ChadGolf; 02-27-2019, 11:26 AM.

  • In regards to the island issue, I also noticed that an island of water fully surrounded by a fairway did not show up. It is a very rare thing to have a fairway all the way around a pond, but I happened to be working on a course where that was the case. It didn't matter a ton because the lidar made the location very clear.

    Comment


    • ChadGolf
      ChadGolf commented
      Editing a comment
      Yeah, you'd have to have mapped that like RaceTo100 's example. The spline should be there, but fairway surface covers up mulch surfaces. You could select the water spline and switch the surface to something that shows up over fairway, so green, bunker, or cartpath.

  • OK, I couldn't resist and I'm releasing the first tree tests (release version 0.2.0) to everyone NOW! As usual at the project homepage: https://chadrockey.github.io/TGC-Designer-Tools/

    Supports OSM Trees, OSM Building Outlines, OSM Wood Outlines, and OSM waterways. AND LIDAR TREES.

    The lidar trees are SUPER experimental but also jaw dropping. I'm not even posting screenshots because it's very late for me and the suspense when you see these trees will amaze you.

    ------------------

    A few thing to note: Very small trees won't get picked up, Buildings, Power Lines, Driving Range Nets may all get turned into trees

    If the trees eat up too much of your resource bar or if you're doing a very large course, you might want to get familiar with multi select:

    Edit Menu -> (Hover Over Tree) -> (Select Tree) ->MultiSelect.

    Many good tools here: Select, Area Select, Move, Delete, Area Delete.

    For mass removal, I recommend Area Selecting all the trees you want gone, then pressing Delete once. Much faster!

    -----------------

    Things to let me know: are the trees at least 70% accurate? Do they feel real?

    Would you want your mask to work on trees as well? So where you paint red, no trees would appear.

    I know all the trees are the same right now, but are they at least trees in every theme? I'll work on tree variety in the future, but it may not happen due to theme changes.

    Enjoy
    - Chad

    Comment


    • vrpunk
      vrpunk commented
      Editing a comment
      Excellent work, as usual, the more good automation, the better end user experience in the designer.

    • mpendle
      mpendle commented
      Editing a comment
      @ChadGolf
      In 0.2.0, I'm getting a lot of these errors when loading UK Lidar to existing courses I'm working on.
      Proj4 : pyproj.Proj('+units=m +init=epsg:27700 ', preserve_units=True)
      Processing: TQ4260_P_9893_20150303_20150305.laz
      Using PRJ file: LIDAR_point_cloud_tile_catalogue.prj
      Could not load TQ4260_P_9893_20150303_20150305.laz Please report this issue.
      Processing: TQ4262_P_9893_20150303_20150305.laz
      Using PRJ file: LIDAR_point_cloud_tile_catalogue.prj
      Could not load TQ4262_P_9893_20150303_20150305.laz Please report this issue.
      Processing: TQ4264_P_9893_20150303_20150305.laz
      Using PRJ file: LIDAR_point_cloud_tile_catalogue.prj
      Could not load TQ4264_P_9893_20150303_20150305.laz Please report this issue.
      Processing: TQ4266_P_9893_20150303_20150305.laz
      Using PRJ file: LIDAR_point_cloud_tile_catalogue.prj
      Could not load TQ4266_P_9893_20150303_20150305.laz Please report this issue.
      Processing: TQ4268_P_9893_20150303_20150305.laz


      Any idea what I should do?

  • Originally posted by NetcheK View Post
    ChadGolf
    What are the data formats supported by your app?
    I'm looking for LIDAR data in France and I found something like that:
    • Lots of .txt files (250m x 250m squares)
    • Samples of datapoints :
    1316146011,699506.23,6521500.35,930.07,5,U
    1316146012,699505.76,6521500.19,928.50,135,U
    1316146013,699505.07,6521500.08,929.64,33,U
    1316146014,699507.41,6521500.01,930.40,47,U
    1316146015,699508.02,6521500.14,930.31,46,U
    1316146016,699508.60,6521500.28,930.43,16,U
    1316146017,699510.92,6521500.39,928.44,109,U
    1316146018,699510.32,6521500.26,928.45,117,U
    1316146019,699509.73,6521500.13,928.44,110,U
    1316146020,699509.01,6521500.02,929.94,54,U
    1316146021,699512.00,6521500.06,928.49,148,U
    (...)

    Is that OK?

    Thanks for the fantastic job you've done there!
    Thanks Chad!
    I tried an app named txt2las.
    Here's an output: seems to be quite accurate for a 250x250m square.
    The point is I only used the 3 first data of each line (obviously XYZ coordinates) but I don't know what the 2 last data mean (1 number and 1 letter).
    What do ground classification usually look like? (letters, numbers, code)

    Comment


    • Don't know if the picture is readable in the post so I uploaded it there:

      Comment


      • ChadGolf
        ChadGolf commented
        Editing a comment
        The unknown number is probably laser brightness. The letter might be classification. The screenshot you posted looks awfully like it’s classified: orange ground, black everything else.

        Normally the are integers: 0, 1 unclassified. 2 ground. 3,4,5 plants

        I hope that tool works out for you! Please share with everyone what your process is if it does work.

    • txt2las translates a .txt file with raw data into a .las file (or other format)
      Of course, you have to know what each data means and you can assign each data to a standard type.

      In my case: 1316146012,699505.76,6521500.19,928.50,135,U means
      Point reference 1316146012
      X coordinate 699505.76
      Y 6521500.19
      Z (altitude) 928.50
      Laser intensity 135
      Classification U

      As I didn't know what letter meant what in classification, I made try after try to recover what ChadGolf said (1 unclassified. 2 ground. 3,4,5 plants)

      I'll try to continue in the process

      Thanks for your help ChadGolf

      Comment


      • Had a little test play with the trees, all the OSM tags work well (trees as trees and the rest as floor plan mulch)
        The Add Trees from Lidar failed, with:

        Exception in Tkinter callback
        Traceback (most recent call last):
        File "tkinter\__init__.py", line 1705, in __call__
        File "tgc_gui.py", line 376, in generateCourseFromLidar
        File "tgc_image_terrain.py", line 171, in generate_course
        KeyError: 'trees'

        Hope that helps for debugging.

        Comment


        • ChadGolf
          ChadGolf commented
          Editing a comment
          You’ll have to rerun your lidar import, sorry.

      • Trees too? Now this is cheating. The only downfall is only one tree type but all you have to do is click on each tree...... swap object...........to change tree type in the designer! And they are all in the correct positions! For some reason the original tree you replace is still there and you have to delete or move it? Resource meter seems much lower than what it would have been if I manually planted this many trees, as odd as that sounds.The only negative is this will save me so much time (and accuracy) with planting that I may go back and wipe out some of the Lidar courses I have already partially completed. C'mon Chad ...... leave us a little work to do on these courses.!! Awesome feature...
        Last edited by Craig118; 02-27-2019, 01:59 PM.

        Comment


        • ChadGolf
          ChadGolf commented
          Editing a comment
          Yeah I'm not sure why I can add tens of thousands of trees this way, but that's what it seems to take to fill up the usage meter.

          I also noticed that issue with swapping the trees, I couldn't find a work around to prevent the old tree from being there.

        • vrpunk
          vrpunk commented
          Editing a comment
          (New to TGC Designer)
          Hehe just came across the same issue, surely this is a bug in the TGC designer, even if you place a new tree (nothing to do with LIDAR or OSM tags) then try SWAP it to a bush the tree stays there with the bush at the bottom, even Swapping an ELM to a Large Oak, the elm still stays there and requires the extra process of deleting.
          Surely this is not what they intended for the SWAP OBJECT "TYPE" function

      • ChadGolf I pulled down the source again and ran another test on your latest tree code.

        Here are my thoughts from comparing against SRCC.

        - some sections it did very well (hole 9 between edge and stone mtn freeway)
        - some sections it did not so well (between hole 1 and 9)
        - for wooded courses you are likely going to have to mask out trees otherwise the resource bar is nearly full. The tool found 6500+ trees that it created and most were outside of the course itself.

        My lidar data is from 2010 but these trees were there if not just a little shorter than today

        Comment


        • frodaddy00
          frodaddy00 commented
          Editing a comment
          I will say it did a good job of placement regarding the trees. It kept them all within the expected locations..fairways looked clean etc. It just seems like a lot of sections had trees missing.

        • ChadGolf
          ChadGolf commented
          Editing a comment
          Looks like the trees need to be roughly the same size for it to work. If you look closely, it picks out trees that are the same height OR those tall "stick" looking trees. Not sure if I can resolve that. I can try to look into the auto threshold Otsu's method. It looks for bimodal distributions (noise and tree level), but your trees have their own bimodal distribution (noise + short trees + tall trees). When I have time to get my PhD I'll look into this.
      Working...
      X