The Art of Programming

Give It To the Lazy Person

9. May 2012 20:04 by Scott in   //  Tags:   //   Comments (0)

If you have a difficult task to do, give it to a lazy man, he will find an easier way to do it.


A toothpaste factory had a problem: they sometimes shipped empty boxes, without the tube inside. This was due to the way the production line was set up, and people with experience in designing production lines will tell you how difficult it is to have everything happen with timings so precise that every single unit coming out of it is perfect 100% of the time. Small variations in the environment (which can’t be controlled in a cost-effective fashion) mean you must have quality assurance checks smartly distributed across the line so that customers all the way down the supermarket don’t get pissed off and buy someone else’s product instead.

Understanding how important that was, the CEO of the toothpaste factory got the top people in the company together and they decided to start a new project, in which they would hire an external engineering company to solve their empty boxes problem, as their engineering department was already too stretched to take on any extra effort. The project followed the usual process: budget and project sponsor allocated, RFP, third-parties selected, and six months (and $8 million) later they had a fantastic solution — on time, on budget, high quality and everyone in the project had a great time. They solved the problem by using some high-tech precision scales that would sound a bell and flash lights whenever a toothpaste box weighing less than it should. The line would stop, and someone had to walk over and yank the defective box out of it, pressing another button when done.

A while later, the CEO decides to have a look at the ROI of the project: amazing results! No empty boxes ever shipped out of the factory after the scales were put in place. Very few customer complaints, and they were gaining market share. “That’s some money well spent!” – he says, before looking closely at the other statistics in the report.

It turns out, the number of defects picked up by the scales was 0 after three weeks of production use. It should’ve been picking up at least a dozen a day, so maybe there was something wrong with the report. He filed a bug against it, and after some investigation, the engineers come back saying the report was actually correct. The scales really weren'’t picking up any defects, because all boxes that got to that point in the conveyor belt were good.

Puzzled, the CEO travels down to the factory, and walks up to the part of the line where the precision scales were installed. A few feet before it, there was a $20 desk fan, blowing the empty boxes out of the belt and into a bin. “Oh, that — one of the guys put it there ’cause he was tired of walking over every time the bell rang”, says one of the workers.

A quote from taf2 on Hacker News.

16. April 2012 14:38 by cheetahtech in   //  Tags:   //   Comments (1)

This quote hit home for me.  Just thought I would repost it. 

I used to be the one who would ask, "where is everyone we're a startup and it's only 7:30pm?" I used to freak out if I saw a line of code that was stupidly duplicated or just plain wrong.

It's been 3 startups, and 2 kids later that I realize just how wrong I was... so far no great success - but moderate success, many lessons learned and certainly people i've pushed away for truly silly reasons like perceived hours spent behind the desk or strange lines of code written... reality is I now spend fewer hours behind the desk although admittedly probably still far too many to be sane... and definitely used to (and still do) write crazy lines of code... I think it's a matter of perspective, age, prospects and who knows probably other factors that'll influence our feelings about how many hours we need to put in... after all, is it one critical bug fixed or 100s of lines of new code written which matters more - is a mater of perspective, that one bug fixed could make the difference between winning the big client or losing'em... I think "hours spent behind the desk" is a silly measure of ones productivity... a well rested mind after all makes far better decisions - that's not to say we should be lazy, but that we need balance - plain and simple. – Your Doing It Wrong

30. March 2012 02:20 by Scott in Opinion, Rant  //  Tags:   //   Comments (0)

I am a firm advocate of the StackExchange network.  It does good work and it allows us all to take less time to do something it took a bit longer several years ago.  I have been following for a while now and its one of my favorite StackExchange sites.  I love startups and I am also attempting one right now for my self.

The problem I have with this site though is not the answers it gives, but with the answers it doesn’t give.  I personally think the FAQ of the site needs to be updated and changed.  They are closing too many questions that have to do with startups in one way or another.

Lets take for example, this question on pricing for a startup.  Lets look at the FAQ to see where this falls under. The FAQ specifically states:

Topics include financing, hiring employees, renting an office, legal, marketing, sales, compensation plans, banking, payroll, benefits, and more. This is the place to come with specific questions or to seek specific advice from your peers.

The question here, is about pricing and sales of their particular startup.  How am I going to sell this product better than what I currently sell it at?  Yet, it was closed and proceeded to be voted on by three people who think they have read the FAQ thoroughly.

Lets take a look at another one.  This one asking for tips on marketing.  While a pretty general question, but if we look at the FAQ again.  It falls under marketing.  Again, it was closed by four people who think they have read the FAQ.  The problem here is they haven’t.  Things like marketing an application or startup is a pretty good question.  I would personally love to market my start up differently if I only knew how.

One more, just to prove a point.  This one asking what type of offer to provide new members of a company.  This has to do with hiring an employee, but they say it is too localized.  I ask them, when has a start up ever been started by just two people and adding the third on some time later?  Have you ever heard of a start up that doesn’t do that?  Definitely not me. (sarcastic) This person wanted to know if the offer they provided was sufficient enough.  I would look at this question if I brought in a third person for my startup.  I can then get a much better gauge at what to offer them.  Therefore, I have used this question to help answer my question of hiring someone else.  Not localized at all.

Now, lets look somewhere else.  Everyone knows about YCombinator.  At least everyone I talk to in the startup world.  One of my friends actually got accepted to this latest group and just had his demo day.  I personally asked him, what he thought the best part of YC was.  He said it was the people.  To know, he can post a question to any one of them about any part of his startup and get the advice needed.  It didn’t matter what topic the question was on, he would get some honest and good feedback and even some help if he needed it. Sadly, that's not relevant here at, even though they clearly state “seek specific advice from our peers” in their FAQ.

On the front page it self, I count 5 closed questions alone.  That means, that this answer forum is throwing away 1/4th to 1/3rd of their user community.  What person wants to see this site for the very first time, asks a question and then gets told its not on topic.  I would be pushed away never to return.

I ask you, what are you actually trying to accomplish?  Are you trying to accomplish me coming to your site, because I don’t know anyone else to ask, and ask a question that I can get real answers to?  Or are you trying to just have the business end of the startups answered? 

I personally don’t think this site has a specific goal in mind and needs to reign in their moderators.  They are pushing too many people away when they can’t even be that exclusive.  One day, this site could be the Forrst for startups, but not today.  Not while they have problems without specific goals in mind.

There is a problem with some of these Q&A sites. Its that there is no correct answer.  Its not a programming site, where I can show you solid logic to back up my claims.  Its advice.  Advice on what we have done and what worked and what didn’t.  I think that's the real problem with  It expects logic, and not actual advice to be the correct answer.

Obtaining Line Numbers When Viewing a StackTrace With ClickOnce Deployment

19. March 2012 16:49 by Scott in WPF  //  Tags:   //   Comments (0)

When publishing a WPF application.  I used the Click Once method as it seems to be the best and quickest way to auto update desktop applications.

Its like auto updating apps these days on phones and tablets, but this time its on a windows desktop.

So, I had implemented it and we have had users download our beta piece of software for it.  The first problem I saw when errors started arriving was the line numbers weren’t being taken.  So I knew it first, we weren’t publishing the .PDB files when we published via ClickOnce.

So we went searching and its sort of hidden away.  But Right click on the Project –> Properties –> Publish Tab –> Application Files Button then Click Show All Files.  You can then require that the PDBs get published with the app.  It will show line numbers now in Errors and it will be much easier to see problems.

Java JPA Just Sucks

6. March 2012 14:22 by Scott in Java, ESRI  //  Tags: ,   //   Comments (0)

Now hear me out, before you go commenting like crazy or I stir a hornets nest saying something bad about Java.

We have this project at work that has consumed a year and a half of development time.  Some developer in the very beginning decided to use Java JPA and Java webservices as the server side environment.  So we went with it.  After a while, we ran into Java JPA.  For those .Net folks out there, its Java’s attempt at LINQ or the Entity framework.  While its not bad, I seem to run across countless more problems with it than I ever would have with LINQ or Entity.

It generates tables poorly, it has problems with foreign keys and it doesn’t error out properly with good error codes or problems.  Overall, it is just a poor attempt.  Sort of reminds me when I started developing in highschool.  Tons of concepts, bad design and crappy documentation.

I attempted to convince my colleagues to move over to .Net before it was too late, but sadly they thought we were already too far in. 

If you would like some proof, well let me just show you.  I received this error just now.

JPA table “sequence” does not exist.

What sort of error is that?  Where does that come from and how would that even help me towards a solid solution?  So I google it and find one thing on stackoverflow.

Sadly, the link doesn’t help much either.

At least in .Net they will both tell you the problem and suggest a fix in the comments of the error.  Yes, thats right, they will suggest a fix.  You should all write your frameworks that way.  If you think an error is possible, help that poor coder along and give them solutions.  JPA reminds me a lot of ESRI code.

Thats my Rant.

[class E] uses a non-entity [class E] as target entity in the relationship attribute [field

6. March 2012 07:52 by Scott in Java  //  Tags: ,   //   Comments (0)

[class E] uses a non-entity [class E] as target entity in the relationship attribute [field

Busted in upon this error and didn’t find much for it online.

Its mainly caused because the Entity is not found in the persistance.xml document.  You have to make sure its added.

Quote of the Month

6. March 2012 07:13 by Scott in Quote  //  Tags:   //   Comments (6)

When people you disagree with speak, listen to their ideas and try to ignore their words.

Developer Income Report - February

1. March 2012 22:19 by Scott in Developer Income Report  //  Tags:   //   Comments (0)

The Intro:

This month, I made made more bug fixes on UtopiaPimp.  While the site is huge and collects a lot of data, the data is becoming much more manageable.   Other than that, I have been working hard on my new idea sort of discussed in the last paragraph from the last income report.  Its coming along nicely. The project it self will be ongoing for a while, but this part of it looks great and actually fully functional.  I probably will be able to finish it up for version 1.0 by the end of this coming month.

Show Me The Money:

This month was still great in advertising and actually still getting better.  To tell you the truth, this month was probably one of the best in the year.

  1. - $5.35 – Ive never calculated the amount made per website so this is a small number to me.  I hope to make more over time.
  2. - $0.94 – With only 1k people visiting the site, I guess its not bad to make a buck from it.
  3. - $82.54 – With over 1k clicks on these ads, I don’t know why im not making more money.  I should be making much more and must look into it.  Have my clicks are from a button ad just center perfectly right on the screen.  I wish Google Adsense had button ads, I think I would be making a lot more than I do at Project Wonderful.
  4. Project Wonderful - $88.84 – It was a large decrease from months before, and I definitely need to take a month and switch over to adsense and see what more I can make from there.
  5. AdSense - $129.00 – It was another jump up from months in the passed, but user stats are up on all the sites it is used on.
  6. MobFox - $13.00 – This is all thanks to my Roller Derby Penalty Timer.  Its well over 1,200 downloads now and thats all thanks to it being pushed little by little in the Roller Derby Community. 
  7. PostSecretCollection - $25.00 – Again surprised this month.  The numbers just keep going up for selling PostSecret post cards.  This site I made a while back allows people to print the postcards and have them mailed to them.  I sell each card for $1.97. I made the price as cheap as possible.  Paypal eats .40 cents and Postal Methods eats $1.46.  That leaves just .11 cents per postcard I can donate towards Suicide Prevention.
  8.$105.00 – With money made, comes expenditures.  Here is the hosting company one.  We sit on a 2 Core VM with 4 GBs of Ram.  Most times the ram is also inching in at 3.7GBs used.  So we need more Ram, but at this moment, all of my sites are running in good order.

Subtracting the costs to print, buy, mail, and host these projects, I made a profit of $150.29 this month!  While it doesn’t pay my rent, it does pay for an extra few days of day care for my little baby girl!

Whats Next?

I hope to fix just a few bugs that pop up with UtopiaPimp this month and maybe even get some time to update its User Interface.  This will most definitely make my users extremely happy along with allowing me to grow UtopiaPimp even more. Ive been using the same UI since the start of Pimp in 2002.  Its about time for an update.

How To Advance In Your Job – The Dirty List

22. February 2012 10:38 by Scott in Opinion, Work  //  Tags: ,   //   Comments (0)

Like all my other posts, I think short and to the point is the best way.  We are all busy people, so no need in going into a long drawn out post.

Ive talked to several managers, CEOs and big wigs at my company about the best way to advance in a job.  I decided to compile a list of the big hitters, the things that struck the most.  This list was confirmed by many other managers and executives at a few more companies, so I figured after much research and insight, I would share it here.

Here is the Dirty List on How To Advance In Your Job.

Technical Excellence – Know your job. What is required of you.  This is the only thing that takes time to figure out.  You need to know what they want of you and do it. Plain and simple, Find out what is required of you and then master it.

Deep Understanding of Customer Domain – You need to know your customer.  Know who your selling to, know who your making your product for and understand their needs and wants.  When you know this, you can easily make their lives better.  You can easily sell them more product.

Shown Leadership – You can be inspiring, motivating, consensus forming, challenging, a team builder,  an accepter of responsibility and you can meet commitments.  Thats how you show leadership.  Thats how you succeed as a leader.

Ability to Work in a Team – You see team success as the path to individual success.  You multiply your effectiveness through a team which you should fully understand.  This reminds me of the famous quote “Don’t ask what your country can do for you, ask what you can do for your country”  You are that team builder?  Do you see the success that can be achieved if we all work together?

Ability to Translate Tech Skills into Business Skills – Can you take what you learned as a technical person and translate those into business wins?  How to solve a problem is a tech skill, but can you move it into the business world?

Are You On The List? – No, not this list, but your managers list?  Are you the go to person?  Are you taking all the tasks that nobody wants?  Do you see these tasks through as well?  Can you handle doing a variety of things in order to earn your spot on the list your manager uses when picking someone for a new job.  You need to be the person your managers and your bosses go to, to get something big done.  You need to be on their list of people they trust will succeed at the job.

Something I always say when we need to complete something big, Lets Cowboy Up!  Lets get on that list.


ESRIs Well Known IDs (WKID) for Geographic Coordinate Systems

13. February 2012 12:13 by Scott in   //  Tags:   //   Comments (0)
Well-known ID Name
4001 GCS_Airy_1830
4002 GCS_Airy_Modified
4003 GCS_Australian
4004 GCS_Bessel_1841
4005 GCS_Bessel_Modified
4006 GCS_Bessel_Namibia
4007 GCS_Clarke_1858
4008 GCS_Clarke_1866
4009 GCS_Clarke_1866_Michigan
4010 GCS_Clarke_1880_Benoit
4011 GCS_Clarke_1880_IGN
4012 GCS_Clarke_1880_RGS
4013 GCS_Clarke_1880_Arc
4014 GCS_Clarke_1880_SGA
4015 GCS_Everest_Adj_1937
4016 GCS_Everest_def_1967
4018 GCS_Everest_Modified
4019 GCS_GRS_1980
4020 GCS_Helmert_1906
4021 GCS_Indonesian
4022 GCS_International_1924
4023 GCS_International_1967
4024 GCS_Krasovsky_1940
4025 GCS_NWL_9D
4027 GCS_Plessis_1817
4028 GCS_Struve_1860
4029 GCS_War_Office
4031 GCS_GEM_10C
4032 GCS_OSU_86F
4033 GCS_OSU_91A
4034 GCS_Clarke_1880
4035 GCS_Sphere
4036 GCS_GRS_1967
4042 GCS_Everest_1830
4044 GCS_Everest_def_1962
4045 GCS_Everest_def_1975
4047 GCS_Sphere_GRS_1980_Authalic
4052 GCS_Sphere_Clarke_1866_Authalic
4053 GCS_Sphere_International_1924_Authalic
4054 GCS_Hughes_1980
4120 GCS_Greek
4121 GCS_GGRS_1987
4122 GCS_ATS_1977
4123 GCS_KKJ
4124 GCS_RT_1990
4125 GCS_Samboja
4126 GCS_LKS_1994
4127 GCS_Tete
4128 GCS_Madzansua
4129 GCS_Observatario
4130 GCS_Moznet
4131 GCS_Indian_1960
4132 GCS_FD_1958
4133 GCS_Estonia_1992
4134 GCS_PDO_1993
4135 GCS_Old_Hawaiian
4136 GCS_St_Lawrence_Island
4137 GCS_St_Paul_Island
4138 GCS_St_George_Island
4139 GCS_Puerto_Rico
4140 GCS_North_American_1983_CSRS
4141 GCS_Israel
4142 GCS_Locodjo_1965
4143 GCS_Abidjan_1987
4144 GCS_Kalianpur_1937
4145 GCS_Kalianpur_1962
4146 GCS_Kalianpur_1975
4147 GCS_Hanoi_1972
4148 GCS_Hartebeesthoek_1994
4149 GCS_CH1903
4150 GCS_CH1903+
4151 GCS_Swiss_TRF_1995
4152 GCS_North_American_1983_HARN
4153 GCS_Rassadiran
4154 GCS_European_1950_ED77
4155 GCS_Dabola_1981
4157 GCS_Mount_Dillon
4158 GCS_Naparima_1955
4159 GCS_European_Libyan_Datum_1979
4160 GCS_Chos_Malal_1914
4161 GCS_Pampa_del_Castillo
4162 GCS_Korean_Datum_1985
4163 GCS_Yemen_NGN_1996
4164 GCS_South_Yemen
4165 GCS_Bissau
4166 GCS_Korean_Datum_1995
4167 GCS_NZGD_2000
4168 GCS_Accra
4169 GCS_American_Samoa_1962
4171 GCS_RGF_1993
4174 GCS_Sierra_Leone_1924
4175 GCS_Sierra_Leone_1968
4176 GCS_Australian_Antarctic_1998
4178 GCS_Pulkovo_1942_Adj_1983
4179 GCS_Pulkovo_1942_Adj_1958
4180 GCS_Estonia_1997
4181 GCS_Luxembourg_1930
4182 GCS_Azores_Occidental_1939
4183 GCS_Azores_Central_1948
4184 GCS_Azores_Oriental_1940
4185 GCS_Madeira_1936
4188 GCS_OSNI_1952
4190 GCS_POSGAR_1998
4191 GCS_Albanian_1987
4192 GCS_Douala_1948
4193 GCS_Manoca_1962
4194 GCS_Qornoq_1927
4195 GCS_Scoresbysund_1952
4196 GCS_Ammassalik_1958
4198 GCS_Kousseri
4199 GCS_Egypt_1930
4200 GCS_Pulkovo_1995
4201 GCS_Adindan
4202 GCS_Australian_1966
4203 GCS_Australian_1984
4204 GCS_Ain_el_Abd_1970
4205 GCS_Afgooye
4206 GCS_Agadez
4207 GCS_Lisbon
4208 GCS_Aratu
4209 GCS_Arc_1950
4210 GCS_Arc_1960
4211 GCS_Batavia
4212 GCS_Barbados_1938
4213 GCS_Beduaram
4214 GCS_Beijing_1954
4215 GCS_Belge_1950
4216 GCS_Bermuda_1957
4217 GCS_Bern_1898
4218 GCS_Bogota
4219 GCS_Bukit_Rimpah
4220 GCS_Camacupa
4221 GCS_Campo_Inchauspe
4222 GCS_Cape
4223 GCS_Carthage
4224 GCS_Chua
4225 GCS_Corrego_Alegre
4226 GCS_Cote_d_Ivoire
4227 GCS_Deir_ez_Zor
4228 GCS_Douala
4229 GCS_Egypt_1907
4230 GCS_European_1950
4231 GCS_European_1987
4232 GCS_Fahud
4233 GCS_Gandajika_1970
4234 GCS_Garoua
4235 GCS_Guyane_Francaise
4236 GCS_Hu_Tzu_Shan
4237 GCS_Hungarian_1972
4238 GCS_Indonesian_1974
4239 GCS_Indian_1954
4240 GCS_Indian_1975
4241 GCS_Jamaica_1875
4242 GCS_Jamaica_1969
4243 GCS_Kalianpur_1880
4244 GCS_Kandawala
4245 GCS_Kertau
4246 GCS_Kuwait_Oil_Company
4247 GCS_La_Canoa
4248 GCS_Provisional_S_American_1956
4249 GCS_Lake
4250 GCS_Leigon
4251 GCS_Liberia_1964
4252 GCS_Lome
4253 GCS_Luzon_1911
4254 GCS_Hito_XVIII_1963
4255 GCS_Herat_North
4256 GCS_Mahe_1971
4257 GCS_Makassar
4258 GCS_ETRS_1989
4259 GCS_Malongo_1987
4260 GCS_Manoca
4261 GCS_Merchich
4262 GCS_Massawa
4263 GCS_Minna
4264 GCS_Mhast
4265 GCS_Monte_Mario
4266 GCS_Mporaloko
4267 GCS_North_American_1927
4268 GCS_North_American_Michigan
4269 GCS_North_American_1983
4270 GCS_Nahrwan_1967
4271 GCS_Naparima_1972
4272 GCS_New_Zealand_1949
4273 GCS_NGO_1948
4274 GCS_Datum_73
4275 GCS_NTF
4276 GCS_NSWC_9Z_2
4277 GCS_OSGB_1936
4278 GCS_OSGB_1970_SN
4279 GCS_OS_SN_1980
4280 GCS_Padang_1884
4281 GCS_Palestine_1923
4282 GCS_Pointe_Noire
4283 GCS_GDA_1994
4284 GCS_Pulkovo_1942
4285 GCS_Qatar_1974
4286 GCS_Qatar_1948
4287 GCS_Qornoq
4288 GCS_Loma_Quintana
4289 GCS_Amersfoort
4291 GCS_South_American_1969
4292 GCS_Sapper_Hill_1943
4293 GCS_Schwarzeck
4294 GCS_Segora
4295 GCS_Serindung
4296 GCS_Sudan
4297 GCS_Tananarive_1925
4298 GCS_Timbalai_1948
4299 GCS_TM65
4300 GCS_TM75
4301 GCS_Tokyo
4302 GCS_Trinidad_1903
4303 GCS_Trucial_Coast_1948
4304 GCS_Voirol_1875
4305 GCS_Voirol_Unifie_1960
4306 GCS_Bern_1938
4307 GCS_Nord_Sahara_1959
4308 GCS_RT38
4309 GCS_Yacare
4310 GCS_Yoff
4311 GCS_Zanderij
4312 GCS_MGI
4313 GCS_Belge_1972
4314 GCS_Deutsches_Hauptdreiecksnetz
4315 GCS_Conakry_1905
4316 GCS_Dealul_Piscului_1933
4317 GCS_Dealul_Piscului_1970
4318 GCS_NGN
4322 GCS_WGS_1972
4324 GCS_WGS_1972_BE
4326 GCS_WGS_1984
4404 GCS_Montserrat_1958
4600 GCS_Anguilla_1957
4601 GCS_Antigua_1943
4602 GCS_Dominica_1945
4603 GCS_Grenada_1953
4605 GCS_St_Kitts_1955
4606 GCS_St_Lucia_1955
4607 GCS_St_Vincent_1945
4608 GCS_NAD_1927_Definition_1976
4609 GCS_NAD_1927_CGQ77
4610 GCS_Xian_1980
4611 GCS_Hong_Kong_1980
4612 GCS_JGD_2000
4613 GCS_Gunung_Segara
4614 GCS_QND_1995
4615 GCS_Porto_Santo_1936
4616 GCS_Selvagem_Grande_1938
4617 GCS_North_American_1983_CSRS
4618 GCS_South_American_1969
4620 GCS_Point_58
4621 GCS_Fort_Marigot
4622 GCS_Sainte_Anne
4623 GCS_CSG_1967
4624 GCS_RGFG_1995
4625 GCS_Fort_Desaix
4626 GCS_Reunion_1947
4627 GCS_RGR_1992
4628 GCS_Tahiti_1952
4629 GCS_Tahaa_1954
4630 GCS_IGN72_Nuku_Hiva
4631 GCS_K0_1949
4632 GCS_Combani_1950
4633 GCS_IGN56_Lifou
4636 GCS_Petrels_1972
4637 GCS_Pointe_Geologie_Perroud_1950
4638 GCS_Saint_Pierre_et_Miquelon_1950
4639 GCS_MOP78
4640 GCS_RRAF_1991
4641 GCS_IGN53_Mare
4642 GCS_ST84_Ile_des_Pins
4643 GCS_ST71_Belep
4644 GCS_NEA74_Noumea
4645 GCS_RGNC_1991
4646 GCS_Grand_Comoros
4657 GCS_Reykjavik_1900
4658 GCS_Hjorsey_1955
4659 GCS_ISN_1993
4660 GCS_Helle_1954
4661 GCS_LKS_1992
4662 GCS_IGN72_Grande_Terre
4663 GCS_Porto_Santo_1995
4664 GCS_Azores_Oriental_1995
4665 GCS_Azores_Central_1995
4666 GCS_Lisbon_1890
4667 GCS_IKBD_1992
4668 GCS_European_1979
4669 GCS_LKS_1994
4670 GCS_IGM_1995
4671 GCS_Voirol_1879
4672 GCS_Chatham_Island_1971
4673 GCS_Chatham_Islands_1979
4674 GCS_SIRGAS_2000
4675 GCS_Guam_1963
4676 GCS_Vientiane_1982
4677 GCS_Lao_1993
4678 GCS_Lao_1997
4679 GCS_Jouik_1961
4680 GCS_Nouakchott_1965
4682 GCS_Gulshan_303
4683 GCS_PRS_1992
4684 GCS_Gan_1970
4688 GCS_Fatu_Iva_1972
4689 GCS_IGN63_Hiva_Oa
4690 GCS_Tahiti_1979
4691 GCS_Moorea_1987
4692 GCS_Maupiti_1983
4693 GCS_Nakhl-e_Ghanem
4694 GCS_POSGAR_1994
4695 GCS_Katanga_1955
4696 GCS_Kasai_1955
4697 GCS_IGC_1962_6th_Parallel_South
4698 GCS_Kerguelen_Island_1949
4699 GCS_Le_Pouce_1934
4700 GCS_IGN_Astro_1960
4701 GCS_IGCB_1955
4702 GCS_Mauritania_1999
4703 GCS_Mhast_1951
4704 GCS_Mhast_Onshore
4705 GCS_Mhast_Offshore
4706 GCS_Egypt_Gulf_of_Suez_S-650_TL
4707 GCS_Tern_Island_1961
4708 GCS_Anna_1_1965
4709 GCS_Beacon_E_1945
4710 GCS_DOS_71_4
4711 GCS_Astro_1952
4712 GCS_Ascension_Island_1958
4713 GCS_Ayabelle
4714 GCS_Bellevue_IGN
4715 GCS_Camp_Area
4716 GCS_Canton_1966
4717 GCS_Cape_Canaveral
4718 GCS_Solomon_1968
4719 GCS_Easter_Island_1967
4720 GCS_Fiji_1986
4721 GCS_Fiji_1956
4722 GCS_ISTS_061_1968
4723 GCS_Grand_Cayman_1959
4724 GCS_ISTS_073_1969
4725 GCS_Johnston_Island_1961
4726 GCS_Little_Cayman_1961
4727 GCS_Midway_1961
4728 GCS_Pico_de_Las_Nieves
4729 GCS_Pitcairn_1967
4730 GCS_Santo_DOS_1965
4731 GCS_Viti_Levu_1916
4732 GCS_Wake_Eniwetok_1960
4733 GCS_Wake_Island_1952
4734 GCS_Tristan_1968
4735 GCS_Kusaie_1951
4736 GCS_Deception_Island
4737 GCS_Korea_2000
4738 GCS_Hong_Kong_1963
4739 GCS_Hong_Kong_1963_67
4740 GCS_PZ_1990
4741 GCS_FD_1954
4742 GCS_GDM_2000
4743 GCS_Karbala_1979_Polservice
4744 GCS_Nahrwan_1934
4745 GCS_RD/83
4746 GCS_PD/83
4747 GCS_Greenland_1996
4748 GCS_Vanua_Levu_1915
4749 GCS_RGNC_1991-93
4750 GCS_ST87_Ouvea
4753 GCS_fk89
4754 GCS_LGD2006
4755 GCS_DGN_1995
4756 GCS_VN_2000
4757 GCS_SVY21
4758 GCS_JAD_2001
4759 GCS_NAD_1983_NSRS2007
4760 GCS_WGS_1966
4801 GCS_Bern_1898_Bern
4802 GCS_Bogota_Bogota
4803 GCS_Lisbon_Lisbon
4804 GCS_Makassar_Jakarta
4805 GCS_MGI_Ferro
4806 GCS_Monte_Mario_Rome
4807 GCS_NTF_Paris
4808 GCS_Padang_1884_Jakarta
4809 GCS_Belge_1950_Brussels
4810 GCS_Tananarive_1925_Paris
4811 GCS_Voirol_1875_Paris
4812 GCS_Voirol_Unifie_1960_Paris
4813 GCS_Batavia_Jakarta
4814 GCS_RT38_Stockholm
4815 GCS_Greek_Athens
4816 GCS_Carthage_Paris
4817 GCS_NGO_1948_Oslo
4818 GCS_S_JTSK_Ferro
4819 GCS_Nord_Sahara_1959_Paris
4820 GCS_Gunung_Segara_Jakarta
4821 GCS_Voirol_1879_Paris
4896 GCS_ITRF_2005
4901 GCS_ATF_Paris
4902 GCS_Nord_de_Guerre_Paris
4903 GCS_Madrid_1870_Madrid
4904 GCS_Lisbon_1890_Lisbon
37001 GCS_WGS_1966
37002 GCS_Fischer_1960
37003 GCS_Fischer_1968
37004 GCS_Fischer_Modified
37005 GCS_Hough_1960
37006 GCS_Everest_Modified_1969
37007 GCS_Walbeck
37008 GCS_Sphere_ARC_INFO
37201 GCS_European_1979
37202 GCS_Everest_Bangladesh
37203 GCS_Everest_India_Nepal
37204 GCS_Hjorsey_1955
37205 GCS_Hong_Kong_1963_67
37206 GCS_Oman
37207 GCS_South_Asia_Singapore
37208 GCS_Ayabelle
37211 GCS_Point_58
37212 GCS_Beacon_E_1945
37213 GCS_Tern_Island_1961
37214 GCS_Astro_1952
37215 GCS_Bellevue_IGN
37216 GCS_Canton_1966
37217 GCS_Chatham_Island_1971
37218 GCS_DOS_1968
37219 GCS_Easter_Island_1967
37220 GCS_Guam_1963
37221 GCS_GUX_1
37222 GCS_Johnston_Island_1961
37223 GCS_Carthage_Degree
37224 GCS_Midway_1961
37226 GCS_Pitcairn_1967
37227 GCS_Santo_DOS_1965
37228 GCS_Viti_Levu_1916
37229 GCS_Wake_Eniwetok_1960
37230 GCS_Wake_Island_1952
37231 GCS_Anna_1_1965
37232 GCS_Gan_1970
37233 GCS_ISTS_073_1969
37234 GCS_Kerguelen_Island_1949
37235 GCS_Reunion_1947
37237 GCS_Ascension_Island_1958
37238 GCS_DOS_71_4
37239 GCS_Cape_Canaveral
37240 GCS_Fort_Thomas_1955
37241 GCS_Graciosa_Base_SW_1948
37242 GCS_ISTS_061_1968
37243 GCS_LC5_1961
37245 GCS_Observ_Meteorologico_1939
37246 GCS_Pico_de_Las_Nieves
37247 GCS_Porto_Santo_1936
37249 GCS_Sao_Braz
37250 GCS_Selvagem_Grande_1938
37251 GCS_Tristan_1968
37252 GCS_American_Samoa_1962
37253 GCS_Camp_Area
37254 GCS_Deception_Island
37255 GCS_Gunung_Segara
37257 GCS_S42_Hungary
37259 GCS_Kusaie_1951
37260 GCS_Alaskan_Islands
104000 GCS_Assumed_Geographic_1
104101 GCS_Estonia_1937
104102 GCS_Hermannskogel
104103 GCS_Sierra_Leone_1960
104104 GCS_Hong_Kong_1980
104105 GCS_Datum_Lisboa_Bessel
104106 GCS_Datum_Lisboa_Hayford
104107 GCS_RGF_1993
104108 GCS_NZGD_2000
104109 GCS_Pohnpei
104111 GCS_JGD_2000
104112 GCS_Bab_South
104113 GCS_Majuro
104114 GCS_Bermuda_2000
104115 GCS_ITRF_1988
104116 GCS_ITRF_1989
104117 GCS_ITRF_1990
104118 GCS_ITRF_1991
104119 GCS_ITRF_1992
104120 GCS_ITRF_1993
104121 GCS_ITRF_1994
104122 GCS_ITRF_1996
104123 GCS_ITRF_1997
104124 GCS_ITRF_2000
104125 GCS_Chatham_Islands_1979
104126 GCS_Observatorio_Meteorologico_1965
104127 GCS_Roma_1940
104128 GCS_Sphere_EMEP
104130 GCS_Jordan
104131 GCS_D48
104132 GCS_Ocotepeque_1935
104133 GCS_JAD_2001
104134 GCS_MONREF_1997
104135 GCS_MSK_1942
104136 GCS_TWD_1967
104137 GCS_TWD_1997
104199 GCS_WGS_1984_Major_Auxiliary_Sphere
104258 GCS_ETRF_1989
104261 GCS_Merchich_Degree
104304 GCS_Voirol_1875_Degree
104305 GCS_Voirol_Unifie_1960_Degree
104700 GCS_NAD_1983_HARN_Adj_MN_Anoka
104701 GCS_NAD_1983_HARN_Adj_MN_Becker
104702 GCS_NAD_1983_HARN_Adj_MN_Beltrami_North
104703 GCS_NAD_1983_HARN_Adj_MN_Beltrami_South
104704 GCS_NAD_1983_HARN_Adj_MN_Benton
104705 GCS_NAD_1983_HARN_Adj_MN_Big_Stone
104706 GCS_NAD_1983_HARN_Adj_MN_Blue_Earth
104707 GCS_NAD_1983_HARN_Adj_MN_Brown
104708 GCS_NAD_1983_HARN_Adj_MN_Carlton
104709 GCS_NAD_1983_HARN_Adj_MN_Carver
104710 GCS_NAD_1983_HARN_Adj_MN_Cass_North
104711 GCS_NAD_1983_HARN_Adj_MN_Cass_South
104712 GCS_NAD_1983_HARN_Adj_MN_Chippewa
104713 GCS_NAD_1983_HARN_Adj_MN_Chisago
104714 GCS_NAD_1983_HARN_Adj_MN_Cook_North
104715 GCS_NAD_1983_HARN_Adj_MN_Cook_South
104716 GCS_NAD_1983_HARN_Adj_MN_Cottonwood
104717 GCS_NAD_1983_HARN_Adj_MN_Crow_Wing
104718 GCS_NAD_1983_HARN_Adj_MN_Dakota
104719 GCS_NAD_1983_HARN_Adj_MN_Dodge
104720 GCS_NAD_1983_HARN_Adj_MN_Douglas
104721 GCS_NAD_1983_HARN_Adj_MN_Faribault
104722 GCS_NAD_1983_HARN_Adj_MN_Fillmore
104723 GCS_NAD_1983_HARN_Adj_MN_Freeborn
104724 GCS_NAD_1983_HARN_Adj_MN_Goodhue
104725 GCS_NAD_1983_HARN_Adj_MN_Grant
104726 GCS_NAD_1983_HARN_Adj_MN_Hennepin
104727 GCS_NAD_1983_HARN_Adj_MN_Houston
104728 GCS_NAD_1983_HARN_Adj_MN_Isanti
104729 GCS_NAD_1983_HARN_Adj_MN_Itasca_North
104730 GCS_NAD_1983_HARN_Adj_MN_Itasca_South
104731 GCS_NAD_1983_HARN_Adj_MN_Jackson
104732 GCS_NAD_1983_HARN_Adj_MN_Kanabec
104733 GCS_NAD_1983_HARN_Adj_MN_Kandiyohi
104734 GCS_NAD_1983_HARN_Adj_MN_Kittson
104735 GCS_NAD_1983_HARN_Adj_MN_Koochiching
104736 GCS_NAD_1983_HARN_Adj_MN_Lac_Qui_Parle
104737 GCS_NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_North
104738 GCS_NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_South
104739 GCS_NAD_1983_HARN_Adj_MN_Le_Sueur
104740 GCS_NAD_1983_HARN_Adj_MN_Lincoln
104741 GCS_NAD_1983_HARN_Adj_MN_Lyon
104742 GCS_NAD_1983_HARN_Adj_MN_McLeod
104743 GCS_NAD_1983_HARN_Adj_MN_Mahnomen
104744 GCS_NAD_1983_HARN_Adj_MN_Marshall
104745 GCS_NAD_1983_HARN_Adj_MN_Martin
104746 GCS_NAD_1983_HARN_Adj_MN_Meeker
104747 GCS_NAD_1983_HARN_Adj_MN_Morrison
104748 GCS_NAD_1983_HARN_Adj_MN_Mower
104749 GCS_NAD_1983_HARN_Adj_MN_Murray
104750 GCS_NAD_1983_HARN_Adj_MN_Nicollet
104751 GCS_NAD_1983_HARN_Adj_MN_Nobles
104752 GCS_NAD_1983_HARN_Adj_MN_Norman
104753 GCS_NAD_1983_HARN_Adj_MN_Olmsted
104754 GCS_NAD_1983_HARN_Adj_MN_Ottertail
104755 GCS_NAD_1983_HARN_Adj_MN_Pennington
104756 GCS_NAD_1983_HARN_Adj_MN_Pine
104757 GCS_NAD_1983_HARN_Adj_MN_Pipestone
104758 GCS_NAD_1983_HARN_Adj_MN_Polk
104759 GCS_NAD_1983_HARN_Adj_MN_Pope
104760 GCS_NAD_1983_HARN_Adj_MN_Ramsey
104761 GCS_NAD_1983_HARN_Adj_MN_Red_Lake
104762 GCS_NAD_1983_HARN_Adj_MN_Redwood
104763 GCS_NAD_1983_HARN_Adj_MN_Renville
104764 GCS_NAD_1983_HARN_Adj_MN_Rice
104765 GCS_NAD_1983_HARN_Adj_MN_Rock
104766 GCS_NAD_1983_HARN_Adj_MN_Roseau
104767 GCS_NAD_1983_HARN_Adj_MN_St_Louis_North
104768 GCS_NAD_1983_HARN_Adj_MN_St_Louis_Central
104769 GCS_NAD_1983_HARN_Adj_MN_St_Louis_South
104770 GCS_NAD_1983_HARN_Adj_MN_Scott
104771 GCS_NAD_1983_HARN_Adj_MN_Sherburne
104772 GCS_NAD_1983_HARN_Adj_MN_Sibley
104773 GCS_NAD_1983_HARN_Adj_MN_Stearns
104774 GCS_NAD_1983_HARN_Adj_MN_Steele
104775 GCS_NAD_1983_HARN_Adj_MN_Stevens
104776 GCS_NAD_1983_HARN_Adj_MN_Swift
104777 GCS_NAD_1983_HARN_Adj_MN_Todd
104778 GCS_NAD_1983_HARN_Adj_MN_Traverse
104779 GCS_NAD_1983_HARN_Adj_MN_Wabasha
104780 GCS_NAD_1983_HARN_Adj_MN_Wadena
104781 GCS_NAD_1983_HARN_Adj_MN_Waseca
104782 GCS_NAD_1983_HARN_Adj_MN_Watonwan
104783 GCS_NAD_1983_HARN_Adj_MN_Winona
104784 GCS_NAD_1983_HARN_Adj_MN_Wright
104785 GCS_NAD_1983_HARN_Adj_MN_Yellow_Medicine
104800 GCS_NAD_1983_HARN_Adj_WI_Adams
104801 GCS_NAD_1983_HARN_Adj_WI_Ashland
104802 GCS_NAD_1983_HARN_Adj_WI_Barron
104803 GCS_NAD_1983_HARN_Adj_WI_Bayfield
104804 GCS_NAD_1983_HARN_Adj_WI_Brown
104805 GCS_NAD_1983_HARN_Adj_WI_Buffalo
104806 GCS_NAD_1983_HARN_Adj_WI_Burnett
104807 GCS_NAD_1983_HARN_Adj_WI_Calumet
104808 GCS_NAD_1983_HARN_Adj_WI_Chippewa
104809 GCS_NAD_1983_HARN_Adj_WI_Clark
104810 GCS_NAD_1983_HARN_Adj_WI_Columbia
104811 GCS_NAD_1983_HARN_Adj_WI_Crawford
104812 GCS_NAD_1983_HARN_Adj_WI_Dane
104813 GCS_NAD_1983_HARN_Adj_WI_Dodge
104814 GCS_NAD_1983_HARN_Adj_WI_Door
104815 GCS_NAD_1983_HARN_Adj_WI_Douglas
104816 GCS_NAD_1983_HARN_Adj_WI_Dunn
104817 GCS_NAD_1983_HARN_Adj_WI_EauClaire
104818 GCS_NAD_1983_HARN_Adj_WI_Florence
104819 GCS_NAD_1983_HARN_Adj_WI_FondduLac
104820 GCS_NAD_1983_HARN_Adj_WI_Forest
104821 GCS_NAD_1983_HARN_Adj_WI_Grant
104822 GCS_NAD_1983_HARN_Adj_WI_Green
104823 GCS_NAD_1983_HARN_Adj_WI_GreenLake
104824 GCS_NAD_1983_HARN_Adj_WI_Iowa
104825 GCS_NAD_1983_HARN_Adj_WI_Iron
104826 GCS_NAD_1983_HARN_Adj_WI_Jackson
104827 GCS_NAD_1983_HARN_Adj_WI_Jefferson
104828 GCS_NAD_1983_HARN_Adj_WI_Juneau
104829 GCS_NAD_1983_HARN_Adj_WI_Kenosha
104830 GCS_NAD_1983_HARN_Adj_WI_Kewaunee
104831 GCS_NAD_1983_HARN_Adj_WI_LaCrosse
104832 GCS_NAD_1983_HARN_Adj_WI_Lafayette
104833 GCS_NAD_1983_HARN_Adj_WI_Langlade
104834 GCS_NAD_1983_HARN_Adj_WI_Lincoln
104835 GCS_NAD_1983_HARN_Adj_WI_Manitowoc
104836 GCS_NAD_1983_HARN_Adj_WI_Marathon
104837 GCS_NAD_1983_HARN_Adj_WI_Marinette
104838 GCS_NAD_1983_HARN_Adj_WI_Marquette
104839 GCS_NAD_1983_HARN_Adj_WI_Menominee
104840 GCS_NAD_1983_HARN_Adj_WI_Milwaukee
104841 GCS_NAD_1983_HARN_Adj_WI_Monroe
104842 GCS_NAD_1983_HARN_Adj_WI_Oconto
104843 GCS_NAD_1983_HARN_Adj_WI_Oneida
104844 GCS_NAD_1983_HARN_Adj_WI_Outagamie
104845 GCS_NAD_1983_HARN_Adj_WI_Ozaukee
104846 GCS_NAD_1983_HARN_Adj_WI_Pepin
104847 GCS_NAD_1983_HARN_Adj_WI_Pierce
104848 GCS_NAD_1983_HARN_Adj_WI_Polk
104849 GCS_NAD_1983_HARN_Adj_WI_Portage
104850 GCS_NAD_1983_HARN_Adj_WI_Price
104851 GCS_NAD_1983_HARN_Adj_WI_Racine
104852 GCS_NAD_1983_HARN_Adj_WI_Richland
104853 GCS_NAD_1983_HARN_Adj_WI_Rock
104854 GCS_NAD_1983_HARN_Adj_WI_Rusk
104855 GCS_NAD_1983_HARN_Adj_WI_StCroix
104856 GCS_NAD_1983_HARN_Adj_WI_Sauk
104857 GCS_NAD_1983_HARN_Adj_WI_Sawyer
104858 GCS_NAD_1983_HARN_Adj_WI_Shawano
104859 GCS_NAD_1983_HARN_Adj_WI_Sheboygan
104860 GCS_NAD_1983_HARN_Adj_WI_Taylor
104861 GCS_NAD_1983_HARN_Adj_WI_Trempealeau
104862 GCS_NAD_1983_HARN_Adj_WI_Vernon
104863 GCS_NAD_1983_HARN_Adj_WI_Vilas
104864 GCS_NAD_1983_HARN_Adj_WI_Walworth
104865 GCS_NAD_1983_HARN_Adj_WI_Washburn
104866 GCS_NAD_1983_HARN_Adj_WI_Washington
104867 GCS_NAD_1983_HARN_Adj_WI_Waukesha
104868 GCS_NAD_1983_HARN_Adj_WI_Waupaca
104869 GCS_NAD_1983_HARN_Adj_WI_Waushara
104870 GCS_NAD_1983_HARN_Adj_WI_Winnebago
104871 GCS_NAD_1983_HARN_Adj_WI_Wood
104900 GCS_Mercury_2000
104901 GCS_Venus_1985
104902 GCS_Venus_2000
104903 GCS_Moon_2000
104904 GCS_Mars_1979
104905 GCS_Mars_2000
104906 GCS_Deimos_2000
104907 GCS_Phobos_2000
104908 GCS_Jupiter_2000
104909 GCS_Adrastea_2000
104910 GCS_Amalthea_2000
104911 GCS_Ananke_2000
104912 GCS_Callisto_2000
104913 GCS_Carme_2000
104914 GCS_Elara_2000
104915 GCS_Europa_2000
104916 GCS_Ganymede_2000
104917 GCS_Himalia_2000
104918 GCS_Io_2000
104919 GCS_Leda_2000
104920 GCS_Lysithea_2000
104921 GCS_Metis_2000
104922 GCS_Pasiphae_2000
104923 GCS_Sinope_2000
104924 GCS_Thebe_2000
104925 GCS_Saturn_2000
104926 GCS_Atlas_2000
104927 GCS_Calypso_2000
104928 GCS_Dione_2000
104929 GCS_Enceladus_2000
104930 GCS_Epimetheus_2000
104931 GCS_Helene_2000
104932 GCS_Hyperion_2000
104933 GCS_Iapetus_2000
104934 GCS_Janus_2000
104935 GCS_Mimas_2000
104936 GCS_Pan_2000
104937 GCS_Pandora_2000
104938 GCS_Phoebe_2000
104939 GCS_Prometheus_2000
104940 GCS_Rhea_2000
104941 GCS_Telesto_2000
104942 GCS_Tethys_2000
104943 GCS_Titan_2000
104944 GCS_Uranus_2000
104945 GCS_Ariel_2000
104946 GCS_Belinda_2000
104947 GCS_Bianca_2000
104948 GCS_Cordelia_2000
104949 GCS_Cressida_2000
104950 GCS_Desdemona_2000
104951 GCS_Juliet_2000
104952 GCS_Miranda_2000
104953 GCS_Oberon_2000
104954 GCS_Ophelia_2000
104955 GCS_Portia_2000
104956 GCS_Puck_2000
104957 GCS_Rosalind_2000
104958 GCS_Titania_2000
104959 GCS_Umbriel_2000
104960 GCS_Neptune_2000
104961 GCS_Despina_2000
104962 GCS_Galatea_2000
104963 GCS_Larissa_2000
104964 GCS_Naiad_2000
104965 GCS_Nereid_2000
104966 GCS_Proteus_2000
104967 GCS_Thalassa_2000
104968 GCS_Triton_2000
104969 GCS_Pluto_2000
104970 GCS_Charon_2000