Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"python.pythonPath": "/usr/bin/python"
}
23 changes: 1 addition & 22 deletions InitGui.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,25 +35,6 @@

windowCreated = 0

# http://www.bkg.bund.de/nn_159902/EN/FederalOffice/Products/Geo-Data/Geo__Data__node.html__nnn=true
#import sys
#for p in sys.path:
# print(p)

'''
try:
import importlib
def reload(a):
importlib.reload(a)
except:
pass
>>>>>>> Stashed changes

def reload(a):
import importlib
importlib.reload(a)
'''

try:
import cv2
except:
Expand All @@ -70,9 +51,7 @@ def reload(a):


import FreeCAD,FreeCADGui
import sys

reload(sys)

#---------------------------------------------------------------------------
# define the Commands of the Test Application module
Expand Down Expand Up @@ -460,7 +439,7 @@ def IsActive(self):
def Activated(self):


import re
import re, sys
ta=True
if ta:
FreeCAD.ActiveDocument.openTransaction(self.name)
Expand Down
2 changes: 1 addition & 1 deletion geodat/elevationgrid.py
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ def createElevationGrid(mode,rbfmode=True,source=None,gridCount=20,zfactor=20,bo
}

say("Source",source,"mode",mode)
if source<>None:
if source is not None:

if hasattr(source,"Shape"):
# part object
Expand Down
4 changes: 3 additions & 1 deletion geodat/import_aster.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,14 @@ def import_ast(b=50.26,l=11.39):
example .../.FreeCAD/geodat/AST/ASTGTM2_N51E010_dem.tif
'''

import numpy as np

bs=np.floor(b)
ls=np.floor(l)

# the ast dataset
ff="N%02dE%03d" % (int(bs),int(ls))
fn=FreeCAD.ConfigGet("UserAppData") +'/geodat/AST/ASTGTM2_' + ff +'_dem.tif'
fn=FreeCAD.ConfigGet("UserAppData") +'geodat/AST/ASTGTM2_' + ff +'_dem.tif'
print(fn)

'''
Expand Down
225 changes: 96 additions & 129 deletions geodat/import_csv.py
Original file line number Diff line number Diff line change
@@ -1,106 +1,77 @@
# -*- coding: utf-8 -*-
#-------------------------------------------------
#-- geodat import csv
#--
#-- microelly 2016 v 0.1
#--
#-- GNU Lesser General Public License (LGPL)
#-------------------------------------------------


# -------------------------------------------------
# -- geodat import csv
# --
# -- microelly 2016 v 0.1
# --
# -- GNU Lesser General Public License (LGPL)
# -------------------------------------------------

import FreeCAD
import FreeCADGui
import Part
import Draft
from geodat.transversmercator import TransverseMercator
from geodat.say import *
import csv
import re

import sys
if sys.version_info[0] !=2:
from importlib import reload

import FreeCAD,FreeCADGui, Part
App=FreeCAD
Gui=FreeCADGui

import geodat.transversmercator
from geodat.transversmercator import TransverseMercator

import csv,re

'''
example data csv

50.3729107;11.1913920;"l";"b"
50.3731789;11.1919306;"l";"b"
50.3732226;11.1920048;"l";"b"
50.3732894;11.1920829;"l";"b"
50.3734014;11.1900516;"l";"b"
50.3736555;11.1906749;"l";"b"
50.3734900;11.1904810;"l";"b"
50.3734923;11.1905679;"l";"b"


# python data ...

origin=(50.3729107,11.1913920)

data=[
[50.3729107, 11.1913920, "l", "b"],
[50.3731789, 11.1919306, "l", "b"],
[50.3732226, 11.1920048, "l", "b"],
[50.3732894, 11.1920829, "l", "b"],
[50.3734014, 11.1900516, "l", "b"],
[50.3736555, 11.1906749, "l", "b"],
[50.3734900, 11.1904810, "l", "b"],
[50.3734923, 11.1905679, "l", "b"],
]

'''


def import_csv(fn,orig,datatext=None):
# lat lon
yy=orig.split(',')
origin=(float(yy[0]),float(yy[1]))

data=[]
if len(datatext) != 0:
lines=datatext.split('\n')
for l in lines:
pp=re.split("( )+",l)
if len(pp)==1:
continue
if len(pp)<3:
raise Exception("Syntax error in 'direct Data input'")
data.append([str(pp[0]),str(pp[2])])
print(data)
else:
with open(fn, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
print (reader)
for row in reader:
data.append(row)

tm=TransverseMercator()
tm.lat=origin[0]
tm.lon=origin[1]
center=tm.fromGeographic(tm.lat,tm.lon)

points=[]
for p in data:
lat,lon = p[0],p[1]
ll=tm.fromGeographic(float(lat),float(lon))
points.append( FreeCAD.Vector(ll[0]-center[0],ll[1]-center[1],0.0))

import Draft
points.append(points[0])
Draft.makeWire(points)

po=App.ActiveDocument.ActiveObject
po.ViewObject.LineColor=(1.0,0.0,0.0)
po.MakeFace = False

App.activeDocument().recompute()
Gui.SendMsgToActiveView("ViewFit")


s6='''
if sys.version_info[0] != 2:
from importlib import reload

App = FreeCAD
Gui = FreeCADGui


def import_csv(fn, orig, datatext=None):
# lat lon
yy = orig.split(',')
origin = (float(yy[0]), float(yy[1]))

data = []
if len(datatext) != 0:
lines = datatext.split('\n')
for l in lines:
pp = re.split("( )+", l)
if len(pp) == 1:
continue
if len(pp) < 3:
raise Exception("Syntax error in 'direct Data input'")

data.append([str(pp[0]), str(pp[2])])

else:
with open(fn, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
print(reader)
for row in reader:
data.append(row)

tm = TransverseMercator()
tm.lat = origin[0]
tm.lon = origin[1]
center = tm.fromGeographic(tm.lat, tm.lon)

points = []
for p in data:
lat, lon = p[0], p[1]
ll = tm.fromGeographic(float(lat), float(lon))
points.append(FreeCAD.Vector(ll[0]-center[0], ll[1]-center[1], 0.0))


points.append(points[0])
Draft.makeWire(points)

po = App.ActiveDocument.ActiveObject
po.ViewObject.LineColor = (1.0, 0.0, 0.0)
po.MakeFace = False

App.activeDocument().recompute()
Gui.SendMsgToActiveView("ViewFit")


s6 = '''
MainWindow:
VerticalLayout:
id:'main'
Expand All @@ -113,7 +84,7 @@ def import_csv(fn,orig,datatext=None):
setText:"Data input filename"

QtGui.QLineEdit:
setText:"/home/thomas/.FreeCAD/Mod/geodat/testdata/csv_example.csv"
setText:"Select *.csv file"
id: 'bl'

QtGui.QPushButton:
Expand Down Expand Up @@ -142,48 +113,44 @@ def import_csv(fn,orig,datatext=None):

'''

import FreeCAD,FreeCADGui

class MyApp(object):

def run(self):
filename=self.root.ids['bl'].text()
try:
import_csv(
filename,
self.root.ids['orig'].text(),
self.root.ids['data'].toPlainText(),
)
except:
sayexc()

def getfn(self):
fileName = QtGui.QFileDialog.getOpenFileName(None,u"Open File",u"/tmp/");
s=self.root.ids['bl']
s.setText(fileName[0])
def run(self):
filename = self.root.ids['bl'].text()
try:
import_csv(
filename,
self.root.ids['orig'].text(),
self.root.ids['data'].toPlainText(),
)
except:
sayexc()

def getfn(self):
fileName = QtGui.QFileDialog.getOpenFileName(None, u"Open File", u"/tmp/")
s = self.root.ids['bl']
s.setText(fileName[0])


def importCSV():
app=MyApp()

import geodat.miki as miki
#reload(miki)
app = MyApp()

import geodat.miki as miki
# reload(miki)

miki=miki.Miki()
miki.app=app
app.root=miki
miki = miki.Miki()
miki.app = app
app.root = miki

miki.parse2(s6)
miki.run(s6)
return miki
miki.parse2(s6)
miki.run(s6)
return miki


# mydialog()



def runtest():
m=mydialog()
m.objects[0].hide()
m = mydialog()
m.objects[0].hide()
14 changes: 7 additions & 7 deletions geodat/import_emir.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

from geodat.say import *

import FreeCAD,FreeCADGui, Part
import FreeCAD, FreeCADGui, Part
App=FreeCAD
Gui=FreeCADGui

Expand Down Expand Up @@ -42,20 +42,20 @@
def parsedata(lines):

print(lines)
a=lines[0].split()
dat={}
a=lines[0].split()
a=lines[0].decode().split()
dat[a[0]]=int(a[1])
a=lines[1].split()

a=lines[1].decode().split()
dat[a[0]]=int(a[1])

a=lines[2].split()
a=lines[2].decode().split()
dat[a[0]]=float(a[1])

a=lines[3].split()
a=lines[3].decode().split()
dat[a[0]]=float(a[1])

a=lines[4].split()
a=lines[4].decode().split()
dat[a[0]]=float(a[1])

a=[]
Expand Down
Loading