顯示具有 geometry 標籤的文章。 顯示所有文章
顯示具有 geometry 標籤的文章。 顯示所有文章

2020年5月26日

MSSQL 如何知道 geometry 是什麼坐標系統?


STSrid



參考資料:


如何使用 MSSQL 取得 geometry Point 是否位於 Polygon 內?

使用 STContains 而不是 STWithin 

範例如下:

SELECT [ogr_fid]
      ,[geometry]
      ,[countyid]
      ,[countyname]
      ,[COUNTY_CODE] 
  FROM [WraLandMap].[dbo].[map_county] 
  where geometry::STGeomFromText([geometry].STAsText( ), 4326).MakeValid().STContains(geometry::STGeomFromText('POINT(277466 2681304)', 4326))  = 1





2019年1月10日

ARKit Geometry 旋轉


func addBox() {
        
        let box = SCNBox(width: 0.5, height: 0.5, length: 0.5, chamferRadius: 0)
        box.firstMaterial?.diffuse.contents="art.scnassets/10.jpg";
        
        let boxNode = SCNNode()
        boxNode.geometry = box
        boxNode.position = SCNVector3(0, 0, -2)
        
        addAnimation(node: boxNode)
        
        let scene = SCNScene()
        scene.rootNode.addChildNode(boxNode)
        sceneView.scene = scene
        
}
    
//旋轉 參考 https://medium.com/s23nyc-tech/arkit-scenekit-and-how-to-control-the-world-dc7377eb1dc6
func addAnimation(node: SCNNode) {
        let rotateOne = SCNAction.rotateBy(x: 0, y: CGFloat(Float.pi), z: 0, duration: 5.0)
        let repeatForever = SCNAction.repeatForever(rotateOne)
        node.runAction(repeatForever)

}

2018年9月26日

PostgreSQL 連立一個能使用 geometry 資料型態的資料表

當建立一個新的 Database 的時候,並不會在 Extensions 中建立 postgis,使得我們在沒有 postgis 的功能下,
無法新增 geometry 的資料型態,出現 「No results found」的訊息。

如圖1:
圖1


以下是建立的方式:在 Extensions 按滑鼠右鍵後,Create >> Extension… 如圖2
圖2


在 General >> Name 填入 postgis,按下 Save。(圖3)


在 Schemas >> public >> Tables 會出現 spatial_ref_sys 這才代表建立成功。(圖4)
圖4


這個時候,就可以在 Schemas >> Tables 建立新的 Table (圖5)



圖5

PostGIS geometry SQL 指令

INSERT INTO
INSERT INTO new_t
(
    id,
    geom
)
VALUES
(
    '7cbe6b84-34d5-4fde-b42f-306e0adbe4b9',
    ST_GeomFromText('POINT(38.86498478900006 -76.97811568899994)',4326)
)



PostGIS 點對點的距離換算,參考資料
https://postgis.net/docs/ST_Distance.html

SELECT ST_Distance(
ST_GeomFromText('POINT(38.86509976200006 -76.97663465999995)',4326),
point
) from city_table;