Skip to content

Commit 91b9520

Browse files
committed
Tweaked csproj files to support NuGet package generation. Updated documentation.
1 parent ba65267 commit 91b9520

File tree

10 files changed

+231
-83
lines changed

10 files changed

+231
-83
lines changed

AutofacGeoProcessor/AutofacGeoProcessor.csproj

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,30 @@
44
<TargetFramework>net5.0</TargetFramework>
55
<RootNamespace>J4JSoftware.GeoProcessor</RootNamespace>
66
<Nullable>enable</Nullable>
7+
<Authors>Mark A. Olbert</Authors>
8+
<Company>Jump for Joy Software</Company>
9+
<Product>J4JSoftware Autofac add-on for GeoProcessing Library</Product>
10+
<Description>an Autofac module for simplifying use of the J4JSoftware GeoProcessor library</Description>
11+
<Copyright>© Mark A. Olbert all rights reserved</Copyright>
12+
<PackageDescription>an Autofac module for simplifying use of the J4JSoftware GeoProcessor library</PackageDescription>
13+
<RepositoryUrl>https://github.com/markolbert/GeoProcessor</RepositoryUrl>
14+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
15+
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
16+
<PackageIcon>Diego nuspec.png</PackageIcon>
17+
<RepositoryType>git</RepositoryType>
18+
<Version>0.8.0.0</Version>
19+
<AssemblyVersion>0.8.0.0</AssemblyVersion>
20+
<PackageReleaseNotes>initial release</PackageReleaseNotes>
21+
<Configurations>Debug;Release;NuGetRelease</Configurations>
722
</PropertyGroup>
823

24+
<ItemGroup>
25+
<None Include="E:\Pix\JumpForJoy\Diego nuspec.png" Link="Diego nuspec.png">
26+
<PackagePath></PackagePath>
27+
<Pack>True</Pack>
28+
</None>
29+
</ItemGroup>
30+
931
<ItemGroup>
1032
<PackageReference Include="Autofac" Version="6.1.0" />
1133
<PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="5.0.1" />

GeoProcessor.sln

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoFacJ4JLogging", "..\J4J
1414
EndProject
1515
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "J4JLogging", "..\J4JLogging\J4JLogging\J4JLogging.csproj", "{70E3D3D7-4BFA-414E-806C-D007CD9342DC}"
1616
EndProject
17-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Binder", "..\J4JCommandLine\Binder\Binder.csproj", "{64E230F2-1223-4FBE-BD97-A34152FAAF6C}"
18-
EndProject
1917
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VisualUtilities", "..\ProgrammingUtilities\VisualUtilities\VisualUtilities.csproj", "{6781EA78-CEEA-4B48-8D1E-E76CECE32A28}"
2018
EndProject
2119
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GeoProcessor", "GeoProcessor\GeoProcessor.csproj", "{4DA0E1B4-6972-4825-87DD-41A2F3A8D808}"
@@ -28,6 +26,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GeoProcessorApp", "GeoProce
2826
EndProject
2927
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{46B961C5-1883-4706-8633-66984BA48596}"
3028
ProjectSection(SolutionItems) = preProject
29+
docs\apikeys.md = docs\apikeys.md
30+
docs\cmdline.md = docs\cmdline.md
31+
docs\config.md = docs\config.md
32+
docs\distance.md = docs\distance.md
3133
LICENSE.md = LICENSE.md
3234
README.md = README.md
3335
EndProjectSection
@@ -37,48 +39,69 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "assets", "assets", "{62EB80
3739
docs\assets\tldr-console.png = docs\assets\tldr-console.png
3840
EndProjectSection
3941
EndProject
42+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "J4JCommandLine", "..\J4JCommandLine\J4JCommandLine\J4JCommandLine.csproj", "{67D12E27-03F7-4BC9-BE34-4BCC782716FC}"
43+
EndProject
4044
Global
4145
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4246
Debug|Any CPU = Debug|Any CPU
47+
NuGetRelease|Any CPU = NuGetRelease|Any CPU
4348
Release|Any CPU = Release|Any CPU
4449
EndGlobalSection
4550
GlobalSection(ProjectConfigurationPlatforms) = postSolution
4651
{A80A75DD-DB4C-472D-8166-FE8F86FD7BF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
4752
{A80A75DD-DB4C-472D-8166-FE8F86FD7BF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
53+
{A80A75DD-DB4C-472D-8166-FE8F86FD7BF1}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
54+
{A80A75DD-DB4C-472D-8166-FE8F86FD7BF1}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
4855
{A80A75DD-DB4C-472D-8166-FE8F86FD7BF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
4956
{A80A75DD-DB4C-472D-8166-FE8F86FD7BF1}.Release|Any CPU.Build.0 = Release|Any CPU
5057
{656BACBE-548A-4D21-9911-02BFFC11DE21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
5158
{656BACBE-548A-4D21-9911-02BFFC11DE21}.Debug|Any CPU.Build.0 = Debug|Any CPU
59+
{656BACBE-548A-4D21-9911-02BFFC11DE21}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
60+
{656BACBE-548A-4D21-9911-02BFFC11DE21}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
5261
{656BACBE-548A-4D21-9911-02BFFC11DE21}.Release|Any CPU.ActiveCfg = Release|Any CPU
5362
{656BACBE-548A-4D21-9911-02BFFC11DE21}.Release|Any CPU.Build.0 = Release|Any CPU
5463
{70E3D3D7-4BFA-414E-806C-D007CD9342DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
5564
{70E3D3D7-4BFA-414E-806C-D007CD9342DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
65+
{70E3D3D7-4BFA-414E-806C-D007CD9342DC}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
66+
{70E3D3D7-4BFA-414E-806C-D007CD9342DC}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
5667
{70E3D3D7-4BFA-414E-806C-D007CD9342DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
5768
{70E3D3D7-4BFA-414E-806C-D007CD9342DC}.Release|Any CPU.Build.0 = Release|Any CPU
58-
{64E230F2-1223-4FBE-BD97-A34152FAAF6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
59-
{64E230F2-1223-4FBE-BD97-A34152FAAF6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
60-
{64E230F2-1223-4FBE-BD97-A34152FAAF6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
61-
{64E230F2-1223-4FBE-BD97-A34152FAAF6C}.Release|Any CPU.Build.0 = Release|Any CPU
6269
{6781EA78-CEEA-4B48-8D1E-E76CECE32A28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6370
{6781EA78-CEEA-4B48-8D1E-E76CECE32A28}.Debug|Any CPU.Build.0 = Debug|Any CPU
71+
{6781EA78-CEEA-4B48-8D1E-E76CECE32A28}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
72+
{6781EA78-CEEA-4B48-8D1E-E76CECE32A28}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
6473
{6781EA78-CEEA-4B48-8D1E-E76CECE32A28}.Release|Any CPU.ActiveCfg = Release|Any CPU
6574
{6781EA78-CEEA-4B48-8D1E-E76CECE32A28}.Release|Any CPU.Build.0 = Release|Any CPU
6675
{4DA0E1B4-6972-4825-87DD-41A2F3A8D808}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6776
{4DA0E1B4-6972-4825-87DD-41A2F3A8D808}.Debug|Any CPU.Build.0 = Debug|Any CPU
77+
{4DA0E1B4-6972-4825-87DD-41A2F3A8D808}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
78+
{4DA0E1B4-6972-4825-87DD-41A2F3A8D808}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
6879
{4DA0E1B4-6972-4825-87DD-41A2F3A8D808}.Release|Any CPU.ActiveCfg = Release|Any CPU
6980
{4DA0E1B4-6972-4825-87DD-41A2F3A8D808}.Release|Any CPU.Build.0 = Release|Any CPU
7081
{EB051D48-55A8-4C3C-9A9D-E04F0864008B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
7182
{EB051D48-55A8-4C3C-9A9D-E04F0864008B}.Debug|Any CPU.Build.0 = Debug|Any CPU
83+
{EB051D48-55A8-4C3C-9A9D-E04F0864008B}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
84+
{EB051D48-55A8-4C3C-9A9D-E04F0864008B}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
7285
{EB051D48-55A8-4C3C-9A9D-E04F0864008B}.Release|Any CPU.ActiveCfg = Release|Any CPU
7386
{EB051D48-55A8-4C3C-9A9D-E04F0864008B}.Release|Any CPU.Build.0 = Release|Any CPU
7487
{D62EA0A9-51A6-4F9B-9CBC-D5DA85F92614}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
7588
{D62EA0A9-51A6-4F9B-9CBC-D5DA85F92614}.Debug|Any CPU.Build.0 = Debug|Any CPU
89+
{D62EA0A9-51A6-4F9B-9CBC-D5DA85F92614}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
90+
{D62EA0A9-51A6-4F9B-9CBC-D5DA85F92614}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
7691
{D62EA0A9-51A6-4F9B-9CBC-D5DA85F92614}.Release|Any CPU.ActiveCfg = Release|Any CPU
7792
{D62EA0A9-51A6-4F9B-9CBC-D5DA85F92614}.Release|Any CPU.Build.0 = Release|Any CPU
7893
{9F6D7226-328A-4FA4-9D56-9B68F240E127}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
7994
{9F6D7226-328A-4FA4-9D56-9B68F240E127}.Debug|Any CPU.Build.0 = Debug|Any CPU
95+
{9F6D7226-328A-4FA4-9D56-9B68F240E127}.NuGetRelease|Any CPU.ActiveCfg = NuGetRelease|Any CPU
96+
{9F6D7226-328A-4FA4-9D56-9B68F240E127}.NuGetRelease|Any CPU.Build.0 = NuGetRelease|Any CPU
8097
{9F6D7226-328A-4FA4-9D56-9B68F240E127}.Release|Any CPU.ActiveCfg = Release|Any CPU
8198
{9F6D7226-328A-4FA4-9D56-9B68F240E127}.Release|Any CPU.Build.0 = Release|Any CPU
99+
{67D12E27-03F7-4BC9-BE34-4BCC782716FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
100+
{67D12E27-03F7-4BC9-BE34-4BCC782716FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
101+
{67D12E27-03F7-4BC9-BE34-4BCC782716FC}.NuGetRelease|Any CPU.ActiveCfg = NugetRelease|Any CPU
102+
{67D12E27-03F7-4BC9-BE34-4BCC782716FC}.NuGetRelease|Any CPU.Build.0 = NugetRelease|Any CPU
103+
{67D12E27-03F7-4BC9-BE34-4BCC782716FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
104+
{67D12E27-03F7-4BC9-BE34-4BCC782716FC}.Release|Any CPU.Build.0 = Release|Any CPU
82105
EndGlobalSection
83106
GlobalSection(SolutionProperties) = preSolution
84107
HideSolutionNode = FALSE
@@ -87,9 +110,9 @@ Global
87110
{A80A75DD-DB4C-472D-8166-FE8F86FD7BF1} = {5AD3F041-D553-492B-948D-E58BDA4373CF}
88111
{656BACBE-548A-4D21-9911-02BFFC11DE21} = {5AD3F041-D553-492B-948D-E58BDA4373CF}
89112
{70E3D3D7-4BFA-414E-806C-D007CD9342DC} = {5AD3F041-D553-492B-948D-E58BDA4373CF}
90-
{64E230F2-1223-4FBE-BD97-A34152FAAF6C} = {5AD3F041-D553-492B-948D-E58BDA4373CF}
91113
{6781EA78-CEEA-4B48-8D1E-E76CECE32A28} = {5AD3F041-D553-492B-948D-E58BDA4373CF}
92114
{62EB80C2-C53A-48CB-BC0D-67D4F40A5881} = {46B961C5-1883-4706-8633-66984BA48596}
115+
{67D12E27-03F7-4BC9-BE34-4BCC782716FC} = {5AD3F041-D553-492B-948D-E58BDA4373CF}
93116
EndGlobalSection
94117
GlobalSection(ExtensibilityGlobals) = postSolution
95118
SolutionGuid = {FE44BCE1-11E4-4584-BACC-44570810FB77}

GeoProcessor/GeoProcessor.csproj

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,21 @@
44
<TargetFramework>net5.0</TargetFramework>
55
<RootNamespace>J4JSoftware.GeoProcessor</RootNamespace>
66
<Nullable>enable</Nullable>
7+
<Authors>Mark A. Olbert</Authors>
8+
<Company>Jump for Joy Software</Company>
9+
<Product>J4JSoftware GeoProcessing Library</Product>
10+
<Description>a library for processing GPX, KML and KMZ files, and snapping GPS tracks to roadways</Description>
11+
<Copyright>© Mark A. Olbert all rights reserved</Copyright>
12+
<PackageDescription>a library for processing GPX, KML and KMZ files, and snapping GPS tracks to roadways</PackageDescription>
13+
<RepositoryUrl>https://github.com/markolbert/GeoProcessor</RepositoryUrl>
14+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
15+
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
16+
<PackageIcon>Diego nuspec.png</PackageIcon>
17+
<RepositoryType>git</RepositoryType>
18+
<Version>0.8.0.0</Version>
19+
<AssemblyVersion>0.8.0.0</AssemblyVersion>
20+
<PackageReleaseNotes>initial release</PackageReleaseNotes>
21+
<Configurations>Debug;Release;NuGetRelease</Configurations>
722
</PropertyGroup>
823

924
<ItemGroup>
@@ -12,8 +27,26 @@
1227
<PackageReference Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="5.0.1" />
1328
</ItemGroup>
1429

30+
<Choose>
31+
<When Condition=" '$(Configuration)' == 'NuGetRelease' ">
32+
<ItemGroup>
33+
<PackageReference Include="J4JSoftware.Logging" Version="3.0.0" />
34+
<PackageReference Include="J4JSoftware.VisualUtilities" Version="0.8.0" />
35+
</ItemGroup>
36+
</When>
37+
<Otherwise>
38+
<ItemGroup>
39+
<ProjectReference Include="..\..\J4JLogging\J4JLogging\J4JLogging.csproj" />
40+
<ProjectReference Include="..\..\ProgrammingUtilities\VisualUtilities\VisualUtilities.csproj" />
41+
</ItemGroup>
42+
</Otherwise>
43+
</Choose>
44+
1545
<ItemGroup>
16-
<ProjectReference Include="..\..\J4JLogging\J4JLogging\J4JLogging.csproj" />
17-
<ProjectReference Include="..\..\ProgrammingUtilities\VisualUtilities\VisualUtilities.csproj" />
46+
<None Include="E:\Pix\JumpForJoy\Diego nuspec.png">
47+
<Pack>True</Pack>
48+
<PackagePath></PackagePath>
49+
</None>
1850
</ItemGroup>
51+
1952
</Project>

GeoProcessorApp/GeoProcessorApp.csproj

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<RootNamespace>J4JSoftware.GeoProcessor</RootNamespace>
77
<Nullable>enable</Nullable>
88
<UserSecretsId>bddc2ef2-9330-48ea-b316-40fc738a4e28</UserSecretsId>
9+
<Configurations>Debug;Release;NuGetRelease</Configurations>
910
</PropertyGroup>
1011

1112
<ItemGroup>
@@ -14,11 +15,6 @@
1415
</ItemGroup>
1516

1617
<ItemGroup>
17-
<ProjectReference Include="..\..\J4JCommandLine\Binder\Binder.csproj" />
18-
<ProjectReference Include="..\..\J4JLogging\AutoFacJ4JLogging\AutoFacJ4JLogging.csproj" />
19-
<ProjectReference Include="..\..\J4JLogging\J4JLogging\J4JLogging.csproj" />
20-
<ProjectReference Include="..\..\ProgrammingUtilities\DependencyInjection\DependencyInjection.csproj" />
21-
<ProjectReference Include="..\..\ProgrammingUtilities\VisualUtilities\VisualUtilities.csproj" />
2218
<ProjectReference Include="..\AutofacGeoProcessor\AutofacGeoProcessor.csproj" />
2319
<ProjectReference Include="..\GeoProcessor\GeoProcessor.csproj" />
2420
</ItemGroup>
@@ -35,4 +31,32 @@
3531
</None>
3632
</ItemGroup>
3733

34+
<Choose>
35+
<When Condition=" '$(Configuration)' == 'NuGetRelease' ">
36+
<ItemGroup>
37+
<PackageReference Include="J4JSoftware.Configuration.CommandLine" Version="1.0.0" />
38+
<PackageReference Include="J4JSoftware.Logging" Version="3.0.0" />
39+
<PackageReference Include="J4JSoftware.Logging.Autofac" Version="3.0.0" />
40+
<PackageReference Include="J4JSoftware.DependencyInjection" Version="0.8.0" />
41+
<PackageReference Include="J4JSoftware.VisualUtilities" Version="0.8.0" />
42+
</ItemGroup>
43+
</When>
44+
<Otherwise>
45+
<ItemGroup>
46+
<ProjectReference Include="..\..\J4JCommandLine\J4JCommandLine\J4JCommandLine.csproj" />
47+
<ProjectReference Include="..\..\J4JLogging\J4JLogging\J4JLogging.csproj" />
48+
<ProjectReference Include="..\..\J4JLogging\AutoFacJ4JLogging\AutoFacJ4JLogging.csproj" />
49+
<ProjectReference Include="..\..\ProgrammingUtilities\DependencyInjection\DependencyInjection.csproj" />
50+
<ProjectReference Include="..\..\ProgrammingUtilities\VisualUtilities\VisualUtilities.csproj" />
51+
</ItemGroup>
52+
</Otherwise>
53+
</Choose>
54+
55+
<ItemGroup>
56+
<None Include="E:\Pix\JumpForJoy\Diego nuspec.png">
57+
<Pack>True</Pack>
58+
<PackagePath></PackagePath>
59+
</None>
60+
</ItemGroup>
61+
3862
</Project>

README.md

Lines changed: 6 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ snap-to-route processors (**note:** you'll need an account with Bing or Google t
55
access those).
66

77
### TL;DR
8-
The libarary source code should run anywhere Net5 is supported...but
9-
I've only tested it, and the executable, on Windows 10.
8+
The app should compile and run anywhere Net5 is supported...but
9+
I've only tested it on Windows 10.
1010

1111
![tl;dr console image](docs/assets/tldr-console.png)
1212

@@ -18,71 +18,8 @@ force the app to confirm configuration values through the console).
1818
You will need a Bing or Google API key for the library and program to
1919
work.
2020

21-
### Command line options
22-
|Key |Explanation|Default|
23-
|-----------|---------------|-----------|
24-
|-i<br/>--inputFile|the input file to process|*none*|
25-
|-n<br/>--defaultName|default name for a route if none is specified in the input file|Unnamed Route|
26-
|-o<br/>--outputFile|the output file to create<br/><br/>file type (e.g., kmz) will be derived from input file extension but can be overriden|*none*|
27-
|-t<br/>--outputType|the type of output file to create. Must be one of *kml* or *kmz*| kml|
28-
|-p<br/>--snapProcessor|the snap-to-route processor to use. Must be one of *Bing* or *Google*| Undefined |
29-
|-r<br/>--runInteractive|force entry of all command line parameters regardless of whether or not they're specified in config file| false (not set)|
30-
|-k<br/>--storeApiKey|prompt user for a snap-to-route processor's API key and store it, encrypted, in the app's user configuration| false (not set)|
31-
32-
### Configuration Files
33-
The app has a general configuration file, in its program directory, for
34-
configuring the logging system, specifying how close raw coordinates should
35-
be to each other to be merged, etc. It's a simple JSON file that looks
36-
like this:
37-
```json
38-
{
39-
"Processors": {
40-
"Distance": {
41-
"MaxDistanceMultiplier": 3,
42-
"MaxPointsPerRequest": -1,
43-
"MaxSeparation": "100 ft"
44-
},
45-
"Bing": {
46-
"MaxPointsPerRequest": 100,
47-
"MaxSeparation": "2 km"
48-
},
49-
"Google": {
50-
"MaxPointsPerRequest": 100,
51-
"MaxSeparation": "2 km"
52-
}
53-
},
54-
"Logging": {
55-
"EventElements": "None",
56-
"SourceRootPath": "C:\\Programming\\KMLProcessor\\",
57-
"Channels": {
58-
"Debug": {
59-
"MinimumLevel": "Information"
60-
},
61-
"Console": {
62-
"MinimumLevel": "Information"
63-
}
64-
}
65-
}
66-
}
67-
```
68-
There's also a user configuration file which stores encrypted snap-to-route
69-
API keys, if those are defined by the user (i.e., not simply entered
70-
each time the program is run). It looks like this:
71-
```json
72-
{
73-
"APIKeys": {
74-
"Bing": {
75-
"EncryptedValue": "CfDJ8DZjcBUs1sNEu98tAdCI1mAkm...omitted for brevity"
76-
},
77-
"Google": {
78-
"EncryptedValue": "CfDJ8DZjcBUs1sNEu98tAdCI1mCS2...omitted for brevity"
79-
}
80-
}
81-
}
82-
```
83-
On Windows it's located at <br/>
84-
*C:\Users\\[username]\AppData\Local\J4JSoftware\GeoProcessor*.
85-
86-
87-
21+
### Table of Contents
8822

23+
- [Command line options](docs/cmdline.md)
24+
- [Configuration file options](docs/config.md)
25+
- [Obtaining API Keys](docs/apikeys.md)

Test.GeoProcessor/Test.GeoProcessor.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<TargetFramework>net5.0</TargetFramework>
55
<IsPackable>false</IsPackable>
66
<UserSecretsId>c4df8534-ac60-47de-83c9-d12433053249</UserSecretsId>
7+
<Configurations>Debug;Release;NuGetRelease</Configurations>
78
</PropertyGroup>
89

910
<ItemGroup>

docs/apikeys.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
## Obtaining API Keys
2+
The library relies on cloud-based services for snapping a track to
3+
roadways. Currently two are supported, **Bing Maps** and
4+
the map/street functions in the **Google Cloud Platform**.
5+
6+
Both require you to sign up for a developer account in order to obtain
7+
the API key `GeoProcessor` requires. Generally speaking, personal or
8+
development-focused low-volume use doesn't cost anything. But once you
9+
get beyond certain limits you will have to pay for the service.
10+
11+
You can sign up for **Bing Maps** at [their developer portal](https://www.bingmapsportal.com/).
12+
Similarly, you can sign up for the **Google Cloud Platform** via their
13+
[developer's console](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwj8neui_4_uAhWiL30KHeRLB4oQFjAAegQIBhAC&url=https%3A%2F%2Fconsole.developers.google.com%2F&usg=AOvVaw39ieEDI7pzBj4NtuzqS57M).

docs/cmdline.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## Command Line Options
2+
Certain options can be configured from either the command line or
3+
from a [configuration file](config.md).
4+
5+
|Key |Explanation|Default|
6+
|-----------|---------------|-----------|
7+
|-i<br/>--inputFile|the input file to process|*none*|
8+
|-n<br/>--defaultName|default name for a route if none is specified in the input file|Unnamed Route|
9+
|-o<br/>--outputFile|the output file to create<br/><br/>file type (e.g., kmz) will be derived from input file extension but can be overriden|*none*|
10+
|-t<br/>--outputType|the type of output file to create. Must be one of *kml* or *kmz*| kml|
11+
|-p<br/>--snapProcessor|the snap-to-route processor to use. Must be one of *Bing* or *Google*| Undefined |
12+
|-r<br/>--runInteractive|force entry of all command line parameters regardless of whether or not they're specified in config file| false (not set)|
13+
|-k<br/>--storeApiKey|prompt user for a snap-to-route processor's API key and store it, encrypted, in the app's user configuration| false (not set)|
14+
15+
File names should include the path to the file, either relative to
16+
the current directory or the full path.
17+
18+
File names or default route names containing spaces need to be wrapped
19+
in quotes (").

0 commit comments

Comments
 (0)