Pages: 1
- Sujet précédent - transformer du wkt en shp dans une appli en vb pour arcview3.2 - Sujet suivant
#1 Mon 24 April 2006 14:18
- TiT0f
- Participant occasionnel
- Date d'inscription: 24 Apr 2006
- Messages: 11
transformer du wkt en shp dans une appli en vb pour arcview3.2
transformer du wkt en shp dans une appli en vb pour arcview3.2
Hors ligne
#2 Mon 24 April 2006 16:03
- TiT0f
- Participant occasionnel
- Date d'inscription: 24 Apr 2006
- Messages: 11
Re: transformer du wkt en shp dans une appli en vb pour arcview3.2
Dailleurs est ce que c'est possible?
Hors ligne
#3 Tue 25 April 2006 11:56
- TiT0f
- Participant occasionnel
- Date d'inscription: 24 Apr 2006
- Messages: 11
Re: transformer du wkt en shp dans une appli en vb pour arcview3.2
Sinon il n'existe pas des applications qui transforment le wtk en shp en gardant des données attributaires?
Hors ligne
#4 Thu 27 April 2006 12:17
- oDevArc
- Juste Inscrit !
- Date d'inscription: 7 Sep 2005
- Messages: 7
Re: transformer du wkt en shp dans une appli en vb pour arcview3.2
Bonjour,
Le "secret" pour transformer du WKT en entités (dans notre cas en
objets ESRI.MapObjects) passe par les expressions régulières
disponibles avec la référence "Microsoft VBScript Regular Expression
5.5" ("C:WINDOWSsystem32vbscript.dll") normalement présente sur
windows XP.
Public Const CoordPattern =
"(([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+))"
Public Const PointPattern = "(" & CoordPattern & "( +" &
CoordPattern & "){1,2})"
'---------
' Methode : GetPoints
' Entrée : Une chaine WKT de Points
' Sortie : Une MatchCollection de points de type string
' Description : Extrait les points d'une chaine. Les points
peuvent
' être de type 2D ou 3D et les coordonnées sont
séparés
' par des espaces.
' Un Point 3D pourrait avoir cette forme : (10.0 15
0)
'
Private Function GetPoints(ByVal Str As String) As MatchCollection
Dim Matches As MatchCollection
Dim Reg As New RegExp
Reg.Global = True
Reg.Pattern = PointPattern
Set Matches = Reg.Execute(Str)
Set GetPoints= Matches
'-- On affiche les points
Dim Mtch As Match
For Each Mtch In Matches
Debug.Print "Point =" & Mtch.Value
Next
End Function
A partir de cette collection de points il est facile de "reconstruire"
une collection de Points MapObject, donc des lignes et des polygones.
Olivier
Hors ligne
#5 Thu 27 April 2006 15:24
- TiT0f
- Participant occasionnel
- Date d'inscription: 24 Apr 2006
- Messages: 11
Re: transformer du wkt en shp dans une appli en vb pour arcview3.2
Bonjour,
Le "secret" pour transformer du WKT en entités (dans notre cas en
objets ESRI.MapObjects) passe par les expressions régulières
disponibles avec la référence "Microsoft VBScript Regular Expression
5.5" ("C:WINDOWSsystem32vbscript.dll") normalement présente sur
windows XP.
Public Const CoordPattern =
"(([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+))"
Public Const PointPattern = "(" & CoordPattern & "( +" &
CoordPattern & "){1,2})"
'---------
' Methode : GetPoints
' Entrée : Une chaine WKT de Points
' Sortie : Une MatchCollection de points de type string
' Description : Extrait les points d'une chaine. Les points
peuvent
' être de type 2D ou 3D et les coordonnées sont
séparés
' par des espaces.
' Un Point 3D pourrait avoir cette forme : (10.0 15
0)
'
Private Function GetPoints(ByVal Str As String) As MatchCollection
Dim Matches As MatchCollection
Dim Reg As New RegExp
Reg.Global = True
Reg.Pattern = PointPattern
Set Matches = Reg.Execute(Str)
Set GetPoints= Matches
'-- On affiche les points
Dim Mtch As Match
For Each Mtch In Matches
Debug.Print "Point =" & Mtch.Value
Next
End Function
A partir de cette collection de points il est facile de "reconstruire"
une collection de Points MapObject, donc des lignes et des polygones.
Olivier
Merci !!!
Dernière modification par TiT0f (Thu 27 April 2006 15:49)
Hors ligne
Pages: 1
- Sujet précédent - transformer du wkt en shp dans une appli en vb pour arcview3.2 - Sujet suivant