Skip to content

Commit d77fbff

Browse files
committed
2.9: use mean in coordinate deformation
1 parent 699699a commit d77fbff

File tree

13 files changed

+102
-26
lines changed

13 files changed

+102
-26
lines changed

Makefile

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@ REL = 2
1414
PREFIX = /usr/local
1515
INSTALL = install
1616
LN = ln -fs
17+
GROFF2PDF = groff -m man -T pdf
18+
RM = rm -f
1719

1820
.PHONY: all clean install
1921

2022
all: $(PROGS)
2123

2224
clean:
23-
rm -f $(PROGS)
25+
$(RM) $(PROGS) man_*.pdf
2426

2527
$(PROGNAME1): $(SRCS)/$(PROGNAME1).c
2628
$(CPP) $(CFLAGS) $^ -o $@ $(LIBS)
@@ -37,6 +39,23 @@ $(PROGNAME4): $(SRCS)/$(PROGNAME4).c
3739
$(PROGNAME5): $(SRCS)/$(PROGNAME5).c
3840
$(CPP) $(CFLAGS) $^ -o $@ $(LIBS)
3941

42+
manual: man_$(PROGNAME1).pdf man_$(PROGNAME2).pdf man_$(PROGNAME3).pdf man_$(PROGNAME4).pdf man_$(PROGNAME5).pdf
43+
44+
man_$(PROGNAME1).pdf: man/man1/$(PROGNAME1).1
45+
$(GROFF2PDF) $^ > $@
46+
47+
man_$(PROGNAME2).pdf: man/man1/$(PROGNAME2).1
48+
$(GROFF2PDF) $^ > $@
49+
50+
man_$(PROGNAME3).pdf: man/man1/$(PROGNAME3).1
51+
$(GROFF2PDF) $^ > $@
52+
53+
man_$(PROGNAME4).pdf: man/man1/$(PROGNAME4).1
54+
$(GROFF2PDF) $^ > $@
55+
56+
man_$(PROGNAME5).pdf: man/man1/$(PROGNAME5).1
57+
$(GROFF2PDF) $^ > $@
58+
4059
install: $(PROGS)
4160
$(INSTALL) -d $(PREFIX)/bin
4261
$(INSTALL) -m 0755 $(PROGS) $(PREFIX)/bin/

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,8 @@ Exec finding unknown distances:
268268

269269
Result gpsout.dat:
270270
```
271+
Mean: 3
272+
M 2508.9040 5588.8650 124.2887 2508.7340 5589.0163 124.5183
271273
Deformation coordinate base: 3
272274
(CONST)
273275
A 2303.4430 5622.9030 149.3070 2302.8540 5623.2230 148.8560

doc/CHANGELOG

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@ Name: GeoFindKey
22
OldName: FindKey
33
URL: https://github.com/Geo-Linux-Calculations/geofindkey
44

5+
2.9
6+
7+
use mean in coordinate deformation
8+
9+
2.8
10+
11+
add atmospheric refractive index
12+
13+
2.7
14+
15+
deformation of coordinates by the "unit spheres" method.
16+
17+
2.6
18+
19+
rescale to sea level
20+
521
2.5
622

723
dZ of radius Earth

man/man1/geodeform500.1

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH "GeoDeform500" 1 2.8 "15 Dec 2021" "User Manual"
1+
.TH "GeoDeform500" 1 2.9 "19 Dec 2021" "User Manual"
22

33
.SH NAME
44
geodeform500
@@ -45,6 +45,8 @@ input-file
4545
.TP
4646
report-file
4747
(sample):
48+
Mean: 3
49+
M 2508.9040 5588.8650 124.2887 2508.7340 5589.0163 124.5183
4850
Deformation coordinate base: 3
4951
(CONST)
5052
A 2303.4430 5622.9030 149.3070 2302.8540 5623.2230 148.8560

man/man1/geofindkey.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH "GeoFindKey" 1 2.8 "15 Dec 2021" "User Manual"
1+
.TH "GeoFindKey" 1 2.9 "19 Dec 2021" "User Manual"
22

33
.SH NAME
44
geofindkey

man/man1/geofindkey2p.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH "GeoFindKey2Pow" 1 2.8 "15 Dec 2021" "User Manual"
1+
.TH "GeoFindKey2Pow" 1 2.9 "19 Dec 2021" "User Manual"
22

33
.SH NAME
44
geofindkey2p

man/man1/geositer500.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH "GeoSIter500" 1 2.8 "15 Dec 2021" "User Manual"
1+
.TH "GeoSIter500" 1 2.9 "19 Dec 2021" "User Manual"
22

33
.SH NAME
44
geositer500

man/man1/geoszbtoyxh.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH "GeoSZBtoYXH" 1 2.8 "15 Dec 2021" "User Manual"
1+
.TH "GeoSZBtoYXH" 1 2.9 "19 Dec 2021" "User Manual"
22

33
.SH NAME
44
geoszbtoyxh

src/geodeform500.c

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
Name: geodeform500.c
3-
Version: 2.8
4-
Date: 2021-12-15
3+
Version: 2.9
4+
Date: 2021-12-19
55
Author: zvezdochiot (https://github.com/zvezdochiot)
66
*
77
build:
@@ -30,6 +30,8 @@ C* 2748.808 5314.058 109.855
3030
*
3131
output file gpsout.dat:
3232
*
33+
Mean: 3
34+
M 2508.9040 5588.8650 124.2887 2508.7340 5589.0163 124.5183
3335
Deformation coordinate base: 3
3436
(CONST)
3537
A 2303.4430 5622.9030 149.3070 2302.8540 5623.2230 148.8560
@@ -57,7 +59,7 @@ C* 2748.8080 5314.0580 109.8550 2749.1000 5314.5570 110.5850
5759
#include <unistd.h>
5860

5961
#define PNAME "GeoDeform500"
60-
#define PVERSION "2.8"
62+
#define PVERSION "2.9"
6163

6264
#define defEps 0.000001
6365
#define defMode "CONST"
@@ -94,6 +96,8 @@ void geodeform500usage()
9496
fprintf(stderr, " C* 2748.808 5314.058 109.855\n");
9597
fprintf(stderr, "\n");
9698
fprintf(stderr, "report-file(sample):\n");
99+
fprintf(stderr, " Mean: 3\n");
100+
fprintf(stderr, " M 2508.9040 5588.8650 124.2887 2508.7340 5589.0163 124.5183\n");
97101
fprintf(stderr, " Deformation coordinate base: 3\n");
98102
fprintf(stderr, " (CONST)\n");
99103
fprintf(stderr, " A 2303.4430 5622.9030 149.3070 2302.8540 5623.2230 148.8560\n");
@@ -116,7 +120,7 @@ void geodeform500usage()
116120
int main(int argc, char *argv[])
117121
{
118122
char buf[1024], name[32], format4[128], format7[128];
119-
double x[3], y[3], wgt, dy[3];
123+
double x[3], y[3], xcp[3], ycp[3], wgt, dy[3];
120124
double xd[1500], dxd[1500], r2, r2d[500], w[500], s;
121125
unsigned n, i, j, k;
122126
int np;
@@ -175,6 +179,39 @@ int main(int argc, char *argv[])
175179
exit(EXIT_FAILURE);
176180
}
177181

182+
for (j = 0; j < 3; j++)
183+
{
184+
xcp[j] = 0.0;
185+
ycp[j] = 0.0;
186+
}
187+
n = 0;
188+
s = 0;
189+
while (fgets(buf, 1024, fp0) != NULL)
190+
{
191+
np = sscanf(buf, "%s %lf %lf %lf %lf %lf %lf %lf", name, &x[0], &x[1], &x[2], &y[0], &y[1], &y[2], &wgt);
192+
if (np >= 8)
193+
{
194+
for (i = 0; i < 3; i++)
195+
{
196+
xcp[i] += (x[i] * wgt);
197+
ycp[i] += (y[i] * wgt);
198+
}
199+
s += wgt;
200+
n++;
201+
}
202+
}
203+
if (s > 0.0)
204+
{
205+
for (j = 0; j < 3; j++)
206+
{
207+
xcp[j] /= s;
208+
ycp[j] /= s;
209+
}
210+
}
211+
fprintf(fp1, "Mean: %d\n", n);
212+
fprintf(fp1, format7, "M", xcp[0], xcp[1], xcp[2], ycp[0], ycp[1], ycp[2]);
213+
rewind(fp0);
214+
178215
n = 0;
179216
for (j = 0; j < 1500; j++)
180217
{
@@ -192,7 +229,7 @@ int main(int argc, char *argv[])
192229
for (i = 0; i < 3; i++)
193230
{
194231
xd[j + i] = x[i];
195-
dxd[j + i] = y[i] - x[i];
232+
dxd[j + i] = (y[i] - ycp[i]) - (x[i] - xcp[i]);
196233
r2 += (dxd[i + j] * dxd[i + j]);
197234
}
198235
r2d[n] = r2 * wgt;
@@ -210,7 +247,7 @@ int main(int argc, char *argv[])
210247
np = sscanf(buf, "%s %lf %lf %lf %lf %lf %lf %lf", name, &x[0], &x[1], &x[2], &y[0], &y[1], &y[2], &wgt);
211248
if (np >= 4)
212249
{
213-
s = 0;
250+
s = 0.0;
214251
for (i = 0; i < n; i++)
215252
{
216253
if (r2d[i] >= 0.0)
@@ -233,7 +270,7 @@ int main(int argc, char *argv[])
233270
w[i] = 0.0;
234271
}
235272
}
236-
if (s > 0)
273+
if (s > 0.0)
237274
{
238275
s = 1.0 / s;
239276
for (i = 0; i < n; i++)
@@ -249,7 +286,7 @@ int main(int argc, char *argv[])
249286
dy[i] += dxd[k] * w[j];
250287
k += 3;
251288
}
252-
y[i] = x[i] + dy[i];
289+
y[i] = x[i] + dy[i] + (ycp[i] - xcp[i]);
253290
}
254291
}
255292
else

src/geofindkey.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/*
22
Name: geofindkey.c
33
OldName: findkey.c
4-
Version: 2.8
5-
Date: 2021-12-15
4+
Version: 2.9
5+
Date: 2021-12-19
66
Author: Игорь Белов (https://gis-lab.info/forum/memberlist.php?mode=viewprofile&u=10457)
77
Author: zvezdochiot (https://github.com/zvezdochiot)
88
Author: Zoltan Siki (https://github.com/zsiki)
@@ -62,7 +62,7 @@ output file report.dat:
6262
#include <unistd.h>
6363

6464
#define PNAME "GeoFindKey"
65-
#define PVERSION "2.8"
65+
#define PVERSION "2.9"
6666

6767
#define defMScale "NORM"
6868
#define defREarth 6370009.0

0 commit comments

Comments
 (0)