Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xplot_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
digit_plot
xplot_server
Commits
540c0826
Commit
540c0826
authored
Nov 10, 2024
by
dliangx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
e2688d48
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
22 deletions
+44
-22
geo/area.go
+44
-22
No files found.
geo/area.go
View file @
540c0826
...
@@ -2,7 +2,9 @@ package geo
...
@@ -2,7 +2,9 @@ package geo
import
(
import
(
"database/sql"
"database/sql"
"encoding/json"
"fmt"
"fmt"
"time"
"com.dliangx.xplot/appserver/model"
"com.dliangx.xplot/appserver/model"
)
)
...
@@ -24,21 +26,23 @@ func SaveRoute(line model.GeoJson) (model.OptRoute, error) {
...
@@ -24,21 +26,23 @@ func SaveRoute(line model.GeoJson) (model.OptRoute, error) {
// 插入数据
// 插入数据
var
route
model
.
OptRoute
var
route
model
.
OptRoute
jsonGeometry
,
_
:=
json
.
Marshal
(
line
.
Geometry
)
jsonProperties
,
_
:=
json
.
Marshal
(
line
.
Properties
)
if
line
.
Opt
==
1
{
if
line
.
Opt
==
1
{
err
=
tx
.
QueryRow
(
`
err
=
tx
.
QueryRow
(
`
INSERT INTO opt_routes (type, geometry, properties, opt_time)
INSERT INTO opt_routes (type, geometry, properties, opt_time)
VALUES ($1, ST_GeomFromGeoJSON($2), $3, now())
VALUES ($1, ST_GeomFromGeoJSON($2), $3, now())
RETURNING id
, type, properties, opt_time
RETURNING id
`
,
line
.
Type
,
line
.
Geometry
,
line
.
Properties
)
.
Scan
(
`
,
line
.
Type
,
string
(
jsonGeometry
),
string
(
jsonProperties
)
)
.
Scan
(
&
route
.
ID
,
&
route
.
Type
,
&
route
.
Properties
,
&
route
.
OptTime
,
&
route
.
ID
,
)
)
}
else
if
line
.
Opt
==
2
{
}
else
if
line
.
Opt
==
2
{
err
=
tx
.
QueryRow
(
`
err
=
tx
.
QueryRow
(
`
INSERT INTO opt_fly_routes (type, geometry, properties, opt_time)
INSERT INTO opt_fly_routes (type, geometry, properties, opt_time)
VALUES ($1, ST_GeomFromGeoJSON($2), $3, now())
VALUES ($1, ST_GeomFromGeoJSON($2), $3, now())
RETURNING id
, type, properties, opt_time
RETURNING id
`
,
line
.
Type
,
line
.
Geometry
,
line
.
Properties
)
.
Scan
(
`
,
line
.
Type
,
string
(
jsonGeometry
),
string
(
jsonProperties
)
)
.
Scan
(
&
route
.
ID
,
&
route
.
Type
,
&
route
.
Properties
,
&
route
.
OptTime
,
&
route
.
ID
,
)
)
}
}
...
@@ -50,7 +54,10 @@ func SaveRoute(line model.GeoJson) (model.OptRoute, error) {
...
@@ -50,7 +54,10 @@ func SaveRoute(line model.GeoJson) (model.OptRoute, error) {
if
err
=
tx
.
Commit
();
err
!=
nil
{
if
err
=
tx
.
Commit
();
err
!=
nil
{
return
model
.
OptRoute
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
return
model
.
OptRoute
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
}
}
route
.
Type
=
line
.
Type
route
.
OptTime
=
time
.
Now
()
route
.
Geometry
=
line
.
Geometry
route
.
Properties
=
line
.
Properties
return
route
,
nil
return
route
,
nil
}
}
...
@@ -68,12 +75,14 @@ func SaveOptArea(optArea model.GeoJson) (model.OptArea, error) {
...
@@ -68,12 +75,14 @@ func SaveOptArea(optArea model.GeoJson) (model.OptArea, error) {
defer
tx
.
Rollback
()
defer
tx
.
Rollback
()
var
area
model
.
OptArea
var
area
model
.
OptArea
jsonGeometry
,
_
:=
json
.
Marshal
(
optArea
.
Geometry
)
jsonProperties
,
_
:=
json
.
Marshal
(
optArea
.
Properties
)
err
=
tx
.
QueryRow
(
`
err
=
tx
.
QueryRow
(
`
INSERT INTO opt_areas (type, geometry, properties, opt_time)
INSERT INTO opt_areas (type, geometry, properties, opt_time)
VALUES ($1, ST_GeomFromGeoJSON($2), $3, now())
VALUES ($1, ST_GeomFromGeoJSON($2), $3, now())
RETURNING id
, type, properties, opt_time
RETURNING id
`
,
optArea
.
Type
,
optArea
.
Geometry
,
optArea
.
Properties
)
.
Scan
(
`
,
optArea
.
Type
,
string
(
jsonGeometry
),
string
(
jsonProperties
)
)
.
Scan
(
&
area
.
ID
,
&
area
.
Type
,
&
area
.
Properties
,
&
area
.
OptTime
,
&
area
.
ID
,
)
)
if
err
!=
nil
{
if
err
!=
nil
{
return
model
.
OptArea
{},
fmt
.
Errorf
(
"insert area failed: %w"
,
err
)
return
model
.
OptArea
{},
fmt
.
Errorf
(
"insert area failed: %w"
,
err
)
...
@@ -82,7 +91,10 @@ func SaveOptArea(optArea model.GeoJson) (model.OptArea, error) {
...
@@ -82,7 +91,10 @@ func SaveOptArea(optArea model.GeoJson) (model.OptArea, error) {
if
err
=
tx
.
Commit
();
err
!=
nil
{
if
err
=
tx
.
Commit
();
err
!=
nil
{
return
model
.
OptArea
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
return
model
.
OptArea
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
}
}
area
.
Type
=
optArea
.
Type
area
.
OptTime
=
time
.
Now
()
area
.
Geometry
=
optArea
.
Geometry
area
.
Properties
=
optArea
.
Properties
return
area
,
nil
return
area
,
nil
}
}
...
@@ -100,23 +112,25 @@ func UpdateRoute(line model.GeoJson) (model.OptRoute, error) {
...
@@ -100,23 +112,25 @@ func UpdateRoute(line model.GeoJson) (model.OptRoute, error) {
defer
tx
.
Rollback
()
defer
tx
.
Rollback
()
var
route
model
.
OptRoute
var
route
model
.
OptRoute
jsonGeometry
,
_
:=
json
.
Marshal
(
line
.
Geometry
)
jsonProperties
,
_
:=
json
.
Marshal
(
line
.
Properties
)
if
line
.
Opt
==
1
{
if
line
.
Opt
==
1
{
err
=
tx
.
QueryRow
(
`
err
=
tx
.
QueryRow
(
`
UPDATE opt_routes
UPDATE opt_routes
SET type = $1, geometry = ST_GeomFromGeoJSON($2), properties = $3, opt_time = now()
SET type = $1, geometry = ST_GeomFromGeoJSON($2), properties = $3, opt_time = now()
WHERE id = $4
WHERE id = $4
RETURNING id
, type, properties, opt_time
RETURNING id
`
,
line
.
Type
,
line
.
Geometry
,
line
.
Properties
,
line
.
ID
)
.
Scan
(
`
,
line
.
Type
,
string
(
jsonGeometry
),
string
(
jsonProperties
)
,
line
.
ID
)
.
Scan
(
&
route
.
ID
,
&
route
.
Type
,
&
route
.
Properties
,
&
route
.
OptTime
,
&
route
.
ID
,
)
)
}
else
if
line
.
Opt
==
2
{
}
else
if
line
.
Opt
==
2
{
err
=
tx
.
QueryRow
(
`
err
=
tx
.
QueryRow
(
`
UPDATE opt_fly_routes
UPDATE opt_fly_routes
SET type = $1, geometry = ST_GeomFromGeoJSON($2), properties = $3, opt_time = now()
SET type = $1, geometry = ST_GeomFromGeoJSON($2), properties = $3, opt_time = now()
WHERE id = $4
WHERE id = $4
RETURNING id
, type, properties, opt_time
RETURNING id
`
,
line
.
Type
,
line
.
Geometry
,
line
.
Properties
,
line
.
ID
)
.
Scan
(
`
,
line
.
Type
,
string
(
jsonGeometry
),
string
(
jsonProperties
)
,
line
.
ID
)
.
Scan
(
&
route
.
ID
,
&
route
.
Type
,
&
route
.
Properties
,
&
route
.
OptTime
,
&
route
.
ID
,
)
)
}
}
...
@@ -127,7 +141,10 @@ func UpdateRoute(line model.GeoJson) (model.OptRoute, error) {
...
@@ -127,7 +141,10 @@ func UpdateRoute(line model.GeoJson) (model.OptRoute, error) {
if
err
=
tx
.
Commit
();
err
!=
nil
{
if
err
=
tx
.
Commit
();
err
!=
nil
{
return
model
.
OptRoute
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
return
model
.
OptRoute
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
}
}
route
.
Type
=
line
.
Type
route
.
OptTime
=
time
.
Now
()
route
.
Geometry
=
line
.
Geometry
route
.
Properties
=
line
.
Properties
return
route
,
nil
return
route
,
nil
}
}
...
@@ -145,13 +162,15 @@ func UpdateOptArea(optArea model.GeoJson) (model.OptArea, error) {
...
@@ -145,13 +162,15 @@ func UpdateOptArea(optArea model.GeoJson) (model.OptArea, error) {
defer
tx
.
Rollback
()
defer
tx
.
Rollback
()
var
area
model
.
OptArea
var
area
model
.
OptArea
jsonGeometry
,
_
:=
json
.
Marshal
(
optArea
.
Geometry
)
jsonProperties
,
_
:=
json
.
Marshal
(
optArea
.
Properties
)
err
=
tx
.
QueryRow
(
`
err
=
tx
.
QueryRow
(
`
UPDATE opt_areas
UPDATE opt_areas
SET type = $1, geometry = ST_GeomFromGeoJSON($2), properties = $3, opt_time = now()
SET type = $1, geometry = ST_GeomFromGeoJSON($2), properties = $3, opt_time = now()
WHERE id = $4
WHERE id = $4
RETURNING id
, type, properties, opt_time
RETURNING id
`
,
optArea
.
Type
,
optArea
.
Geometry
,
optArea
.
Properties
,
optArea
.
ID
)
.
Scan
(
`
,
optArea
.
Type
,
string
(
jsonGeometry
),
string
(
jsonProperties
)
,
optArea
.
ID
)
.
Scan
(
&
area
.
ID
,
&
area
.
Type
,
&
area
.
Properties
,
&
area
.
OptTime
,
&
area
.
ID
,
)
)
if
err
!=
nil
{
if
err
!=
nil
{
return
model
.
OptArea
{},
fmt
.
Errorf
(
"update area failed: %w"
,
err
)
return
model
.
OptArea
{},
fmt
.
Errorf
(
"update area failed: %w"
,
err
)
...
@@ -160,7 +179,10 @@ func UpdateOptArea(optArea model.GeoJson) (model.OptArea, error) {
...
@@ -160,7 +179,10 @@ func UpdateOptArea(optArea model.GeoJson) (model.OptArea, error) {
if
err
=
tx
.
Commit
();
err
!=
nil
{
if
err
=
tx
.
Commit
();
err
!=
nil
{
return
model
.
OptArea
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
return
model
.
OptArea
{},
fmt
.
Errorf
(
"commit transaction failed: %w"
,
err
)
}
}
area
.
Type
=
optArea
.
Type
area
.
OptTime
=
time
.
Now
()
area
.
Geometry
=
optArea
.
Geometry
area
.
Properties
=
optArea
.
Properties
return
area
,
nil
return
area
,
nil
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment